Offline Transaction File Submission Implementation Guide

This section describes how to use this guide and where to find further information.
Audience and Purpose
This guide is written for merchants who want to submit multiple payment transaction requests to
Cybersource
for offline transaction processing. CSV files that contain transaction requests can be uploaded in two ways: at the
Cybersource
Business Center
or by using
the
Cybersource
REST API
IMPORTANT
The Offline Transaction File Submission system ingests batched payment requests composed of fields from the Cybersource Simple Order API.
The Simple Order API fields you use to create transaction requests in a batch file are described in Reference: Request Fields for Batch Files.
If you normally use the SCMP API to request individual transactions, you need to know which Simple Order API fields correspond to the SCMP API fields with which you are familiar.
Conventions
The following special statement is used in this document:
IMPORTANT
An
Important
statement contains information essential to successfully completing a task or learning a concept.
Related Documentation
Visit the
Cybersource
documentation hub
to find additional technical documentation.
Customer Support
For support information about any service, visit the Support Center:

Recent Revisions to This Document

26.03.01

Initial release.

Introduction to Offline Transaction File Submission

Cybersource
supports the offline processing multiple payment requests specified in a single file. Instead of submitting individual requests, you can submit a file that contains a set, or
batch
, of transaction requests. You specify the same information for a batched request as you would specify for an individually submitted request. One
batch file
can include transactions that use different services, currencies, countries, merchant IDs, and card types, thus eliminating the burden of handling these values separately.
This guide describes how to upload a batch file using the
Cybersource
Business Center
UI as well has how to upload an
encrypted batch file
using the REST API.
Cybersource
attempts to validate the contents of the uploaded batch file and, if any errors are detected in the file, none of the batched requests are processed. File validation results and transaction processing results are available through email notifications, results files, and downloadable reports.
IMPORTANT
Cybersource
recommends against using the batch upload feature for TID-based processors or APACS-based processors. With these processors, transactions submitted through batch files can result in timeouts and errors. For more information, contact customer support.

Payment Services Supported

Cybersource
supports batched transaction requests for these payment services:
  • Authorization
  • Sale
  • Capture
  • Credit
  • Voids
  • ACH debit
  • ACH credit
However, batched transaction requests for these payment services are not supported:
  • Payer authentication enrollment check (
    payerAuthEnrollService
    )
  • Bank transfer (
    bankTransferService
    )
  • PayPal button creation (
    payPalButtonCreateService
    )
  • PayPal credit (
    payPalCreditService
    )

Requirements for Uploading Batch Files

  • Your local machine is running J2SE 17 or newer
  • Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy files have been downloaded from the Oracle Java SE download page and they are installed on your local machine:
    • US_export_policy.jar
    • local_policy.jar
    The files are available at http://www.oracle.com/technetwork/java/javase/downloads/index.html.

Batch Files and Batch File Templates

A transaction batch file is a CSV-formatted file that consists of a header, a set of transaction requests, and a trailer. To create a batch file, you begin with a copy of a batch file template and replace field placeholders with values for the header, transaction requests, and trailer rows.
You can download templates from the
Cybersource
>
Business Center
, or you can use a custom template that you tailor to your specific needs. At the
Business Center
, you can download a batch file template for each payment service supported for batched payment transactions: authorizations, sales, captures, credits
, ACH service debits, and ACH service debits
.
You can download templates from the
Cybersource
Business Center
, or you can use a custom template that you tailor to your specific needs. At the
Business Center
, you can download a batch file template for each payment service supported for batched payment transactions: authorizations, sales, captures, credits, ACH service debits, ACH service debits, and subscriptions.
IMPORTANT
The services that you enable for your account might prevent you from uploading files for some transaction types. if you have questions about which transaction requests you can upload in a batch file, contact customer support.
For more information, see the topics in Managing Templates and Batch Files.

Validation and Processing Results

You can find the results of batch file validation and subsequent transaction processing in these files and reports that you can download from the
Business Center
:
Email Notifications
Cybersource
sends email that reports failed or successful validation of batch files and for successful processing of batched transaction requests. For more information, see Viewing Email Notifications.
Batch Validation Response File
After a batch file is uploaded,
Cybersource
checks the validity of the batch file contents and then creates an XML file that shows whether the batch file validation succeeded or failed. If the batch file contains an error, none of the transaction requests are processed. See Viewing the Results of Batch File Validation.
Transaction Response Files
After batched transaction requests are processed,
Cybersource
creates two CSV-formatted files. One file lists processing results for all transactions, whether accepted, rejected, or error. The other file lists results only for any transactions that were rejected or that triggered a processing error. For more information, see Viewing the Results of Transaction Processing.
Transaction Request Report
This automatically generated report contains general information about the transaction requests that were uploaded from a batch file. For more information, see Viewing the Transaction Request Report.
Batch Submission Detail Report
This automatically generated report contains detailed information about the transaction requests that were uploaded from a batch file. For more information, see Viewing the Batch Submission Detail Report.
Payment Batch Detail Report
This transaction-level report lists the sales and refunds batch-submitted to your payment processor through the
Business Center
. You can download the report daily to determine which of your batched transactions have been settled. For information about scheduling Payment Batch Detail reports, see Configuring Payment Batch Detail Report Batch Times in
Getting Started with Business Center Reports
.

Flow of Batch File Submission and Transaction Processing

This sequence summarizes the flow of offline transaction file submission.
IMPORTANT
This guide covers two methods for uploading batch files. In this task list,
Task 2
pertains to batch file uploads performed at the
Cybersource
Business Center
.
Task 3
followed by
Task 4
pertains to batch file uploads initiated using the
Cybersource
REST API
.
  1. Create a CSV-formatted file of payment transaction requests.
    For details, see these topics:
  2. To upload the batched transaction requests at the
    Cybersource
    Business Center
    :
    1. Go to
      task 5
      to check that the batch file validated successfully.
  3. To set up a secure REST API connection by implementing a two-way SSL method to securely encrypt and authenticate API requests:
  4. To encrypt the batch file and upload it to
    Cybersource
    using the REST API:
  5. Check whether your batch file was validated successfully
    . Results are available through an optional email notification and in downloadable file validation results files.
  6. If the batch file contains an error,
    Cybersource
    does not submit any of the transaction requests for processing. Correct the error and submit the updated batch file.
  7. Check the transaction processing results.
    Results are available through an optional email notification, in downloadable transaction processing results files, and in downloadable reports.

Managing Templates and Batch Files

This section shows how to create a CSV-formatted transaction batch file using a template. Batch file templates are available at the
Cybersource
Business Center
, and you can also create custom batch file templates.
IMPORTANT
The services that you enable for your account might prevent you from uploading files for some transaction types. if you have questions about which transaction requests you can upload in a batch file, contact customer support.
The topics in this section cover this information:
  • The contents of a batch file template
  • Templates available at the
    Business Center
  • How to download templates from the
    Business Center
  • How to create a custom template
  • How to create a batch file
  • Example batch files

Batch File Templates

A template for a batch file contains these records:
  • A header record that contains required and optional fields for a header record
  • A data record that contains required and optional fields for a transaction request
In a batch file template, an asterisk after a field name indicates that the field is required for an authorization request. When you create a batch file based on a template, remove any asterisks from field names.
In a batch file, the names of the fields used to specify transaction requests are
Simple Order
API field names. More information about
Simple Order
API fields is available here:

Available Batch File Templates

Each batch file template available the
Business Center
covers only one type of transaction, but any batch file you submit to
Cybersource
can include transaction requests from any supported service.
Although a batch file can specify more than one type of transaction request,
Cybersource
recommends that you limit batch files to only one transaction request type. Doing so helps to maximize batch processing throughput.
Templates for these types of batch file transactions are available at the
Cybersource
Business Center
:
Authorizations
An authorization confirms that a payment card account holds sufficient funds to pay for a purchase. A successful authorization places a hold on the funds in the account, reducing the cardholder's available limits by the authorized amount. The name of the template file for authorizations is
authorizations-TEMPLATE.csv
.
Sales
A sale bundles an authorization and capture into a single transaction request. Upon a successful transaction, funds are immediately transferred from the cardholder account to the merchant account. The authorization and capture amounts must be the same. The
sales-TEMPLATE.csv
template supports these types of transactions:
  • Sales
  • Sales with Level III data
Captures
A capture, also known as
settlement
, transfers funds from the cardholder’s account to your bank and releases the hold that the authorization placed on the cardholder’s credit card funds. Include in the capture request message the request ID returned from the previous authorization. The
captures-TEMPLATE.csv
template supports these types of transactions:
  • Captures
  • Captures with Level III data
Credits
A
refund
(also known as a
follow-on credit
) is a payment refund from your bank to the cardholder for a payment that has already been captured. In the request, include the request ID that was returned in the response to the capture request. Unless otherwise specified, you must request a refund within 180 days of a settlement. The
credits-TEMPLATE.csv
template supports these types of transactions:
  • Credits
  • Original credit transactions (OCTs)
ACH Service
These templates are available for ACH service transactions:
  • The
    echeck-debits-TEMPLATE.csv
    template supports ACH service debits.
  • The
    echeck-credits-TEMPLATE.csv
    template supports ACH service credits.

Download a Batch File Template

  1. To download a batch file template from the
    Business Center
    :
  2. Log in at the
    Cybersource
    Business Center
    .

    ADDITIONAL INFORMATION

  3. On the left navigation panel, click
    Virtual Terminal
    and
    Batch Transaction Upload
    .

    ADDITIONAL INFORMATION

    The Batch Transaction Upload page appears.
  4. Click
    Download template
    .
  5. In drop-down menu, select the type of template that you want to download.

    ADDITIONAL INFORMATION

    The template downloads to your local machine.

Create a Custom Batch File Template

Custom batch file templates enable you to send batch files that contain information for transaction services not included with the standard template, such as direct debit and direct debit refunds.
IMPORTANT
You must generate two transaction security keys—one for the
Cybersource
production environment and one for the test environment. For information about generating and using security keys, see the
Creating and Using Security Keys User Guide
.
IMPORTANT
Files that include non-ISO-8859-1 characters are processed, but the characters appear as question marks when you view the transaction details in the
Business Center
and in reports.
If you normally use the SCMP API to request individual transactions, you need to know which Simple Order API fields correspond to the SCMP API fields with which you are familiar.
  1. To create a custom template using a spreadsheet application or custom script:
  2. Enter the file header information.

    ADDITIONAL INFORMATION

    These fields are required in the header:

    ADDITIONAL INFORMATION

    • merchantID
      : Your merchant identifier, which consists of up to 30 alphanumeric characters.
    • transactionType
      : The type of transaction requests contained in the batch file. Possible values:
      • authorization
      • sale
      • capture
      • credit
      • ecDebit
      • ecCredit
    • statusEmail
      : Email address where
      batch status alerts
      are sent.
    • recordCount
      : Change the value from 0 (which is invalid) to the number of transactions (data records) in the file.
    • targetAPIVersion
  3. Add this text string at the end of the file header, and make sure to include the leading comma:

    ADDITIONAL INFORMATION

    ,Template=custom

    ADDITIONAL INFORMATION

    This example shows the header portion of a custom batch file template:
    merchantID=infodev,batchID=12345,creationDate=2007-06-12, recordCount=3,purchaseTotals_currency=USD,[email protected], targetAPIVersion=1.90,
Template=custom
  4. Following the file header, beginning in row 4, add a data record for each payment transaction request.

    ADDITIONAL INFORMATION

    When you create a custom template from a standard template, request fields do not have to be in a specific order. For information about the supported fields in a transaction request, see Reference: Request Fields for Batch Files.
  5. Save the template.

Create a Batch File

This topic shows how to create a transaction batch file by using a provided template or a custom template. A transaction batch file specifies a set, or
batch
, of payment transactions that you can upload to
Cybersource
for offline processing.
Before you begin to create a batch file, be aware of these requirements, limitations, and recommendations:
  • File format
    —A batch file must be in CSV format. Use a template downloaded from the
    Business Center
    or a properly formatted custom template. See Download a Batch File Template and Create a Custom Batch File Template.
  • File size
    —A batch file must not be larger than 75 MB.
  • Number of transaction requests
    —
    Cybersource
    recommends that a batch file contains no more than 50,000 transaction requests.
  • Number of transaction types
    —
    Although a batch file can specify more than one type of transaction request,
    Cybersource
    recommends that you limit batch files to only one transaction request type. Doing so helps to maximize batch processing throughput.
  1. To create a batch file using a template:
  2. Begin to create your batch file by making a copy of a batch file template.

    ADDITIONAL INFORMATION

    • Filename format:
      <merchant-id>.<batch-id>
      .
    • Filename length: 255 characters or less
    • Valid characters: alphanumeric characters, non-ASCII characters, space characters, dashes, periods, and underscores only.
  3. Open the new batch file using Excel or a similar application.

    ADDITIONAL INFORMATION

    If you use Excel, make sure to
    import
    the file. If you
    open
    the file instead, Excel does not process the CSV formatting correctly.
  4. Specify up to 10 elements in the batch file header:

    ADDITIONAL INFORMATION

    Required fields are indicated in the template with an asterisk next to the name. Remove any asterisks from your batch file before you upload it, otherwise
    Cybersource
    will not process any transactions in your batch file.
  5. Load your transaction data into the batch file, beginning in row 4.

    ADDITIONAL INFORMATION

    The information that you provide for each request in the batch file is the same information that you would provide for an individual service request. The templates specify the required and optional fields for each transaction type included in the batch file template. For descriptions of the fields in a batch file data record, see the tables in Reference: Request Fields for Batch Files.
  6. You can enter the data in one of three ways:
    • Manually enter the information into the batch file.
    • Copy and paste the information into the batch file.
    • Write a script that loads the information into the batch file.

    ADDITIONAL INFORMATION

    Files that include non-ISO-8859-1 characters (letters with diacritical markings) are processed, but the characters appear as question marks when the transaction details are viewed in the
    Business Center
    and in the reports.
  7. Change the value of the file header field
    recordCount
    from 0 to the number of data records (transactions) in the file.
  8. Save the file.

Example Batch Files

This section contains example batch files for these types of transactions:
  • Authorization
  • Sale
  • Capture
  • Credit
  • Void

Example Batch File for an Authorization Request

This example shows a transaction batch file for a single authorization request.
merchantID=pa_cybs_nrtfmerdes_01,batchID=8jjz99m0,recordCount=1,[email protected],targetAPIVersion=1.86,creationDate=2025-02-19,reference= merchantID,merchantReferenceCode,merchantDefinedData_field1,ccAuthService_run,billTo_firstName,billTo_lastName,billTo_email,billTo_street1,billTo_city,billTo_state,billTo_country,billTo_postalCode,card_accountNumber,card_expirationMonth,card_expirationYear,card_cardType,purchaseTotals_currency,purchaseTotals_grandTotalAmount,item_#_productCode pa_cybs_nrtfmerdes_01,1,8111,true,Jay,Smith,[email protected],8 Mission Street,San Francisco,CA,US,94101,4111111111111111,01,2026,001,AUD,8.00,1 END,SUM=8.00

Example Batch File for a Sale Request

This example shows a transaction batch file for a single sale request.
merchantID=pa_cybs,batchID=8aai15st,recordCount=2,[email protected],targetAPIVersion=1.86,creationDate=2025-02-27,reference= merchantID,merchantReferenceCode,merchantDefinedData_field1,ccAuthService_run,billTo_firstName,billTo_lastName,billTo_email,billTo_street1,billTo_city,billTo_state,billTo_country,billTo_postalCode,card_accountNumber,card_expirationMonth,card_expirationYear,card_cardType,purchaseTotals_currency,purchaseTotals_grandTotalAmount,item_#_productCode,ccCaptureService_run pa_cybs,1,7804,true,Jay,Smith,[email protected],8 Mission Street,San Francisco,CA,US,94101,4111111111111111,01,2026,001,USD,8.00,1,true pa_cybs,2,5559,true,Jay,Smith,[email protected],8 Mission Street,San Francisco,CA,US,94101,4111111111111111,01,2026,001,USD,8.00,1,true END,SUM=16.00

Example Batch File for a Capture Request

This example shows a transaction batch file for a single capture request.
merchantID=pa_cybs_nrtfmerdes_01,batchID=9376kdt1,recordCount=1,[email protected],targetAPIVersion=1.86,creationDate=2024-01-09,reference=, merchantID,merchantReferenceCode,merchantDefinedData_field1,purchaseTotals_currency,purchaseTotals_grandTotalAmount,card_expirationYear,ccCaptureService_run,ccCaptureService_authRequestID pa_cybs_nrtfmerdes_01,1,8274,USD,8,2025,true,7258683749286256303096 END,SUM=8.00

Example Batch File for a Credit Request

This example shows a transaction batch file for a single credit request.
merchantID=pa_cybs_nrtfmerdes_01,batchID=1grxc9q0,recordCount=1,[email protected],targetAPIVersion=1.86,creationDate=2025-02-19,reference= merchantID,merchantReferenceCode,merchantDefinedData_field1,ccCreditService_run,billTo_firstName,billTo_lastName,billTo_email,billTo_street1,billTo_city,billTo_state,billTo_country,billTo_postalCode,card_accountNumber,card_expirationMonth,card_expirationYear,card_cardType,purchaseTotals_currency,purchaseTotals_grandTotalAmount,item_#_productCode,ccCreditService_commerceIndicator pa_cybs_nrtfmerdes_01,1,9506,true,Jay,Smith,[email protected],8 Mission Street,San Francisco,CA,US,94101,4111111111111111,01,2026,001,AUD,8.00,1,moto END,SUM=8.00

Example Batch File for a Void Request

This example shows a transaction batch file for a single void request.
merchantID=pa_cybs_nrtfmerdes_01,batchID=9376kdt1,recordCount=1,[email protected],targetAPIVersion=1.86,creationDate=2024-01-09,reference=, merchantID,merchantReferenceCode,merchantDefinedData_field1,purchaseTotals_currency,purchaseTotals_grandTotalAmount,card_expirationYear,voidService_run,voidService_voidRequestID pa_cybs_nrtfmerdes_01,1,8274,USD,8,2025,true,7258683749286256303096 END,SUM=8.00

Cybersource
Business Center
: Uploading a Batch File

The topics in this section cover this information:
  • How to upload a transaction batch file at the
    Cybersource
    Business Center
  • How to view the status of the upload process

Upload a Batch File at the
Business Center

This topic describes how to use the
Business Center
UI to upload a batch file of payment transaction requests to
Cybersource
.
  1. To upload a batch file at the
    Business Center
    UI:
  2. Log in at the
    Cybersource
    Business Center
    .

    ADDITIONAL INFORMATION

  3. On the left navigation panel, click
    Virtual Terminal
    and
    Batch Transaction Upload
    . The Batch Transaction Upload page appears.
  4. Click
    Upload Batch
    . The Batch Transaction Upload page appears.
  5. Optional: Enter any notes related to this batch of transactions.
  6. Required: Enter the email address to receive file upload status updates.
  7. Click
    Browse
    and navigate to the transaction batch file that you want to upload.
  8. Click
    Save
    .
    Cybersource
    uploads the batch file.

    ADDITIONAL INFORMATION

    As
    Cybersource
    validates and processes the batch file, the status grid appears on the Batch Transaction Upload page. The status changes as
    Cybersource
    validates the file and processes the payment transaction requests.

    ADDITIONAL INFORMATION

    Cybersource
    typically updates the status and sends a batch status email within 30 minutes of receiving the batch file. The transaction processing time depends on the time of day and the size of your file. For more information about each status, see Batch Processing Status.
  9. Receive the batch status alerts.

    ADDITIONAL INFORMATION

    When file validation or processing succeeds or fails,
    Cybersource
    sends a notification to the email address you provided when you uploaded the batch file. You can also view validation files as described in Batch Processing Status.
  10. View the response files and reports for your batched transaction requests:

    ADDITIONAL INFORMATION

    After all of the requests in a batch file are processed,
    Cybersource
    creates the batch reports:

Batch Processing Status

When you process a transaction batch file at the
Cybersource
Business Center
, the batch processing status is displayed in the status grid.
These are the possible processing status values for a transaction request:
Validating
The batch file is being evaluated for syntax errors. If the validation process finds any syntax errors or mismatched specifications,
Cybersource
does not process any of the requests.
Instead, the line number of the first failed record is sent in a
batch status alert
email. If syntax errors are found in multiple records, only one alert is sent.
These are typical errors that can occur in a batch upload file:
  • The
    RecordCount
    value specified in the file header does not match the number of data records in the file.
  • A data record in the file does not contain the number of fields specified in the data header.
ToBeResolved
Your batch file has been uploaded, but manual intervention by the
Cybersource
operations team is required. Contact Support.
Rejected or OnHold
The validation failed. If the validation failed due to duplicate files, the status is
OnHold
and a
reject notification
is sent. For any other type of validation failure, the status is
Rejected
.
Cybersource
sends a notification to the email address you provided when you uploaded the batch file.
To handle a failed validation, follow the suggested remedy in the emailed notification or contact Support.
If you resubmit your batch file, use the same batch ID that you used for the original file submission unless specified otherwise by Support or in the batch status alert.
Processing
Cybersource
has begun to process the payment transactions specified in the batch file.
Completed
Processing of the transactions in your batch file is complete. The
Uploaded
column of the status grid displays the date, and the field becomes a link to a Payment Batch Detail Report report. For information about this report, see
Getting Started with Business Center Reports
.

REST API: Setting Up an API Endpoint Connection

This section shows how to implement a two-way SSL method to securely encrypt and authenticate API requests. SSL (Secure Sockets Layer) is a protocol that establishes an encrypted link between a web server and a web browser, ensuring secure communication and data transmission. It uses encryption, authentication, and integrity checks to protect data from unauthorized access or modification. SSL certificates, which are digital certificates, are used to identify and verify the authenticity of web servers.
Uploading a transaction batch file to the
Business Center
uses
mutual Transport Layer Security (mTLS) authentication
. Implementing mTLS using DigiCert certificates provides a robust security mechanism for authenticating both clients and servers.
The topics in this section cover this information:
  • A description of mTLS authentication
  • A description of the mutual TLS process
  • Requirements checklist
  • How to generate and install a private key and client certificate on a client machine
  • How to exchange public certificates between the client and server
  • How to install and configure server certificates on a client machine

Mutual TLS Authentication

Mutual Transport Layer Security (mTLS) is an extension of the standard TLS protocol that ensures both the client and server authenticate each other. This bidirectional authentication ensures secure communication between clients and servers by verifying the identities of both parties in a communication session.
Implementing mTLS using DigiCert certificates provides these key benefits:
  • Enhanced security—Both client and server identities are verified, which reduces the risk of man-in-the-middle attack.
  • Data integrity—Data transferred between the client and server is encrypted and cannot be tampered with.
  • Access control—Only authenticated clients with valid certificates can access server resources, providing an additional layer of security.
With mTLS, both the client and the server present certificates to prove their identities. This differs from standard TLS, where only the server provides a certificate and the client remains unauthenticated.

Mutual TLS Two-Way Handshake

With mTLS, the authentication message exchange between client and server is called an
SSL handshake
. This sequence summarizes the components of the mTLS process handshake:
  1. Client hello
    —The client initiates a connection by sending a "Client Hello" message. The message includes supported cryptographic algorithms and the client's public key.
  2. Server hello
    —The server responds with a "Server Hello" message, including its public key and a digital certificate issued by the DigiCert trusted Certificate Authority (CA).
  3. Client certificate request
    —The server requests a certificate from the client for authentication.
  4. Client certificate
    —The client sends its certificate, which is validated by the server.
  5. Handshake completion
    —Both parties exchange keys and establish a secure, encrypted communication channel.
After the handshake completes successfully, the client and server use the
symmetric key
for encrypting and decrypting data.

Requirements for Setting Up a REST API Endpoint Connection

  • You have a DigiCert account.
  • You have a tool such as Java Key Tool or OpenSSL to use to create a CSR file and private key.

Generate and Install a Private Key and Client Certificate on a Client Machine

This topic provides the basic steps for generating and installing a new private key and a client certificate from DigiCert onto a client machine.
IMPORTANT
If you keep the root certificate authority (CA) offline in order to provide a complete chain of trust to clients while using mTLS, the root CA signs an
intermediate certificate
which in turn signs
end-entity certificates
.
In this case, you will need to concatenate the intermediate certificate to the client certificate that you obtain from DigiCert. This step is specified in Step 6 of this procedure.
  1. To generate and install a private key and a DigiCert client certificate on a client machine:
  2. Log in to DigiCert and access your account.
  3. Navigate to the certificate request section and provide the required information.

    ADDITIONAL INFORMATION

    This information is required:
    • Common name (CN)—fully qualified domain name (FQDN) that your certificate will secure.
    • Country (C)—two-digit ISO country code.
    • State or locality (ST)—state, province, or region where the organization is legally registered or located. Specify the full name and not an abbreviation.
    • Organization (O)—full legal company or personal name as registered in your locality.
    • Organizational unit (OU)—department in your organization the that certificate is for.
  4. Use a tool such as Java Key Tool or OpenSSL to generate a certificate signing request (CSR).

    ADDITIONAL INFORMATION

    In this example, OpenSSL is used in a bash environment to generate a new 2048-bit RSA private key and request a CSR.
    openssl req -new -newkey rsa:2048 -nodes -keyout client.key -out client.csr
    The private key is for the domain client.key, and the key is not encrypted in a PKCS#12 file. The CSR filename is client.csr.
  5. Upload the CSR to DigiCert.

    ADDITIONAL INFORMATION

    DigiCert verifies the information provided in the CSR. Verification might involve contacting your organization for validation.
  6. Download the newly generated client certificate from your DigiCert account.
  7. If you keep the root CA offline (as described in the Note at the top of this procedure), you must concatenate the client certificate and the intermediate certificate.

    ADDITIONAL INFORMATION

    In this example, the Linux cat command is used in a bash environment to create the certificate file client_bundle.crt by concatenating the intermediate certificate intermediate.crt to the client certificate client.crt.
    bash cat client.crt intermediate.crt > client_bundle.crt
  8. Install the client certificate (or combined certificates) and private key on a client machine.

    ADDITIONAL INFORMATION

    • To install the certificate and key on a Linux-based client machine, use the sudo command-line utility. In this example, the sudo command is used in a bash environment to install the client certificates and private key:
      sudo cp client_bundle.crt /etc/ssl/certs/ sudo cp client.key /etc/ssl/private/
      The client certificate bundle is copied to /etc/ssl/certs/, and the private key is copied to /etc/ssl/private/.
    • To install the certificate and key on a Windows client machine, use the certmgr.exe tool, which uses the Microsoft Management Console (MMC).

AFTER COMPLETING THE TASK

After you successfully install the private key and client certificate on a client machine, continue to Exchange the Client and Server Public Certificates.

Exchange the Client and Server Public Certificates

This topic describes a secure method for exchanging
public certificates
between the client and server. Using an out-of-band method to exchange the public certificates provides these key benefits:
  • Enhanced security—Performing the key exchange over a separate (outside the primary) channel reduces the risk of key interception by a malicious actor.
  • Trust establishment—Out-of-band methods often involve more controlled and trusted mechanisms, ensuring that the certificates are received by the intended parties.
  • Compliance—Some regulatory standards and security best practices require or recommend out-of-band exchange for critical cryptographic materials.
  1. To securely exchange public certificate:
  2. Use encrypted email or a secure file transfer service to send the client's public certificate to the server.
  3. Use encrypted email or a secure file transfer service to send the server's public certificate to the client.

AFTER COMPLETING THE TASK

After you exchange the client and server public certificates, continue to Install and Use a Server Certificate on a Client Machine.

Install and Use a Server Certificate on a Client Machine

This topic provides the basic steps for installing and using a server certificate on a client machine.
Requirements:
  • You have the server's public certificate.
  • If you keep the root certificate authority (CA) offline, you have the intermediate certificates.
  1. To install and use a server certificate on a client machine:
  2. Install the server certificate on a client machine.

    ADDITIONAL INFORMATION

    • On a Linux-based client machine:
      1. Copy the server certificate to the appropriate directory. Example:
        bash sudo cp server.crt /etc/ssl/certs/
      2. Update the CA certificates. Example:
        bash sudo update-ca-certificates
    • On a Windows client machine, use the certmgr.exe tool to import the server certificate into the Trusted Root Certification Authorities Store.
  3. Configure the client application to use the standard server certificate for mTLS. The configuration details vary depending on the application.

    ADDITIONAL INFORMATION

    • Example for the client URL (cURL) command-line tool:
      bash curl --cert client_bundle.crt --key client.key --cacert server.crt https://example.com
    • Example for Java:
      bash keytool -import -alias client -file client_bundle.crt -keystore keystore.jks keytool -import -alias server -file server.crt -keystore truststore.jks

AFTER COMPLETING THE TASK

After you successfully install and use a server certificate on a client machine, continue to the tasks contained in the section Encrypt and Upload the Batch File.

REST API: Encrypting and Uploading a Batch File

This section describes how to use the Cybersource Java client SDK to encrypt and upload a batch file to
Cybersource
using the REST API
These topics are covered:
  • Requirements checklist
  • How to download Java sample code and get started with the Java client SDK
  • How to encrypt and upload the batch file using the REST API
  • How to check file validation and transaction processing
Cybersource maintains a repository of Java sample code for all common uses of the API. You can download a sample from GitHub and use it as the basis for writing Java code to encrypt and upload batch files to
Cybersource
.

Requirements for Encrypting and Uploading a Batch File Using the REST API

  • Your system is running Java 8 or newer.
  • You created a CSV-formatted file that specifies the payment transactions you want to have batch processed. See Create a Batch File.
  • You have read access to your CSV-formatted batch file.
  • You have read and write access to the directory where you will create the encrypted version of the batch file.
  • You implemented a two-way SSL method to securely encrypt and authenticate API requests. See REST API: Setting Up an API Endpoint Connection.

Download Java Sample Code and Create Your Java App

The Cybersource Java client SDK enables your Java application to access to the REST API that is available through the Cybersource platform. Cybersource maintains a repository of Java sample code for all common uses of the API. To get started with the Java client SDK, download Java sample code and use it as the basis for writing your own Java code to encrypt and upload batch files to
Cybersource
.
The Cybersource Java client SDK is available at GitHub and Maven publicly hosted sites:
IMPORTANT
The content in this topic refers to the Java client SDK that is available on GitHub.
  1. To download and get started with the Java client SDK from GitHub:
  2. Follow the instructions in the Readme. The instructions include these key steps:

    ADDITIONAL INFORMATION

    1. Install the Java client SDK.
    2. Create a sandbox account.
    3. Configure the SDK by inputting your credentials.
  3. ADDITIONAL INFORMATION

    The repository contains comprehensive sample code for all common uses of the API:
    • BatchUploadMTLSwithJKS.java
      —Java sample code that uses the Java KeyStore (JKS)
    • BatchUploadMTLSwithKeys.java
      —Java sample code that uses the PGP public key and the client private key
    • BatchUploadMTLSwithP12.java
      —Java sample code that uses .p12 certificates
  4. Execute the code sample of your choice, modifying as needed until you obtain a successful response.

    ADDITIONAL INFORMATION

    IMPORTANT
    You must edit certain commands, replacing placeholders with values for your own environment. Each placeholder is described by an inline comment above the command.

    ADDITIONAL INFORMATION

Encrypt and Upload the Batch File

This topic provides general instructions for how to encrypt your batch file and upload it to
Cybersource
for offline processing. PGP encryption ensures secure transmission of the sensitive payment data that you upload to the
Business Center
using the REST API. Encryption is performed using a PGP public key that your TAM emails to you.
  1. To encrypt and upload a batch file using the REST API:
  2. Write Java code that encrypts and uploads the batch file to
    Cybersource
    for offline processing.

    ADDITIONAL INFORMATION

    If you base your Java code on a sample from the Cybersource Java Sample Code Repository (on GitHub), be sure to use values for your own environment in the commands below the inline comments.
  3. Execute the code. Use the sample code for execution with application.

    ADDITIONAL INFORMATION

    The
    PROD
    environment corresponds to a POST to this endpoint:
    secure-batch.cybersource.com/pts/v1/transaction-batch-upload
    The
    TEST
    environment corresponds to a POST to this endpoint:
    secure-batch-test.cybersource.com/pts/v1/transaction-batch-upload
  4. Verify the response messages to make sure that the request was successful.

    ADDITIONAL INFORMATION

    A 201-level HTTP response code indicates success. See the
    Transaction Response Codes
    .

Check the Validation and Processing Results

This topic provides the basic steps for accessing the results of batch file validation and transaction processing.
Requirements:
  1. To access the results of batch file validation and transaction processing:
  2. Check for email that reports failed or successful validation of batch files and successful processing of batched transaction requests. For details, see Viewing Email Notifications.
  3. Check the results of batch file validation. For details, see Viewing the Results of Batch File Validation.
  4. If the batch validation response file shows that your batch files contains any errors, none of the transaction requests are processed. To modify, encrypt, and resubmit your batch file:
    1. Use the information provided in the response file to modify the CSV-formatted batch file that you initially created when you followed the steps in Create a Batch File.
    2. Upload your corrected and encrypted batch file by following the steps in Encrypt and Upload the Batch File.
  5. If the batch file did not contain errors, check the results of transaction request processing.
    To download CSV-formatted files that list processing results for all transactions, see Viewing the Results of Transaction Processing.
    To download an report of general information about the transaction requests submitted through the batch upload service see Viewing the Transaction Request Report.
    To download an report of detailed informagtion about the transaction requests submitted through the batch upload service, see Viewing the Batch Submission Detail Report.
    For a transaction-level report that lists the sales and refunds batch-submitted to your payment processor through the
    Business Center
    , download the Payment Batch Detail Report. You can download the report daily to determine which of your batched transactions have been settled.
    For information about scheduling Payment Batch Detail reports, see Configuring Payment Batch Detail Report Batch Times in
    Getting Started with Business Center Reports
    .

Viewing Email Notifications

Cybersource
sends email notifications for failed or successful validation of batch files and for successful processing of all transactions in a validated batch file. Notifications are sent to the address provided in the
statusEmail
field of the batch file header.
Batch file validation results and batched transaction processing results are also available in downloadable results files and in downloadable reports.

Email Notification for a Failed Batch Validation

When validation of a batch file fails,
Cybersource
sends an email that provides the ID of the batch file that failed validation, the error message, and suggested remediation actions.
Example of a batch validation failure notification sent by email:
Batch with batchID=bmrvk7js failed during validation. Number of fields does not match with number of field names in the following rows: 1, 2, 4, 5, 6, 8, 10, 11, 12, (+2 more). REMEDY: Correct the format and try again.
The email is sent to the address provided in the
statusEmail
field of the batch file header.
Batch validation results are also available in a results file. See Viewing the Results of Batch File Validation.

Email Notification for a Successful Batch Validation

When validation of a batch file succeeds,
Cybersource
sends an email that reports the number of transaction requests submitted in the batch file.
Example of a batch validation success notification sent by email:
Batch with batchID=b9pypu0v was validated successfully. Number of Data Records read: 2 Time started: 2025/08/18 09:54: AM GMT
The email is sent to the address provided in the
statusEmail
field of the batch file header.
Batch validation results are also available in a results file. See Viewing the Results of Batch File Validation.

Email Notification for Successful Transaction Processing

Upon successful processing of all transactions requested in a batch file,
Cybersource
sends an email that provides the ID of the batch file whose transaction requests succeeded.
Example of transaction processing success notification sent by email:
Batch with batchID=nwlog2h7 was processed successfully.
The email is sent to the address provided in the
statusEmail
field of the batch file header.
Transaction processing results are also available in a results file and in reports. See these sections:

Viewing the Results of Batch File Validation

After a transaction batch file is uploaded,
Cybersource
checks the validity of the file contents and then creates a batch validation response file. This XML-formatted file shows whether the batch file validation succeeded or failed.
The name of a batch validation response file associates the file with a specific batch file. The result files are identified by the merchant ID and the batch ID:
  • The filename has this format:
    <merchantID>.<batchID>.validate.xml
  • This is an example filename:
    CyberVacations.39768.validate.xml
IMPORTANT
In addition to creating batch validation response files,
Cybersource
sends an email notification when a batch validation fails or succeeds. See Viewing Email Notifications.
The topics in this section cover this information:
  • How to download a batch validation response file
  • The structure of a batch validation response file
  • The XML elements of a batch validation response file
  • Error codes in a batch validation response
  • Example batch validation response files

Download a Batch Validation Response File

  1. To download a batch validation response file from the
    Business Center
    :
  2. Log in to the
    Cybersource
    Business Center
    .

    ADDITIONAL INFORMATION

  3. On the left navigation panel, click the
    Reports
    icon.
  4. Under Downloadable Reports, click
    Available Reports
    . The Available Reports page appears.
  5. Click the tab that contains the report you want to download.
  6. In the Download column, click the file format link. Only reports that have successfully finished generating and that contain data include links.

Batch Validation Response File DTD

This Document Type Definition (DTD) defines the structure, elements, and attributes of the batch validation response file.
<!ELEMENT Batch (ValidationStatus, ValidatedRecords, ValidationTime, ValidationErrors)> <!ATTLIST Batch BatchID CDATA #REQUIRED MerchantID CDATA #REQUIRED Name CDATA #REQUIRED Version NMTOKEN #REQUIRED> <!ELEMENT ValidationStatus (#PCDATA)> <!ELEMENT ValidatedRecords (#PCDATA)> <!ELEMENT ValidationTime (#PCDATA)> <!ELEMENT ValidationErrors (Error)*> <!ELEMENT Error (RecordNumber, ErrorCode, ErrorMessage, ErrorRemedy)> <!ELEMENT RecordNumber (#PCDATA)> <!ELEMENT ErrorCode (#PCDATA)> <!ELEMENT ErrorMessage (#PCDATA)> <!ELEMENT ErrorRemedy (#PCDATA)>

Batch Validation Response File XML Elements

The XML elements of a batch validation response file:
  • &lt;Batch&gt; element
  • &lt;ValidationErrors&gt; element
  • &lt;Error&gt; element

The Batch Element

The
&lt;Batch&gt;
element is the root of the response file, and it specifies the top level of the response file syntax.
<Batch BatchID=CDATA MerchantID=CDATA Name=CDATA Version=NMTOKEN> (ValidationStatus) (ValidatedRecords) (ValidationTime) (ValidationErrors) </Batch>
The &lt;Batch&gt; element has these attributes:
  • &lt;BatchID&gt;
    —Batch file identifier that you assigned.
    • Data type: Alphanumeric
    • Data length: 8
  • MerchantID
    —Your merchant ID.
    • Data type: Alphanumeric
    • Data length: 30
  • Name
    —Name of the report. This value is always
    OLP Validation Report
    .
    • Data type: Alphanumeric
    • Data length: 25
  • Version
    —Version number of the report. The current version number is
    1.0
    .
    • Data type: Numeric
    • Data length: 10
Attributes of the &lt;Batch&gt; Element
Attribute Name
Attribute Value
BatchID
Batch file identifier that you assigned.
  • Data type: Alphanumeric
  • Data length: 8
MerchantID
Your merchant ID.
  • Data type: Alphanumeric
  • Data length: 30
Name
Name of the report. This value is always
OLP Validation Report
.
  • Data type: Alphanumeric
  • Data length: 25
Version
Version number of the report. The current version number is
1.0
.
  • Data type: Numeric
  • Data length: 10
Child Elements of the &lt;Batch&gt; Element
Element Name
Description
ValidationStatus
Status of the attempted validation. Possible values:
  • Failed
  • Success
  • OnHold
  • ToBeResolved
Specifications:
  • Data type: Alphanumeric
  • Data length: 10
ValidatedRecords
Number of records validated. This value is present only when the validation is successful.
  • Data type: Numeric
  • Data length: 10
ValidationTime
Timestamp for the validation process.
Format: yyyy-MM-ddTHH:mm:ss
  • Data type: DateTime
  • Data length: 25
ValidationErrors
List of the errors in the batch file. This element is present only if the validation failed. See The ValidationErrors Element.
  • Data type: Element

The ValidationErrors Element

The
&lt;ValidationErrors&gt;
element contains the errors associated with the batch file.
<ValidationErrors> (Error)* </ValidationErrors>
Child Element of the &lt;ValidationErrors&gt; Element
Element Name
Element Description
Error
Information about an error. See The Error Element.
  • Data type: Element

The Error Element

The
&lt;Error&gt;
element contains information about an error.
<Error> (RecordNumber) (ErrorCode) (ErrorMessage) (ErrorRemedy) </Error>
Child Elements of the &lt;Error&gt; Element
Element Name
Element Description
RecordNumber
Number of the record that has an error.
  • Data type: Numeric
  • Data length: 10
ErrorCode
Code that identifies the error. See Error Codes.
  • Data type: Numeric
  • Data length: 10
ErrorMessage
Message that describes the error.
  • Data type: Alphanumeric
  • Data length: 250
ErrorRemedy
Message that describes the remedy for the error.
  • Data type: Alphanumeric
  • Data length: 250

Batch Validation Error Codes

This table lists error code values, messages, and remedies that can be present in the
&lt;Error&gt;
element. For general information about that element type, see The Error Element.
The
%s
strings in Error Message column of this table represent dynamic values (such as batch IDs and record numbers) that appear in actual messages in an &lt;Error&gt; element.
Error Codes, Messages, and Remedies
Error Code
Error Message
Remedy
101
Missing required field in File Header record:
%s
.
Include the required field in the file and resubmit.
102
MerchantID (
%s
) is not in our database.
Ensure that the merchant ID is valid.
103
MerchantID (
%s
) does not match with the ID used to log in for uploading the file.
Verify the merchant ID and resubmit.
104
batchID exceeds max length of
%s
.
Generate a shorter batch ID and resubmit.
105
%s
had already passed validation stage.
The batch ID has been submitted. If this is a new batch, generate a new batch ID and send the file again.
106
Invalid recordCount value:
%s
.
Check record count to make sure it is numeric and resubmit.
107
The file does not contain any data records.
The file must contain at least one data record. Correct and resubmit.
108
The recordCount exceeds the maximum number of records allowed per batch (
%s
).
Generate a smaller batch file and resubmit.
109
Invalid creationDate format:
%s
.
Correct the date format and resubmit (use
yyyy-mm-dd
).
110
Unsupported service:
%s
.
The service is not supported through batching. You may only request that service directly online.
111
Missing required field in Data Header record:
%s
.
Include the missing required field in the file and resubmit.
112
Missing required field in Data Record:
%s
.
Include the required field in the file and resubmit.
113
merchantID
%s
is not valid or has not been configured correctly.
Contact
Cybersource
support to confirm that the merchant ID you are using is valid or is configured to be submitted by another merchant ID.
114
SUM in Trailer record (
%s
) does not match with actual total (
%s
).
Make sure the sum in the Trailer record matches with the actual sum of all data records.
115
SUM in Trailer record is invalid (
%s
).
Check to make sure the sum value is numeric.
116
Missing required field in File Trailer record:
%s
.
Pass in required field and resubmit.
117
Duplicate file (batchID:
%s
).
Make sure that the batch ID is unique.
118
Duplicate file. The data content in this file seems to have been submitted in batchID=
%s
.
Make sure the content of the file has not been previously submitted.
119
File Trailer record is missing.
Correct the file format and resubmit.
120
There was a problem reading the input file.
Contact
Cybersource
support to verify that file
%s
was received and is readable.
121
Found Data Header record but missing File Header record.
Correct the file format and resubmit.
122
Found Data record but missing Data Header record.
Correct the file format and resubmit.
123
Number of fields does not match with the number of field names in the following rows:
&lt;list of batch file row numbers&gt;
Correct the file format and resubmit.
124
Found trailer record but missing File/Data Header record.
Correct the file format and resubmit.
201
A problem occurred while inserting the batch status in the database.
Contact
Cybersource
support.
202
A problem occurred while updating: batchID:
%s
, status:
%s
"
Contact
Cybersource
support.
203
A problem occurred while retrieving the merchant configuration from the database.
Contact
Cybersource
support.
204
A problem occurred during validation of the batchID against the database.
Contact
Cybersource
support.
205
A database problem occurred during checksum calculation.
Contact
Cybersource
support.
301
An internal error occurred during file validation.
Contact
Cybersource
support.

Example: Successful Batch Validation

This example batch validation response file show that the batch file validation succeeded.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Batch SYSTEM "olp_validation_report_1_0.dtd"> <Batch BatchID="11111111" MerchantID="gpntest1" Name="OLP Validation Report" Version="1.0"> <ValidationStatus>Success</ValidationStatus> <ValidatedRecords>15</ValidatedRecords> <ValidationTime>2022-07-31T14:41:12</ValidationTime> </Batch>

Example: Incorrect Record Count in the Trailer

This example batch validation response file illustrates error code 114. The trailer record specifies a sum of 14.00, but the actual total is 15.00.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Batch SYSTEM "olp_validation_report_1_0.dtd"> <Batch BatchID="22222222" MerchantID="gpntest2" Name="OLP Validation Report" Version="1.0"> <ValidationStatus>Failed</ValidationStatus> <ValidationTime>2022-07-31T14:40:36</ValidationTime> <ValidationErrors> <Error> <RecordNumber>0</RecordNumber> <ErrorCode>114</ErrorCode> <ErrorMessage>SUM in Trailer record (14.00) does not match with the actual total (15.00).</ErrorMessage> <ErrorRemedy>Make sure the SUM in the Trailer record matches with the actual sum of all data records.</ErrorRemedy> </Error> </ValidationErrors> </Batch>

Example: Field Count in Some Data Records Does Not Match the Header

This example batch validation response file illustrates error code 123. In this case, three of the data records do not contain the number of fields specified in the header.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Batch SYSTEM "olp_validation_report_1_0.dtd"> <Batch BatchID="33333333" MerchantID="gpntest3" Name="OLP Validation Report" Version="1.0"> <ValidationStatus>Failed</ValidationStatus> <ValidationTime>2022-07-31T14:40:14</ValidationTime> <ValidationErrors> <Error> <RecordNumber>2</RecordNumber> <ErrorCode>123</ErrorCode> <ErrorMessage>Number of fields does not match with number of field names in the following rows: 2, 3, 5.</ErrorMessage> <ErrorRemedy>Correct the file format and resubmit.</ErrorRemedy> </Error> </ValidationErrors> </Batch>

Example: Field Count in More Than 10 Data Records Does Not Match the Header

This example batch validation response file also illustrates error code 123. In this case, more than 10 data records do not contain the number of fields specified in the header. Only the first 10 mismatched rows are listed.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Batch SYSTEM "olp_validation_report_1_0.dtd"> <Batch BatchID="44444444" MerchantID="gpntest4" Name="OLP Validation Report" Version="1.0"> <ValidationStatus>Failed</ValidationStatus> <ValidationTime>2022-07-31T14:40:14</ValidationTime> <ValidationErrors> <Error> <RecordNumber>3</RecordNumber> <ErrorCode>123</ErrorCode> <ErrorMessage>Number of fields does not match with number of field names in the following rows: 1, 2, 4, 5, 6, 8, 10, 11, 12, 13 (+2 more).</ErrorMessage> <ErrorRemedy>Correct the file format and resubmit.</ErrorRemedy> </Error> </ValidationErrors> </Batch>

Viewing the Results of Transaction Processing

After a transaction batch file is validated successfully,
Cybersource
processes the transactions specified in the batch file and then creates
transaction response files
. These CSV-formatted files show the processing results for the batched transaction requests.
One response file lists processing results for all transactions, whether accepted, rejected, or in error. The other response file lists results only for transactions that were rejected or that triggered a processing error.
Full list of transaction responses
This file lists results only for transactions that were rejected or that triggered a processing error.
  • File name format:
    &lt;merchantID&gt;.&lt;batchID&gt;.reply.all
  • File name example:
    CyberVacations.12345.reply.all
List of exceptions
This file lists results only for transactions that were rejected or that triggered a processing error.
  • File name format:
    &lt;merchantID&gt;.&lt;batchID&gt;.reply.rejected
  • File name example:
    CyberVacations.12345.reply.rejected
When processing of batched transaction requests succeeds, an email notification is sent. See Email Notification for Successful Transaction Processing.
The topics in this section cover this information:
  • How to download a transaction response file
  • The fields in the header record
  • The fields in each data record
  • An example transaction response file

Download a Transaction Response File

  1. To download a transaction response file from the
    Business Center
    :
  2. Log in at the
    Cybersource
    Business Center
    .

    ADDITIONAL INFORMATION

  3. On the left navigation panel, click the
    Reports
    icon.
  4. Under Downloadable Reports, click
    Available Reports
    . The Available Reports page appears.
  5. Click the tab that contains the report you want to download.
  6. In the Download column, click the file format link. Only reports that have successfully finished generating and that contain data include links.

Fields in the Header Record

Within a transaction response file, the header record of consists of a list of comma-separated name-value pairs:
  • merchantID
  • batchID
This example shows the header portion of the transaction response file:
merchantID=infodev,batchID=12345

Fields in Each Data Record

Within a transaction response file, each data record provides the REST API response information that corresponds to a payment request submitted in a batch file. A data record consists of a comma-separated list of fields that specify the REST API response to the batched payment request.
IMPORTANT
Within a transaction response file, the order of the data records might not correspond to the order of the requests in your file. Within a data record, the fields are in alphabetical order of the field names.
A data record consists of a header record followed by the REST API response values.
First field links the data record to the corresponding batch file
The first field in a data record is
merchantReferenceCode
. The value in this field matches the value in the
merchantReferenceCode
field of the corresponding batch file you submitted at the
Cybersource
Business Center
or by using the
REST
API.
Subsequent fields contain the response information in alphabetical order
All subsequent fields in a data record specify the REST API response information, but in alphabetical order of the field name.

Example Transaction Response File

This example shows a full file, including two successful requests and one failed request. The failed request is the second data record in the example.
merchantID=infodev,batchID=12345 merchantReferenceCode=ABC12320398,ccCaptureReply_amount=327.49, ccCaptureReply_reasonCode=100,ccCaptureReply_reconciliationID= 1018546244150167904178,ccCaptureReply_requestDateTime=2007-06-13T22:43:53Z, decision=ACCEPT,purchaseTotals_currency=EUR,reasonCode=100,requestID=1018546244150167904178 merchantReferenceCode=ABC141854,ccCaptureReply_reasonCode=241, decision=REJECT,reasonCode=241,requestID=1018546227570167904150 merchantReferenceCode=ABC39882097,ccCreditReply_amount=14.99, ccCreditReply_reasonCode=100,ccCreditReply_reconciliationID= 1018546230720167904150,ccCreditReply_requestDateTime=2005-09-23T22:44:33Z, decision=ACCEPT,purchaseTotals_currency=CAD,reasonCode=100, requestID=1018546230720167904150

Viewing the Transaction Request Report

The Transaction Request Report with the Batch Upload connection filter shows details of the transactions that were batched using the upload process.
IMPORTANT
If you request a report too soon after you upload a batch file, you might receive an error because the batch has not finished processing.
The topics in this section cover this information:
  • How to download a Transaction Request Report
  • The structure of a Transaction Request Report
  • The XML elements of a Transaction Request Report
  • An example XML-formatted Transaction Request Report
  • The fields in a CSV-formatted Transaction Request Report
  • An example CSV-formatted Transaction Request Report

Download a Transaction Request Report

  1. To download a transaction request report from the
    Business Center
    :
  2. Log in at the
    Cybersource
    Business Center
    .

    ADDITIONAL INFORMATION

  3. On the left navigation panel, click the
    Reports
    icon.
  4. Under Downloadable Reports, click
    Available Reports
    . The Available Reports page appears.
  5. Click the
    Standard Reports
    tab.
  6. Above the Type column of the Search Results area, enter
    batch
    and press Enter.
  7. To find the report you want to download, filter the search results by report name or date.
  8. In the Download column, click the file format link. Only reports that have successfully finished generating and that contain data include links.

Transaction Request Report DTD

This Document Type Definition (DTD) defines the structure, elements, and attributes of the Transaction Request Report.
<!ELEMENT Report (BatchFiles)> <!ATTLIST Report Name CDATA #REQUIRED Version NMTOKEN #REQUIRED xmlns CDATA #REQUIRED MerchantID CDATA #REQUIRED ReportStartDate CDATA #REQUIRED ReportEndDate CDATA #REQUIRED> <!ELEMENT BatchFiles (BatchFile)*> <!ELEMENT BatchFile (PaymentProcessor)*> <!ATTLIST BatchFile BatchFileID CDATA #REQUIRED> <!ELEMENT PaymentProcessor (Request)*> <!ATTLIST PaymentProcessor PaymentProcessorName CDATA #REQUIRED> <!ELEMENT Request (TransactionReferenceNumber, MerchantReferenceNumber, TransactionStatus, Amount, CurrencyCode, PaymentStatus)> <!ATTLIST Request RequestID CDATA #REQUIRED> <!ELEMENT TransactionReferenceNumber (#PCDATA)> <!ELEMENT MerchantReferenceNumber (#PCDATA)> <!ELEMENT TransactionStatus (#PCDATA)> <!ELEMENT Amount (#PCDATA)> <!ELEMENT CurrencyCode (#PCDATA)> <!ELEMENT PaymentStatus (#PCDATA)>

Transaction Request Report XML Elements

The topics in this section describe the XML elements of a Transaction Request Report:
  • The &lt;Report&gt; element
  • The &lt;BatchFiles&gt; element
  • The &lt;BatchFile&gt; element
  • The &lt;PaymentProcessor&gt; element
  • The &lt;Request&gt; element

The Report Element

The
&lt;Reports&gt;
element is the root element of the report, and it specifies the top level of the report syntax.
<Report Name=CDATA Version=NMTOKEN xmlns=CDATA MerchantID=CDATA ReportStartDate=CDATA ReportEndDate=CDATA> (BatchFiles) </Report>
This table describes the attributes of the
&lt;Report&gt;
element.
Attributes of the
&lt;Report&gt;
Element
Attribute Name
Description
Name
Name of the report. This element always contains the text
Batch Files Detail
Report
.
  • Data type: Alphanumeric
  • Data length: 100
Version
Version number of the report. The current version number is
1.0
.
  • Data type: Numeric
  • Data length: 10
xmlns
XML namespace for the report.
The namespace for the current version is
http://reports.cybersource.com/reports
/bfdr/1.0
.
For transactions in India,
http://reports.in.cybersource.com/reports/bfdr/1.0
.
  • Data type: Alphanumeric
  • Data length: 100
MerchantID
Cybersource
merchant ID used for the transactions in the report.
  • Data type: Alphanumeric
  • Data length: 30
ReportStartDate
First date included in the report.
  • Data type: DateTime
  • Data length: 25
ReportEndDate
Last date included in the report.
  • Data type: DateTime
  • Data length: 25
This table describes the child elements of the
&lt;Report&gt;
element.
Child Elements of the
&lt;Report&gt;
Element
Element Name
Description
&lt;BatchFiles&gt;
Batch files that are included in the report. See The BatchFile Element for a list of child elements.
This
&lt;Report&gt;
element includes example attribute values. For information about the &lt;BatchFiles&gt; element, see The BatchFiles Element.
<Report Name="Batch Files Detail Report" Version="1.0" xmlns="http://reports.cybersource.com/reports/bfdr/1.0" MerchantID="pcpawnshop" ReportStartDate="2006-09-29T05:00:00-05:00" ReportEndDate="2006-09-30T05:00:00-05:00"> <BatchFiles> ... </BatchFiles> </Report>

The BatchFiles Element

The
&lt;BatchFiles&gt;
element contains all of the batch files that are included in the report.
<BatchFiles> (BatchFile)* </BatchFiles>
This table describes the child elements of the
&lt;BatchFiles&gt;
element.
Child Elements of the
&lt;BatchFiles&gt;
Element
Element Name
Description
&lt;BatchFile&gt;
Payment processors for the transactions in the batch file. For a list of attributes and child elements, see The BatchFile Element.
This
&lt;BatchFiles&gt;
element includes an example &lt;BatchFile&gt; element. For information about the &lt;BatchFile&gt; element, see The BatchFile Element.
<BatchFiles> <BatchFile BatchFileID="123"> ... </BatchFile> </BatchFiles>

The BatchFile Element

The
&lt;BatchFile&gt;
element contains the payment processors for the transactions in the batch file.
<BatchFile BatchFileID=CDATA> (PaymentProcessor)* </BatchFile>
This table describes the attributes of the
&lt;BatchFile&gt;
element.
Attributes of the
&lt;BatchFile&gt;
Element
Attribute Name
Description
BatchFileID
Cybersource
batch file in which the transactions were sent.
  • Data type: Numeric
  • Data length: 39
This table describes the child elements of the
&lt;BatchFile&gt;
element.
Child Elements of the
&lt;BatchFile&gt;
Element
Element Name
Description
&lt;PaymentProcessor&gt;
Requests associated with the payment processor. For a list of attributes and child elements, see The PaymentProcessor Element.
This example
&lt;BatchFile&gt;
element includes an example &lt;PaymentProcessor&gt; element. For information about the &lt;PaymentProcessor&gt; element, see The PaymentProcessor Element.
<BatchFile BatchFileID="10101"> <PaymentProcessor PaymentProcessorName="vital”> ... </PaymentProcessor> </
BatchFile
>

The PaymentProcessor Element

The
&lt;PaymentProcessor&gt;
element contains the requests associated with a payment processor.
<PaymentProcessor PaymentProcessorName=CDATA> (Request)* </PaymentProcessor>
This table describes the attributes of the
&lt;PaymentProcessor&gt;
element.
Attributes of the
&lt;PaymentProcessor&gt;
Element
Attribute Name
Description
PaymentProcessorName
Name of a payment processor.
  • Data type: Alphanumeric
  • Data length: 30
This table describes the child elements of the
&lt;PaymentProcessor&gt;
element.
Child Elements of the
&lt;PaymentProcessor&gt;
Element
Element Name
Description
&lt;Request&gt;
Information about a payment transaction. For a list of attributes, see The Request Element.
This example
&lt;PaymentProcessor&gt;
element
<PaymentProcessor PaymentProcessorName="vital"> <Request> ... </Request> </PaymentProcessor>

The Request Element

The
&lt;Request&gt;
element contains information about a payment transaction.
<Request RequestID=CDATA> (TransactionReferenceNumber) (MerchantReferenceNumber) (TransactionStatus) (Amount) (CurrencyCode) (PaymentStatus) </Request>
This table describes the attributes of the
&lt;Request&gt;
element.
Attributes of the
&lt;Request&gt;
Element
Attribute Name
Description
RequestID
Unique identifier generated by
Cybersource
for the transaction.
  • Data type: Numeric
  • Data length: 26
This table describes the child elements of the
&lt;Request&gt;
element.
Child Elements of the
&lt;Request&gt;
Element
Element Name
Description
TransactionReferenceNumber
Reference number that you use to reconcile your
Cybersource
reports with your processor reports. This field corresponds to the
&lt;service&gt;
_reconciliationID
(Simple Order API) and to the
&lt;service&gt;_
trans_ref_no
(SCMP API) response fields.
  • Data type: Alphanumeric
  • Data length: 60
MerchantReferenceNumber
Merchant-generated order reference or tracking number.
  • Data type: Alphanumeric
  • Data length: 50
TransactionStatus
One-word description of the result of the transaction request.
  • Data type: Alphanumeric
  • Data length: 50
Amount
Amount of the transaction.
CurrencyCode
ISO currency code used for the transaction. See ISO Standard Country Codes.
  • Data type: Alphanumeric
  • Data length: 5
PaymentStatus
One-word description of the current status of the transaction. Possible values:
  • BATCH_ERROR
  • BATCH_RESET
  • BATCHED
  • CANCELED_REVERS
  • CANCELLED
  • DENIED
  • FAILED
  • PENDING
  • REFUNDED
  • REVERSED
  • TRXN_ERROR
  • VOIDED
Specifications:
  • Data type: Alphanumeric
  • Data length: 50
This
&lt;Request&gt;
element includes a single example transaction in the
PENDING
state.
<Request RequestID="1580782287420174065733"> <TransactionReferenceNumber>5533830406</TransactionReferenceNumber> <MerchantReferenceNumber>1158078228539</MerchantReferenceNumber> <TransactionStatus>SOK</TransactionStatus> <Amount>25.00</Amount> <CurrencyCode>USD</CurrencyCode> <PaymentStatus>PENDING</PaymentStatus> </Request>

Example XML-Formatted Transaction Request Report

This example shows Transaction Request Reports for two batch files. The first report covers three requests for
TSYS Acquiring Solutions
(raw processor name
vital
), and the second report covers one request for
FDMS Nashville
(raw processor name
smartfdc
).
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE Report SYSTEM "https://businesscentertest.cybersource.com/ebctest/reports/dtd/bfdr.dtd"> <Report Name="Batch Files Detail Report" Version="1.0" xmlns="https://businesscentertest.cybersource.com/ebctest/reports/dtd/bfdr.dtd" MerchantID="pcpawnshop" ReportStartDate="2006-09-29T05:00:00-05:00" ReportEndDate="2006-09-30T05:00:00-05:00"> <BatchFiles> <BatchFile BatchFileID="127788"> <PaymentProcessor PaymentProcessorName="vital"> <Request RequestID="1595558344253232243215"> <TransactionReferenceNumber>7242635150</TransactionReferenceNumber> <MerchantReferenceNumber>1158078228539</MerchantReferenceNumber> <TransactionStatus>SOK</TransactionStatus> <Amount>25.00</Amount> <CurrencyCode>USD</CurrencyCode> <PaymentStatus>PENDING</PaymentStatus> </Request> <Request RequestID="1595558354743232243215"> <TransactionReferenceNumber>7242636613</TransactionReferenceNumber> <MerchantReferenceNumber>1158078892610</MerchantReferenceNumber> <TransactionStatus>SOK</TransactionStatus> <Amount>100.00</Amount> <CurrencyCode>USD</CurrencyCode> <PaymentStatus>PENDING</PaymentStatus> </Request> <Request RequestID="1595558364563232243215"> <TransactionReferenceNumber>7242637653</TransactionReferenceNumber> <MerchantReferenceNumber>1158079157035</MerchantReferenceNumber> <TransactionStatus>SOK</TransactionStatus> <Amount>99.00</Amount> <CurrencyCode>USD</CurrencyCode> <PaymentStatus>VOIDED</PaymentStatus> </Request> </PaymentProcessor> </BatchFile> <BatchFile BatchFileID="123987"> <PaymentProcessor PaymentProcessorName="smartfdc"> <Request RequestID="1595564779663232243215"> <TransactionReferenceNumber>7243278653</TransactionReferenceNumber> <MerchantReferenceNumber>1159429157035</MerchantReferenceNumber> <TransactionStatus>SOK</TransactionStatus> <Amount>4.00</Amount> <CurrencyCode>USD</CurrencyCode> <PaymentStatus>PENDING</PaymentStatus> </Request> </PaymentProcessor> </BatchFile> </BatchFiles> </Report>

Transaction Request Report CSV Records

The topics in this section describe the CSV records of a Transaction Request Report:
  • &lt;First header&gt; record
  • &lt;Second Header&gt; record
  • &lt;Transaction&gt; record

First Header Record

The first header record describes the name and version of the report and indicates which dates are included in the report.
This table describes the fields in the first header record.
Fields in the First Header Record
Position
Field Name
Description
1 (A)
report_name
Name of the report. This field always contains the text
Batch Files Detail
Report
.
  • Data type: Alphanumeric
  • Data length: 100
2 (B)
version_number
Version number of the report. The current version number is
1
.
  • Data type: Alphanumeric
  • Data length: 10
3 (C)
date_range
Dates included in the report in the format YYYY-MM-DD to YYYY-MM-DD. The first date is the start date; the second date is the end date.
  • Data type: Alphanumeric
  • Data length: 100
In this example, the first header record specifies the date range for version 1 of the report:
Batch Files Detail Report,1,2022-09-29 to 2022-09-30,,,,,,,

Second Header Record

The second header record indicates the name of each field in the report. The fields in the second header record follow these rules:
  • The content of each field is the same as the field name.
  • The data type and length of each field is alphanumeric (100).
merchant_id,txn_batch_id,payment_processor,request_id,trans_ ref_no,merchant_ref_number,ics_rflag,amount,currency,action

Transaction Record

Each transaction record contains information about a
Cybersource
payment transaction.
This example shows a transaction record:
pcpawnshop,127788,vital,9979040000003515181891, 7242635150,1158078228539,SOK,25.00,USD,PENDING
This table describes all fields in a transaction record.
Fields in the Transaction Record
Position
Field Name
Description
1
merchant_id
Cybersource
merchant ID used for the transaction.
  • Data type: Alphanumeric
  • Data length: 30
2
txn_batch_id
Cybersource
batch file in which the transactions were sent.
  • Data type: Numeric
  • Data length: 39
3
payment_processor
Name of a payment processor.
  • Data type: Alphanumeric
  • Data length: 30
4
request_id
Identifier for the transaction.
  • Data type: Numeric
  • Data length: 26
5
trans_ref_no
Reference number that you use to reconcile your
Cybersource
reports with your processor reports. This field corresponds to the
&lt;service&gt;
_reconciliationID
(Simple Order API) and to the
&lt;
service
&gt;
_trans_ref_no
(SCMP API) response fields.
  • Data type: Alphanumeric
  • Data length: 30
6
merchant_ref_number
Merchant-generated order reference or tracking number.
  • Data type: Alphanumeric
  • Data length: 50
7
ics_rflag
One-word description of the result of the transaction request.
  • Data type: Alphanumeric
  • Data length: 50
8
amount
Amount of the transaction.
  • Data type: Amount
  • Data length: 19
9
currency
ISO currency code used for the transaction. See ISO Standard Country Codes.
  • Data type: Alphanumeric
  • Data length: 5
10
action
One-word description of the current status of the transaction. Possible values:
  • BATCH_ERROR
  • BATCH_RESET
  • BATCHED
  • CANCELED_REVERS
  • CANCELLED
  • DENIED
  • FAILED
  • PENDING
  • REFUNDED
  • REVERSED
  • TRXN_ERROR
  • VOIDED
Specifications:
  • Data type: Alphanumeric
  • Data length: 50

Example CSV-Formatted Transaction Request Report

This example shows a report that contains two batch files. The first batch file contains three requests, and the second batch file contains one request.
Batch Files Detail Report,1,2006-09-29 to 2006-09-30,,,,,,, merchant_id,txn_batch_id,payment_processor,request_id,trans_ref_no, merchant_ref_number,ics_rflag,amount,currency,action pcpawnshop,127788,vital,1598344253232243215,7242635150, 1158078228539,SOK,25.00,USD,PENDING pcpawnshop,127788,vital,1598354743232243226,7242636613, 1158078892610,SOK,100.00,USD,PENDING pcpawnshop,127788,vital,1598364563232243237,7242637653, 1158079157035,SOK,99.00,USD,VOIDED pcpawnshop,123987,smartfdc,1594779663232243248,7243278653, 1159429157035,SOK,4.00,USD,PENDING

Viewing the Batch Submission Detail Report

The Batch Submission Detail Report returns a real-time response with details about the transactions that you submitted by uploading a batch file.
IMPORTANT
If you request a report too soon after you upload a batch file, you might receive an error because the batch has not finished processing.
The topics in this section cover this information:
  • How to download a Batch Submission Detail Report
  • The structure of a Batch Submission Detail Report
  • An example XML-formatted Submission Detail Report
  • An example CSV-formatted Submission Detail Report

Download a Batch Submission Detail Report

  1. To download a batch submission detail report from the
    Business Center
    :
  2. Log in at the
    Cybersource
    Business Center
    .

    ADDITIONAL INFORMATION

  3. On the left navigation panel, click the
    Reports
    icon.
  4. Under Downloadable Reports, click
    Available Reports
    . The Available Reports page appears.
  5. Click the
    Available Reports
    tab.
  6. Above the Type column of the Search Results area, enter
    batch
    and press Enter.
  7. To find the report you want to download, filter the search results by report name or date.
  8. In the Download column, click the file format link. Only reports that have successfully finished generating and that contain data include links.

Batch Submission Detail Report DTD

This Document Type Definition (DTD) defines the structure, elements, and attributes of the Batch Submission Detail Report.
<!ELEMENT Report (Transaction)*> <!ATTLIST Report MerchantID CDATA #REQUIRED Name CDATA #REQUIRED SubmissionFileID CDATA #REQUIRED SubmissionDateTime CDATA #REQUIRED Version NMTOKEN #REQUIRED> <!ELEMENT Transaction (LinkToRequest?, RequestID, TransactionDate, CybsMID, ProcessorMID?, HierarchyID?, TransRefNumber?, MerchantRefNumber?, TransactionType?, Amount?, TransactionAmountCurrency?, PaymentMethod?, PaymentType?, AccountSuffix?, Decision?, ReasonCode?, Auth?, MerchantDefinedData1?, MerchantDefinedData2?, MerchantDefinedData3?, MerchantDefinedData4?)> <!ELEMENT LinkToRequest (#PCDATA)> <!ELEMENT RequestID (#PCDATA)> <!ELEMENT TransactionDate (#PCDATA)> <!ELEMENT CybsMID (#PCDATA)> <!ELEMENT ProcessorMID (#PCDATA)> <!ELEMENT HierarchyID (#PCDATA)> <!ELEMENT TransRefNumber (#PCDATA)> <!ELEMENT MerchantRefNumber (#PCDATA)> <!ELEMENT TransactionType (#PCDATA)> <!ELEMENT Amount (#PCDATA)> <!ELEMENT TransactionAmountCurrency (#PCDATA)> <!ELEMENT PaymentMethod (#PCDATA)> <!ELEMENT PaymentType (#PCDATA)> <!ELEMENT AccountSuffix (#PCDATA)> <!ELEMENT Decision (#PCDATA)> <!ELEMENT ReasonCode (#PCDATA)> <!ELEMENT Auth (TransRefNumber?, TransactionDate?, RequestID?, Amount?, Currency?, AuthCode?, ReasonCode?, RCode?)> <!ELEMENT TransRefNumber (#PCDATA)> <!ELEMENT TransactionDate (#PCDATA)> <!ELEMENT RequestID (#PCDATA)> <!ELEMENT Amount (#PCDATA)> <!ELEMENT Currency (#PCDATA)> <!ELEMENT AuthCode (#PCDATA)> <!ELEMENT ReasonCode (#PCDATA)> <!ELEMENT RCode (#PCDATA)> <!ELEMENT MerchantDefinedData1 (#PCDATA)> <!ELEMENT MerchantDefinedData2 (#PCDATA)> <!ELEMENT MerchantDefinedData3 (#PCDATA)> <!ELEMENT MerchantDefinedData4 (#PCDATA)>

Example XML-Formatted Batch Submission Detail Report

This example shows an XML-formatted Batch Submission Detail report for a batch file that specifies a single authorization request.
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE Report SYSTEM "https://businesscentertest.cybersource.com/ebctest/reports/dtd/bsd.dtd"> <Report Name="Batch Submission Detail Report" Version="1.0" xmlns="https://businesscentertest.cybersource.com/ebctest/reports/dtd/bsd.dtd" Name="Batch Submission Detail Report" SubmissionFileID="12345678" SubmissionDateTime="2022-03-18 15:15:40 GMT" Version="1.0"> <Transaction> <LinkToRequest>2689254011060008415089</LinkToRequest> <RequestID>2689254011060008415089</RequestID> <TransactionDate>2022-03-18 15:16:41 GMT</TransactionDate> <CybsMID>examplemerchantid</CybsMID> <TransRefNumber>81389795F6RU7QH0</TransRefNumber> <MerchantRefNumber>12345-8569-8794654</MerchantRefNumber> <TransactionType>ics_bill,ics_auth</TransactionType> <Amount>1.00</Amount> <TransactionAmountCurrency>USD</TransactionAmountCurrency> <PaymentMethod>credit card</PaymentMethod> <PaymentType>MasterCard</PaymentType> <AccountSuffix>1234</AccountSuffix> <ReasonCode>231</ReasonCode> <Auth> <RequestID>2689254011060008415089</RequestID> </Auth> </Transaction> </Report>

Example CSV-Formatted Batch Submission Detail Report

This example shows a CSV-formatted Batch Submission Detail report for a batch file that specifies a single authorization request.
This example shows a report in CSV format that contains one batch file consisting of four authorization requests.
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 2020-02-06 23:50:41 GMT,10100019,9.99E+21, 5.81E+21,2020-02-06 23:50:56 GMT,example_renewal, exampleCYBS,CS000000196682612120020707470300001,"ics_ bill,ics_auth",684.18, SGD,credit card,Visa,1625,100,2CYBS,2020-02-06 23:50:56 GMT,9.99E+21,684.18, SGD,34521,1 2020-02-06 23:50:41 GMT,10100019,9.99E+21,5.81E+21,2020-02-06 23:50:56 GMT,example_renewal,exampleCYBS,CS000000197045901520020707470300005, "ics_bill,ics_auth",111.37,SGD,credit card,Visa,5246,100,2CYBS,2020-02-06 23:50:56 GMT,9.99E+21,111.37,SGD,698141,1 2020-02-06 23:50:41 GMT,10100019,9.99E+21, 5.81E+21,2020-02-06 23:50:56 GMT,example_renewal, exampleCYBS,CS000000197194803220020707470300006, "ics_auth,ics_bill",140.02,SGD,credit card,Visa,7315,100,2CYBS,2020-02-06 23:50:56 GMT,9.99E+21,140.02,SGD,42372,1 2020-02-06 23:50:41 GMT,10100019,9.99E+21,5.81E+21,2020-02-06 23:50:56 GMT,example_renewal,exampleCYBS,CS000000194267014620020707470300007, "ics_bill,ics_auth",74.13SGD,credit card,MasterCard,782,100,2CYBS,2020-02-06 23:50:56 GMT,9.99E+21,74.13,SGD,T87562,1

Reference: Request Fields for Batch Files

The Offline Transaction File Submission system ingests batched payment requests composed of fields from the Cybersource Simple Order API.
The tables in this section list the Simple Order API fields you use to create transaction requests in a batch file:
  • Fields for an Authorization Request
  • Fields for a Sale Request
  • Fields for a Capture Request
  • Fields for a Credit Request
  • Fields for an ACH Service Debit Request
  • Fields for an ACH Service Credit Request

Fields for an Authorization Request

This table describes the required and optional fields for specifying an authorization request.
Field names are listed in the table as they appear in batch file templates. An asterisk after a field name indicates that the field is required for an authorization request. When you create a batch file based on a template, remove any asterisks from field names.
Fields in a Data Record for an Authorization Request
Column
Field Name
Description
Required?
Data type
Length
A
merchantReferenceCode*
Merchant-generated order reference or tracking number.
Required
String
50
B
purchaseTotals_currency*
Currency used for the order.
Required
String
5
C
purchaseTotals_grandTotalAmount*
Grand total for the order. You must include either this field or
item_#_unitPrice
in your request. If you use
TSYS Acquiring Solutions
as your payment processor, you can set this field to 0 to check whether the card is lost or stolen.
Required
String
15
D
billTo_firstName*
Customer’s first name. Set the value to the customer's first name as it appears on the card.
Required
String
60
E
billTo_lastName*
Customer’s last name. Set the value to the customer's last name as it appears on the card.
Required
String
60
F
billTo_customerID
Your identifier for the customer.
Optional
String
50
G
billTo_email*
Customer’s email address, including the full domain name. For example: [email protected]
Required
String
255
H
billTo_street1*
First line of the billing street address.
Required
String
60
I
billTo_street2
Second line of the billing street address. Used for additional address information. For example: Attention: Accounts Payable
Required
String
60
J
billTo_city*
City of the billing address.
Required
String
50
K
billTo_state*
State or province of the billing address. Use the two-character codes.
Required
String
2
L
billTo_country*
Country of the billing address. Use the two-character ISO codes.
Required
String
2
M
billTo_postalCode*
Postal code for the billing address. The postal code must consist of 5 to 9 digits. For a 9-digit postal code, use this format: [5 digits][dash][4 digits]. If the value of billTo_country is CA, the postal code must follow these rules: If the number of characters is greater than 3, the first 3 characters must be in this format: [alpha][numeric][alpha]. If the number of characters is 7, the last 3 characters must be in this format: [numeric][alpha][numeric].
Required
String
10
N
card_accountNumber*
Customer’s credit card number.
Required
String (Numbers Only)
20
O
billTo_phoneNumber
Customer’s phone number.
Required
String
15
P
card_expirationMonth*
Two-digit month in which the credit card expires. Format: MM. Possible values: 01 through 12. The leading 0 is required.
Required
String
2
Q
card_expirationYear*
Four-digit year in which the credit card expires. Format: YYYY.
Required
String
4
R
card_cardType*
Type of card to authorize. This field is required if the card type is JCB (007), and optional for all other card types. • 001: Visa • 002: MasterCard • 003: American Express • 004: Discover • 005: Diners Club • 007: JCB (required)
Required
String
3
S
card_cvIndicator
Card verification indicator used to indicate if a card verification value was sent. Accepted by
FDMS Nashville
. Possible values:• 0: CV number service not requested.• 1: CV number service requested and supported.• 2: CV number on credit card is illegible.• 9: CV number was not imprinted on credit card. The default value is 1 if you send the card_cvNumber field in the request, and 0 if you do not send the card_cvNumber field.
Optional
String (Numbers Only)
4
T
card_cvNumber
Card verification number.
Optional
String (Numbers Only)
2
U
ccAuthService_commerceIndicator
Transaction channel type. Possible values: • internet (default): eCommerce transaction. • install: Installment profile. Payments will be made in installments. If selected, then installment_sequence and installment_totalCount are required. This value is valid only for Visa. • moto: Mail order or telephone order. See Indicating a Recurring Payment for information about recurring payments.
Optional
String
13
V
comments
Optional comments you have about the authorization. These comments will not be shown to the customer.
Optional
String
255
W
merchantDefinedData_field1
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
X
merchantDefinedData_field2
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
Y
merchantDefinedData_field3
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
Z
merchantDefinedData_field4
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
AA
shipTo_firstName
First name of the person receiving the shipment.
Optional
String
60
AB
shipTo_lastName
Last name of the person receiving the shipment.
Optional
String
60
AC
shipTo_street1
First line of the address to which to ship the product.
Optional
String
60
AD
shipTo_street2
Second line of the address to which to ship the product.
Optional
String
60
AE
shipTo_city
City to which to ship the product.
Optional
String
50
AF
shipTo_state
State or province to which to ship the product. Use the two-character codes.
Optional
String
2
AG
shipTo_country
Country to which to ship the product. Use the two-character ISO codes.
Optional
String
2
AH
shipTo_postalCode
Postal code for the shipping address. The postal code must consist of 5 to 9 digits. For a 9-digit postal code, use this format:
  • [5 digits][dash][4 digits]
If the value of shipTo_country is CA, the postal code must follow these rules:
  • If the number of characters is greater than 3, the first 3 characters must be in this format: [alpha][numeric][alpha].
  • If the number of characters is 7, the last 3 characters must be in this format: [numeric][alpha][numeric].
Optional
String
10

Fields for a Sale Request

This table describes the required and optional fields for specifying a sale request.
Field names are listed in the table as they appear in batch file templates. An asterisk after a field name indicates that the field is required for an authorization request. When you create a batch file based on a template, remove any asterisks from field names.
Fields in a Data Record for a Sale Request
Column
Field Name
Description
Required?
Data Type
Length
A
merchantReferenceCode
*
Merchant-generated order reference or tracking number.
Required
String
50
B
purchaseTotals_currency*
Currency used for the order.
Required
String
5
C
purchaseTotals_grandTotalAmount*
Grand total for the order. You must include either this field or
item_#_unitPrice
in your request. If you use
TSYS Acquiring Solutions
as your payment processor, you can set this field to 0 to check whether the card is lost or stolen.
Required
String
15
D
billTo_firstName*
Customer’s first name. The value should be the same as the one that appears on the card.
Required
String
60
E
billTo_lastName*
Customer’s last name. The value should be the same as the one that appears on the card.
Required
String
60
F
billTo_customerID
Your identifier for the customer.
Optional
String
50
G
billTo_email*
Customer’s email address, including the full domain name. For example: [email protected]
Required
String
255
H
billTo_street1*
First line of the billing street address.
Required
String
60
I
billTo_street2
Second line of the billing street address. Used for additional address information. For example: Attention: Accounts Payable
Required
String
60
J
billTo_city*
City of the billing address.
Required
String
50
K
billTo_state*
State or province of the billing address. Use the two-character codes.
Required
String
2
L
billTo_country*
Country of the billing address. Use the two-character ISO codes.
Required
String
2
M
billTo_postalCode*
Postal code for the billing address. The postal code must consist of 5 to 9 digits. For a 9-digit postal code, use this format:
  • [5 digits][dash][4 digits]
If the value of billTo_country is CA, the postal code must follow these rules:
  • If the number of characters is greater than 3, the first 3 characters must be in this format: [alpha][numeric][alpha].
  • If the number of characters is 7, the last 3 characters must be in this format: [numeric][alpha][numeric].
Required
String
10
N
card_accountNumber*
Customer’s credit card number.
Required
String (Numbers Only)
20
O
billTo_phoneNumber
Customer’s phone number.
Required
String
15
P
card_expirationMonth*
Two-digit month in which the credit card expires. Format: MM. Possible values: 01 through 12. The leading 0 is required.
Required
String
2
Q
card_expirationYear*
Four-digit year in which the credit card expires. Format: YYYY.
Required
String
4
R
card_cardType*
Type of card to authorize. This field is required if the card type is JCB (007), and optional for all other card types.
  • 001: Visa
  • 002: MasterCard
  • 003: American Express
  • 004: Discover
  • 005: Diners Club
  • 007: JCB (required)
Required
String
3
S
card_cvIndicator
Card verification indicator used to indicate if a card verification value was sent. Accepted by
FDMS Nashville
. Possible values:
  • 0: CV number service not requested.
  • 1: CV number service requested and supported.
  • 2: CV number on credit card is illegible.
  • 9: CV number was not imprinted on credit card.
The default value is 1 if you send the card_cvNumber field in the request, and 0 if you do not send the card_cvNumber field.
Optional
String (Numbers Only)
4
T
card_cvNumber
Card verification number.
Optional
String (Numbers Only)
2
U
ccAuthService_commerceIndicator
Transaction channel type. Possible values:
  • internet (default): eCommerce transaction.
  • install: Installment profile. Payments will be made in installments. If selected, then installment_sequence and installment_totalCount are required. This value is valid only for Visa.
  • moto: Mail order or telephone order.
See Indicating a Recurring Payment for information about recurring payments.
Optional
String
13
V
comments
Optional comments you have about the authorization. These comments will not be shown to the customer.
Optional
String
255
W
merchantDefinedData_field1
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
X
merchantDefinedData_field2
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
Y
merchantDefinedData_field3
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
Z
merchantDefinedData_field4
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
AA
shipTo_firstName
First name of the person receiving the shipment.
Optional
String
60
AB
shipTo_lastName
Last name of the person receiving the shipment.
Optional
String
60
AC
shipTo_street1
First line of the address to which to ship the product.
Optional
String
60
AD
shipTo_street2
Second line of the address to which to ship the product.
Optional
String
60
AE
shipTo_city
City to which to ship the product.
Optional
String
50
AF
shipTo_state
State or province to which to ship the product. Use the two-character codes.
Optional
String
2
AG
shipTo_country
Country to which to ship the product. Use the two-character ISO codes.
Optional
String
2
AH
shipTo_postalCode
Postal code for the shipping address. The postal code must consist of 5 to 9 digits. For a 9-digit postal code, use this format:
  • [5 digits][dash][4 digits]
If the value of shipTo_country is CA, the postal code must follow these rules:
  • If the number of characters is greater than 3, the first 3 characters must be in this format: [alpha][numeric][alpha].
  • If the number of characters is 7, the last 3 characters must be in this format: [numeric][alpha][numeric].
Optional
String
10

Fields for a Capture Request

This table describes the required and optional fields for specifying a capture request.
Field names are listed in the table as they appear in batch file templates. An asterisk after a field name indicates that the field is required for an authorization request. When you create a batch file based on a template, remove any asterisks from field names.
Fields in a Data Record for a Capture Request
Column
Field Name
Description
A
merchantReferenceCode
*
Merchant-generated order reference or tracking number.
  • Data type: String
  • Data length: 50
  • Required
B
purchaseTotals_currency*
Currency used for the order.
  • Data type: String
  • Data length: 5
  • Required
C
purchaseTotals_grandTotalAmount*
Grand total for the order. You must include either this field or
item_#_unitPrice
in your request. If you use
TSYS Acquiring Solutions
as your payment processor, you can set this field to 0 to check whether the card is lost or stolen.
  • Data type: String
  • Data length: 15
  • Required
D
ccCaptureService_authRequestID*
The requestID returned from a previous request for ccAuthService.
  • Data type: NA
  • Data length: NA
  • Required
E
ccCaptureService_authRequestToken
The requestToken returned from a previous request for ccAuthService.
  • Data type: NA
  • Data length: NA
  • Optional
F
ccCaptureService_authType
If the request contains a verbally authorized transaction, this field must contain the value verbal.
  • Data type: NA
  • Data length: NA
  • Optional
G
ccCaptureService_verbalAuthCode
Verbally received authorization code.
  • Data type: NA
  • Data length: NA
  • Optional
H
billTo_customerID
Your identifier for the customer.
  • Data type: NA
  • Data length: NA
  • Optional
I
merchantDefinedData_field1
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
  • Data type: String
  • Data length: 64
  • Optional
J
merchantDefinedData_field2
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
  • Data type: String
  • Data length: 64
  • Optional
K
merchantDefinedData_field3
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
  • Data type: String
  • Data length: 64
  • Optional
L
merchantDefinedData_field4
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
  • Data type: String
  • Data length: 64
  • Optional

Fields for a Credit Request

This table describes the required and optional fields for specifying a credit request.
Field names are listed in the table as they appear in batch file templates. An asterisk after a field name indicates that the field is required for an authorization request. When you create a batch file based on a template, remove any asterisks from field names.
Fields in a Data Record for a Credit Request
Column
Field Name
Description
Required?
Data Type
Length
A
merchantReferenceCode*
Merchant-generated order reference or tracking number.
Required
String
50
B
purchaseTotals_currency*
Currency used for the order.
Required
String
5
C
purchaseTotals_grandTotalAmount*
Grand total for the order. You must include either this field or
item_#_unitPrice
in your request. If you use
TSYS Acquiring Solutions
as your payment processor, you can set this field to 0 to check whehter the card is lost or stolen.
Required
String
15
D
ccCaptureService_authRequestID*
The requestID returned from a previous request for ccAuthService.
Required
NA
NA
E
ccCaptureService_authRequestToken
The requestToken returned from a previous request for ccAuthService.
Optional
NA
NA
F
ccCaptureService_authType
If the request contains a verbally authorized transaction, this field must contain the value verbal.
Optional
NA
NA
G
ccCaptureService_verbalAuthCode
Verbally received authorization code.
Optional
NA
NA
H
billTo_customerID
Your identifier for the customer.
Optional
NA
NA
I
merchantDefinedData_field1
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
J
merchantDefinedData_field2
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
K
merchantDefinedData_field3
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
L
merchantDefinedData_field4
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
M
billTo_postalCode*
Postal code for the billing address. The postal code must consist of 5 to 9 digits. For a 9-digit postal code, use this format:
  • [5 digits][dash][4 digits]
If the value of billTo_country is CA, the postal code must follow these rules:
  • If the number of characters is greater than 3, the first 3 characters must be in this format: [alpha][numeric][alpha].
  • If the number of characters is 7, the last 3 characters must be in this format: [numeric][alpha][numeric].
Required
String
10
N
card_accountNumber*
Customer’s credit card number.
Required
String (Numbers Only)
20
O
card_cardType*
Type of card to authorize. This field is required if the card type is JCB (007), and optional for all other card types.
  • 001: Visa
  • 002: MasterCard
  • 003: American Express
  • 004: Discover
  • 005: Diners Club
  • 007: JCB (required)
Required
String
3
P
billTo_phoneNumber
Customer’s phone number.
Required
String
15
Q
card_expirationMonth*
Two-digit month in which the credit card expires. Format: MM. Possible values: 01 through 12. The leading 0 is required.
Required
String
2
R
card_expirationYear*
Four-digit year in which the credit card expires. Format: YYYY.
Required
String
4
S
card_cvIndicator
Card verification indicator used to indicate if a card verification value was sent. Accepted by
FDMS Nashville
. Possible values:
  • 0: CV number service not requested.
  • 1: CV number service requested and supported.
  • 2: CV number on credit card is illegible.
  • 9: CV number was not imprinted on credit card.
The default value is 1 if you send the card_cvNumber field in the request, and 0 if you do not send the card_cvNumber field.
Optional
String (Numbers Only)
4
T
card_cvNumber
Card verification number.
Optional
String (Numbers Only)
2
U
ccCreditService_captureRequestID
The requestID returned from a previous request for ccCaptureService. Creates a follow-on credit by linking the credit to the previous capture. If you send this field, you do not need to send several other Credit request fields. See Crediting a Payment for more information about follow-on credits.
Optional
NA
NA
V
ccCreditService_captureRequestToken
The requestToken returned from a previous request for ccCaptureService.
Optional
NA
NA
W
ccCreditService_commerceIndicator
Transaction type. Use with stand-alone credits. See Request Fields for possible values.
Optional
NA
NA
X
merchantDefinedData_field1
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
Y
merchantDefinedData_field2
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
Z
merchantDefinedData_field3
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
AA
merchantDefinedData_field4
Four fields that you can use to store information. NOTE: If you are creating a profile based on an authorization, the merchant-defined data fields do not get transferred to the new profile.
Optional
String
64
AB
shipTo_firstName
First name of the person receiving the shipment.
Optional
String
60
AC
shipTo_lastName
Last name of the person receiving the shipment.
Optional
String
60
AD
shipTo_street1
First line of the address to which to ship the product.
Optional
String
60
AE
shipTo_street2
Second line of the address to which to ship the product.
Optional
String
60
AF
shipTo_city
City to which to ship the product.
Optional
String
50
AG
shipTo_state
State or province to which to ship the product. Use the two-character codes.
Optional
String
2
AH
shipTo_country
Country to which to ship the product. Use the two-character ISO codes.
Optional
String
2
AI
shipTo_postalCode
Postal code for the shipping address. The postal code must consist of 5 to 9 digits. For a 9-digit postal code, use this format:
  • [5 digits][dash][4 digits]
If the value of shipTo_country is CA, the postal code must follow these rules:
  • If the number of characters is greater than 3, the first 3 characters must be in this format: [alpha][numeric][alpha].
  • If the number of characters is 7, the last 3 characters must be in this format: [numeric][alpha][numeric].
Optional
String
10

Fields for an ACH Service Debit Request

This table describes the required and optional fields for specifying an ACH service debit request.
Field names are listed in the table as they appear in batch file templates. An asterisk after a field name indicates that the field is required for an authorization request. When you create a batch file based on a template, remove any asterisks from field names.
Fields in a Data Record for an ACH Service Debit Request
Column
Field Name
Description
Required?
Data Type
Length
A
merchantReferenceCode
*
Merchant-generated order reference or tracking number.
Required
String
50
B
purchaseTotals_currency*
Currency used for the order.
Required
String
5
C
purchaseTotals_grandTotalAmount*
Grand total for the order. You must include either this field or
item_#_unitPrice
in your request. If you use
TSYS Acquiring Solutions
as your payment processor, you can set this field to 0 to check whether the card is lost or stolen.
Required
String
15
D
billTo_firstName*
Customer’s first name. The value should be the same as the one that appears on the card.
Required
String
60
E
billTo_lastName*
Customer’s last name. The value should be the same as the one that appears on the card.
Required
String
60
F
billTo_customerID
Your identifier for the customer.
Optional
String
50
G
billTo_email*
Customer’s email address, including the full domain name. For example: [email protected]
Required
String
255
H
billTo_street1*
First line of the billing street address.
Required
String
60
I
billTo_street2
Second line of the billing street address. Used for additional address information. For example: Attention: Accounts Payable
Required
String
60
J
billTo_city*
City of the billing address.
Required
String
50
K
billTo_state*
State or province of the billing address. Use the two-character codes.
Required
String
2
L
billTo_country*
Country of the billing address. Use the two-character ISO codes.
Required
String
2
M
billTo_postalCode*
Postal code for the billing address. The postal code must consist of 5 to 9 digits. For a 9-digit postal code, use this format:
  • [5 digits][dash][4 digits]
If the value of billTo_country is CA, the postal code must follow these rules:
  • If the number of characters is greater than 3, the first 3 characters must be in this format: [alpha][numeric][alpha].
  • If the number of characters is 7, the last 3 characters must be in this format: [numeric][alpha][numeric].
Required
String
10
N
check_accountType*
Checking account type. See Request Fields for possible values.
Required
NA
NA
O
check_bankTransitNumber*
Bank routing number (or "transit number").
Required
NA
NA
P
check_accountNumber*
Checking account number. If processing encoded account numbers, use this field for the encoded account number.
Required
NA
NA
Q
check_checkNumber
Check number. NOTE: If you use AmeriNet, check with them to see if they require you to provide this field.
Optional
NA
NA
R
billTo_phoneNumber
Customer’s phone number.
Optional
String
15
S
billTo_driversLicenseNumber
Driver’s license number of the customer. Required for AmeriNet guaranteed personal checking. For
TeleCheck
, see description of billTo_company.
Optional
NA
NA
T
billTo_driversLicenseState
State or province where the customer’s driver’s license was issued. Required for AmeriNet guaranteed personal checking. For
TeleCheck
, see description of billTo_company.
Optional
NA
NA
U
billTo_company
Name of the customer’s company. Required for AmeriNet guaranteed corporate checking. For
TeleCheck
personal checks, you must provide billTo_driversLicenseNumber and billTo_driversLicenseState. For
TeleCheck
corporate checks, you must provide either both billTo_driversLicenseNumber and billTo_driversLicenseState, or both billTo_company and billTo_companyTaxID.
Optional
NA
NA
V
billTo_companyTaxID
Tax identifier of the customer’s company. For
TeleCheck
, see description of billTo_company.
Optional
NA
NA
W
billTo_dateOfBirth
Customer’s date of birth. NOTE: If you use AmeriNet, check with them to see if they require you to provide this field. For AmeriNet corporate accounts, use the value 1970-01-01.
Optional
NA
NA
X
billTo_ipAddress
IP address for the customer. Example: 10.1.27.63.
Optional
String
15
Y
check_secCode
Code that specifies the authorization method for the transaction.
Optional
String
3

Fields for an ACH Service Credit Request

This table describes the required and optional fields for specifying an ACH service credit request.
Field names are listed in the table as they appear in batch file templates. An asterisk after a field name indicates that the field is required for an authorization request. When you create a batch file based on a template, remove any asterisks from field names.
Fields in a Data Record for an ACH Service Credit Request
Column
Field Name
Description
Required?
Data Type
Length
A
merchantReferenceCode
*
Merchant-generated order reference or tracking number.
Required
String
50
B
purchaseTotals_currency*
Currency used for the order.
Required
String
5
C
purchaseTotals_grandTotalAmount*
Grand total for the order. You must include either this field or
item_#_unitPrice
in your request. If you use
TSYS Acquiring Solutions
as your payment processor, you can set this field to 0 to check whether the card is lost or stolen.
Required
String
15
D
billTo_firstName*
Customer’s first name. The value should be the same as the one that appears on the card.
Required
String
60
E
billTo_lastName*
Customer’s last name. The value should be the same as the one that appears on the card.
Required
String
60
F
billTo_email*
Customer’s email address, including the full domain name. For example: [email protected]
Required
String
255
G
billTo_street1*
First line of the billing street address.
Required
String
60
H
billTo_street2
Second line of the billing street address. Used for additional address information. For example: Attention: Accounts Payable
Required
String
60
I
billTo_city*
City of the billing address.
Required
String
50
J
billTo_state*
State or province of the billing address. Use the two-character codes.
Required
String
2
K
billTo_country*
Country of the billing address. Use the two-character ISO codes.
Required
String
2
L
billTo_postalCode*
Postal code for the billing address. The postal code must consist of 5 to 9 digits. For a 9-digit postal code, use this format:
  • [5 digits][dash][4 digits]
If the value of billTo_country is CA, the postal code must follow these rules:
  • If the number of characters is greater than 3, the first 3 characters must be in this format: [alpha][numeric][alpha].
  • If the number of characters is 7, the last 3 characters must be in this format: [numeric][alpha][numeric].
Required
String
10
M
check_accountType*
Checking account type. See Request Fields for possible values.
Required
NA
NA
N
check_bankTransitNumber*
Bank routing number (or "transit number").
Required
NA
NA
O
check_accountNumber*
Checking account number. If processing encoded account numbers, use this field for the encoded account number.
Required
NA
NA
P
check_checkNumber
Check number. NOTE: If you use AmeriNet, check with them to see if they require you to provide this field.
Optional
NA
NA
Q
billTo_phoneNumber
Customer’s phone number.
Optional
String
15
R
billTo_driversLicenseNumber
Driver’s license number of the customer. Required for AmeriNet guaranteed personal checking. For
TeleCheck
, see description of billTo_company.
Optional
NA
NA
S
billTo_driversLicenseState
State or province where the customer’s driver’s license was issued. Required for AmeriNet guaranteed personal checking. For
TeleCheck
, see description of billTo_company.
Optional
NA
NA
T
billTo_company
Name of the customer’s company. Required for AmeriNet guaranteed corporate checking. For
TeleCheck
personal checks, you must provide billTo_driversLicenseNumber and billTo_driversLicenseState. For
TeleCheck
corporate checks, you must provide either both billTo_driversLicenseNumber and billTo_driversLicenseState, or both billTo_company and billTo_companyTaxID.
Optional
NA
NA
U
billTo_companyTaxID
Tax identifier of the customer’s company. For
TeleCheck
, see description of billTo_company.
Optional
NA
NA
V
ecCreditService_debitRequestID
The requestID from the previous debit. See Follow-on or Stand-Alone Credit for more information.
Required for a
Cybersource
follow-on credit.
NA
NA
W
ecCreditService_debitRequestToken
The requestToken returned from a previous request for ecDebitService.
Optional
NA
NA
X
ecCreditService_partialPaymentID
Merchant-generated value that identifies a specific partial credit associated with an order. Make sure the field value you use for each credit request is unique within the scope of the order. Used only for
TeleCheck
. See Multiple Partial Credits.
Required for
TeleCheck
partial credits.
NA
NA
Y
ecCreditService_referenceNumber
For
Cybersource
stand-alone credits with
TeleCheck
, set this field to the value that you received in the ecDebitReply_reconciliationID field in the associated debit’s reply. See Follow-on or Stand-Alone Credit for more information.
Required for
Cybersource
stand-alone credits with
TeleCheck
.
NA
NA
Z
billTo_dateOfBirth
Customer’s date of birth. NOTE: If you use AmeriNet, check with them to see if they require you to provide this field. For AmeriNet corporate accounts, use the value 1970-01-01.
Optional
NA
NA

Reference: Mapping SCMP API Field Names to Simple Order Names

The Offline Transaction File Submission system ingests batched payment requests composed of fields from the Cybersource Simple Order API.
If you normally use the SCMP API to request individual transactions, you need to know which Simple Order API fields correspond to the SCMP API fields with which you are familiar.
  • To request services in the SCMP API, you would set the
    ics_applications
    field to a comma-separated list of the services you want to run. For example, to request a credit card sale using the SCMP API:
    ics_applications=ics_auth,ics_bill
  • To request services in the Simple Order API, you instead set each service to
    true
    . To request a credit card sale using the Simple Order API:
    ccAuthService_run=true ccCaptureService_run=true
The tables in this section contain an alphabetical lists of SCMP API field names and corresponding Simple Order API field names:
  • Request-level fields
  • Core response fields
  • Offer-level fields
  • Response fields

Request-Level Fields

Note that the core response fields for the SCMP API and the Simple Order API are different. For details, see Core Response Fields.
Request-Level Fields
SCMP API
Simple Order API
account_encoder_id
check_accountEncoderID (for ACH services)
card_accountEncoderID (for credit cards)
action_code
riskUpdateService_actionCode
address1
riskUpdateService_negativeAddress_street1
address2
riskUpdateService_negativeAddress_street2
airline_agent_code
airlineData_agentCode
airline_agent_name
airlineData_agentName
airline_booking_reference
airlineData_bookingReference
airline_carrier_name
airlineData_carrierName
airline_charge_details
airlineData_chargeDetails
airline_check_digit
airlineData_checkDigit
airline_customer_code
airlineData_customerCode
airline_document_number
airlineData_documentNumber
airline_document_number_of_parts
airlineData_documentNumberOfParts
airline_document_type
airlineData_documentType
airline_extended_payment_code
airlineData_extendedPaymentCode
airline_invoice_number
airlineData_invoiceNumber
airline_leg#_carrier_code
airlineData_leg_#_carrierCode
airline_leg#_class
airlineData_leg_#_class
airline_leg#_depart_tax
airlineData_leg_#_departTax
airline_leg#_destination
airlineData_leg_#_destination
airline_leg#_fare_basis
airlineData_leg_#_fareBasis
airline_leg#_flight_number
airlineData_leg_#_flightNumber
airline_leg#_leg_departure_date
airlineData_leg_#_departureDate
airline_leg#_originating_airport_code
airlineData_leg_#_originatingAirportCode
airline_leg#_stopover_code
airlineData_leg_#_stopoverCode
airline_passenger_name
airlineData_passengerName
airline_restricted_ticket_indicator
airlineData_restrictedTicketIndicator
airline_ticket_issuer_city
airlineData_ticketIssuerCity
airline_ticket_issuer_code
airlineData_ticketIssuerCode
airline_ticket_issuer_country
airlineData_ticketIssuerCountry
airline_ticket_issuer_name
airlineData_ticketIssuerName
airline_ticket_issuer_postal_code
airlineData_ticketIssuerPostalCode
airline_ticket_issuer_state
airlineData_ticketIssuerState
airline_ticket_number
airlineData_ticketNumber
airline_transaction_type
airlineData_transactionType
alternate_tax_amount
otherTax_alternateTaxAmount
alternate_tax_amount_indicator
otherTax_alternateTaxIndicator
alternate_tax_id
otherTax_alternateTaxID
amexdata_taa1
invoiceHeader_amexDataTAA1
amexdata_taa2
invoiceHeader_amexDataTAA2
amexdata_taa3
invoiceHeader_amexDataTAA3
amexdata_taa4
invoiceHeader_amexDataTAA4
auth_code
ccAuthService_verbalAuthCode (for credit card authorization)
ccCaptureService_verbalAuthCode (for credit card capture)
auth_request_id
ccCaptureService_authRequestID (for credit card capture)
ccAuthReversalService_authRequestID (for credit card full authorization reversal)
auth_trans_ref_no
ccAuthService_reconciliationID
auth_type
ccAuthService_authType (for credit card authorization)
ccCaptureService_authType (for credit card capture)
authorization_id
directDebitService_authorizationID
avs
afsService_avsCode
avs_level
ccAuthService_avsLevel
bank_account_name
fundTransfer_accountName
bank_account_number
fundTransfer_accountNumber
bank_address
bankInfo_address
bank_city
bankInfo_city
bank_code
bankInfo_bankCode
bank_country
bankInfo_country
bank_name
bankInfo_name
bank_sortcode
bankInfo_sortCode
bank_swiftcode
bankInfo_swiftCode
bank_transfer_request_id
bankTransferRefundService_bankTransferRequestID
bank_transfer_trans_ref_no
bankTransferRefundService_reconciliationID
batch_id
batch_batchID
batch_record_id
batch_recordID
bill_address1
billTo_street1
bill_address2
billTo_street2
bill_address3
billTo_street3
bill_address4
billTo_street4
bill_city
billTo_city
bill_company_tax_id
billTo_companyTaxID
bill_country
billTo_country
bill_county
billTo_county
bill_payment
ccAuthService_billPayment (for credit card authorization)
ccCreditService_billPayment (for credit card credit)
bill_request_id
ccCreditService_captureRequestID
bill_state
billTo_state
bill_trans_ref_no
ccCaptureService_reconciliationID
bill_zip
billTo_postalCode
bml_customer_billing_address_change
bml_customerBillingAddressChange
bml_customer_email_change
bml_customerEmailChange
bml_customer_has_checking_account
bml_customerHasCheckingAccount
bml_customer_has_savings_account
bml_customerHasSavingsAccount
bml_customer_password_change
bml_customerPasswordChange
bml_customer_phone_change
bml_customerPhoneChange
bml_customer_registration_date
bml_customerRegistrationDate
bml_customer_type_flag
bml_customerTypeFlag
bml_gross_household_income
bml_grossHouseholdIncome
bml_household_income_currency
bml_householdIncomeCurrency
bml_item_category
bml_itemCategory
bml_merchant_promotion_code
bml_merchantPromotionCode
bml_preapprovalNumber
bml_preapprovalNumber
bml_product_delivery_type_indicator
bml_productDeliveryTypeIndicator
bml_residence_status
bml_residenceStatus
bml_tc_version
bml_tcVersion
bml_years_at_current_residence
bml_yearsAtCurrentResidence
bml_years_with_current_employer
bml_yearsWithCurrentEmployer
branch_check_digit
fundTransfer_bankCheckDigit
branch_code
bankInfo_branchCode
button_type
payPalButtonCreateService_buttonType
buyer_registration
taxService_buyerRegistration
card_present
pos_cardPresent
card_type
card_cardType
cat_level
pos_catLevel
cavv
ccAuthService_cavv
cc_bin
card_bin
city
riskUpdateService_negativeAddress_city
client_lib_version
The contents of the SCMP API field are split into these Simple Order API fields:
  • clientLibrary
  • clientLibraryVersion
  • clientApplication
  • clientApplicationUser
  • clientApplicationVersion
  • clientEnvironment
comments
comments
company_name
billTo_company
cost_center
invoiceHeader_costCenter
country
riskUpdateService_negativeAddress_country
credit_trans_ref_no
ccCreditService_reconciliationID
currency
purchaseTotals_currency
customer_account_id
billTo_customerID
customer_cc_cv_indicator
card_cvIndicator
customer_cc_cv_number
card_cvNumber
customer_cc_expmo
card_expirationMonth
customer_cc_expyr
card_expirationYear
customer_cc_issue_number
card_issueNumber
customer_cc_number
card_accountNumber
customer_cc_startmo
card_startMonth
customer_cc_startyr
card_startYear
customer_cookies_accepted
billTo_httpBrowserCookiesAccepted
customer_email
billTo_email
customer_firstname
billTo_firstName
customer_gift_wrap
invoiceHeader_isGift
customer_hostname
billTo_hostname
customer_ipaddress
billTo_ipAddress
customer_ipaddress_class3
billTo_ipNetworkAddress
customer_lastname
billTo_lastName
customer_phone
billTo_phoneNumber
customer_phone_type
bml_billToPhoneType
customer_pin
card_pin
customer_ssn
billTo_ssn
cv_result
afsService_cvCode
date_collect
directDebitService_dateCollect
date_of_birth
billTo_dateOfBirth
debit_trans_ref_no
pinlessDebitService_reconciliationID
decision_manager_enabled
decisionManager_enabled
decision_manager_profile
decisionManager_profile
decline_avs_flags
businessRules_declineAVSFlags
direct_debit_request_id
directDebitRefundService_directDebitRequestID
direct_debit_text
directDebitService_directDebitText
direct_debit_trans_ref_no
directDebitRefundService_reconciliationID
direct_debit_type
directDebitService_directDebitType
direct_debit_validate_text
directDebitValidateService_directDebitValidateText
disable_avs
afsService_disableAVSScoring
domain
billTo_domainName
driver_license_no
billTo_driversLicenseNumber
driver_license_state
billTo_driversLicenseState
duty_amount
purchaseTotals_dutyAmount
e_commerce_indicator
ccAuthService_commerceIndicator (for credit card authorization)
ccCreditService_commerceIndicator (for credit card credit)
pinlessDebitService_commerceIndicator (for PIN-less debit cards)
eci_raw
ccAuthService_eciRaw
ecp_account_no
check_accountNumber
ecp_account_type
check_accountType
ecp_check_no
check_checkNumber
ecp_debit_request_id
ecCreditService_debitRequestID
ecp_payment_key
ecDebitService_transactionToken (for ACH service debit)
ecCreditService_transactionToken (for ACH service credit)
ecp_payment_mode
ecDebitService_paymentMode
ecp_rdfi
check_bankTransitNumber
ecp_ref_no
ecDebitService_referenceNumber (for ACH service debit)
ecCreditService_referenceNumber (for ACH service credit)
ecp_settlement_method
ecDebitService_settlementMethod (for ACH service debit)
ecCreditService_settlementMethod (for ACH service credit)
ecp_verification_level
ecDebitService_verificationLevel
employer_address1
bml_employerStreet1
employer_address2
bml_employerStreet2
employer_city
bml_employerCity
employer_company_name
bml_employerCompanyName
employer_country
bml_employerCountry
employer_phone
bml_employerPhoneNumber
employer_phone_type
bml_employerPhoneType
employer_state
bml_employerState
employer_zip
bml_employerPostalCode
export_address_operator
exportService_addressOperator
export_address_weight
exportService_addressWeight
export_company_weight
exportService_companyWeight
export_name_weight
exportService_nameWeight
freight_amount
purchaseTotals_freightAmount
fxrates_funding_currency
fundingTotals_currency
fxrates_quote_id
ccAuthService_fxQuoteID
gecc_line1…7
gecc_line_0…6
gecc_plan_number
gecc_planNumber
gecc_promotion_end_date
gecc_promotionEndDate
gecc_promotion_plan
gecc_promotionPlan
gecc_sale_type
gecc_saleType
gecc_sequence_number
gecc_sequenceNumber
grand_total_amount
purchaseTotals_grandTotalAmount
http_browser_email
billTo_httpBrowserEmail
http_browser_type
billTo_httpBrowserType
ics_applications
&lt;serviceName&gt;_run
ignore_avs
businessRules_ignoreAVSResult
ignore_bad_cv
businessRules_ignoreCVResult
ignore_dav_result
businessRules_ignoreDAVResult
ignore_export_result
businessRules_ignoreExportResult
ignore_validate_result
businessRules_ignoreValidateResult
industry_datatype
ccCaptureService_industryDatatype (for credit card capture)
ccCreditService_industryDatatype (for credit card credit)
invoice_date
invoiceHeader_invoiceDate
local_tax
otherTax_localTaxAmount
local_tax_indicator
otherTax_localTaxIndicator
merchant_defined_data1
merchantDefinedData_field1
merchant_defined_data2
merchantDefinedData_field2
merchant_defined_data3
merchantDefinedData_field3
merchant_defined_data4
merchantDefinedData_field4
merchant_descriptor
invoiceHeader_merchantDescriptor
merchant_descriptor_contact
invoiceHeader_merchantDescriptorContact
merchant_id
merchantID
merchant_ref_number
merchantReferenceCode
merchant_vat_registration_number
invoiceHeader_merchantVATRegistrationNumber
middleman_registration
taxService_middlemanRegistration
N/A
clientSecurityLibraryVersion
N/A
billTo_title
N/A
billTo_middleName
N/A
billTo_suffix
N/A
shipTo_title
N/A
shipTo_company
N/A
shipTo_middleName
N/A
shipTo_suffix
N/A
shipFrom_street1
N/A
shipFrom_street2
N/A
shipFrom_street3
N/A
shipFrom_street4
N/A
shipFrom_title
N/A
shipFrom_company
N/A
shipFrom_firstName
N/A
shipFrom_middleName
N/A
shipFrom_lastName
N/A
shipFrom_suffix
N/A
shipFrom_phoneNumber
N/A
shipFrom_email
N/A
card_fullName
N/A
check_fullName
N/A
ccCaptureService_transactionToken
N/A
ccCreditService_transactionToken
N/A
ccAuthReversalService_transactionToken
national_tax
otherTax_nationalTaxAmount
national_tax_indicator
otherTax_nationalTaxIndicator
nexus
taxService_nexus
no_nexus
taxService_noNexus
order_acceptance_city
taxService_orderAcceptanceCity
order_acceptance_country
taxService_orderAcceptanceCountry
order_acceptance_county
taxService_orderAcceptanceCounty
order_acceptance_state
taxService_orderAcceptanceState
order_acceptance_zip
taxService_orderAcceptancePostalCode
order_discount_amount
purchaseTotals_discountAmount
order_origin_city
taxService_orderOriginCity
order_origin_country
taxService_orderOriginCountry
order_origin_county
taxService_orderOriginCounty
order_origin_state
taxService_orderOriginState
order_origin_zip
taxService_orderOriginPostalCode
pa_acquirer_bin
payerAuthEnrollService_acquirerBin
pa_country_code
payerAuthEnrollService_countryCode
pa_http_accept
payerAuthEnrollService_httpAccept
pa_http_user_agent
payerAuthEnrollService_httpUserAgent
pa_login_id
payerAuthEnrollService_loginID
pa_merchant_id
payerAuthEnrollService_merchantID
pa_merchant_name
payerAuthEnrollService_merchantName
pa_merchant_url
payerAuthEnrollService_merchantURL
pa_password
payerAuthEnrollService_password
pa_purchase_description
payerAuthEnrollService_purchaseDescription
pa_purchase_time
payerAuthEnrollService_purchaseTime
pa_signedpares
payerAuthValidateService_signedPARes
partial_payment_id
ccCaptureService_partialPaymentID (for credit card capture)
ccCreditService_partialPaymentID (for credit card credit)
ecCreditService_partialPaymentID (for ACH service credit)
ecDebitService_partialPaymentID (for ACH service debit)
payment_type
invoiceHeader_tenderType
paypal_button_create_trans_ref_no
payPalButtonCreateService_reconciliationID
paypal_cancel_url
payPalPaymentService_cancelURL
paypal_credit_trans_ref_no
payPalCreditService_reconciliationID
paypal_mp_id
payPalPreapprovedPaymentService_mpID (for PayPal preapproved payment)
payPalPreapprovedUpdateService_mpID (for PayPal preapproved payment update)
paypal_payment_request_id
payPalCreditService_payPalPaymentRequestID
paypal_payment_trans_ref_no
payPalPaymentService_reconciliatonID
paypal_preapproved_payment_trans_ref_no
payPalPreapprovedPaymentService _reconciliationID
paypal_preapproved_update_trans_ref_no
payPalPreapprovedUpdateService _reconciliationID
paypal_success_url
payPalPaymentService_successURL
pos_condition_code
pos_conditionCode
pos_entry_mode
pos_entryMode
pos_transaction_security
pos_transactionSecurity
purchaser_code
invoiceHeader_purchaserCode
purchaser_order_date
invoiceHeader_purchaserOrderDate
purchaser_vat_registration_number
invoiceHeader_purchaserVATRegistrationNumber
purchasing_level
ccCaptureService_purchasingLevel (for credit card capture)
ccCreditService_purchasingLevel (for credit card credit)
record_id
riskUpdateService_recordID
record_name
riskUpdateService_recordName
return_auth_record
ccAuthService_returnAuthRecord
returns_accepted
invoiceHeader_returnsAccepted
seller_registration
taxService_sellerRegistration
ship_from_city
shipFrom_city
ship_from_country
shipFrom_country
ship_from_county
shipFrom_county
ship_from_state
shipFrom_state
ship_from_zip
shipFrom_postalCode
ship_to_address1
shipTo_street1
ship_to_address2
shipTo_street2
ship_to_address3
shipTo_street3
ship_to_address4
shipTo_street4
ship_to_city
shipTo_city
ship_to_country
shipTo_country
ship_to_county
shipTo_county
ship_to_email
shipTo_email
ship_to_firstname
shipTo_firstName
ship_to_lastname
shipTo_lastName
ship_to_phone
shipTo_phoneNumber
ship_to_phone_type
bml_shipToPhoneType
ship_to_state
shipTo_state
ship_to_zip
shipTo_postalCode
shipping_method
shipTo_shippingMethod
state
riskUpdateService_negativeAddress_state
summary_commodity_code
invoiceHeader_summaryCommodityCode
supplier_order_reference
invoiceHeader_supplierOrderReference
tax_indicator
invoiceHeader_taxable
terminal_capability
pos_terminalCapability
terminal_id
pos_terminalID
terminal_location
pos_terminalLocation
terminal_type
pos_terminalType
total_funding_amount
fundingTotals_grandTotalAmount
total_tax_amount
purchaseTotals_taxAmount
track_data
pos_trackData
transaction_type
directDebitService_transactionType
ucaf_authentication_data
ucaf_authenticationData
ucaf_collection_indicator
ucaf_collectionIndicator
user_po
invoiceHeader_userPO
validate_request_id
directDebitService_validateRequestID
vat_invoice_ref_number
invoiceHeader_vatInvoiceReferenceNumber
vat_tax_amount
otherTax_vatTaxAmount
vat_tax_rate
otherTax_vatTaxRate
void_request_id
voidService_voidRequestID
xid
ccAuthService_xid
zip
riskUpdateService_negativeAddress_postalCode

Core Response Fields

Core Response Fields for the SCMP API and the Simple Order API
SCMP API Response Field and Possible Values
Simple Order API Response Field and Possible Values
ics_rcode
and
&lt;service&gt;_rcode
Possible values:
  • -1
    (error)
  • 0
    (declined)
  • 1
    (accepted)
decision
Possible values:
  • ERROR
  • REJECT
  • ACCEPT
ics_rflag
and
&lt;service&gt;_rflag
  • SOK
  • DINVALIDDATA
  • ESYSTEM
  • and so on
This field returns a one-word description that gives a general reason for a decline or error.
The
Cybersource
developer guide\ for the service you are implementing contains a list of the flags that can be returned for that service.
reasonCode
and
&lt;service&gt;_reasonCode
  • 100
  • 101
  • and so on
This field returns a 3-digit number that gives the reason for a
REJECT
or
ERROR
decision.
The
Cybersource
developer guide for the service you are implementing contains a list of the reason codes that can be returned for that service.
ics_rmsg
and
&lt;service&gt;_rmsg
This field gives more information about why you received the particular
rflag
.
No corresponding field returned in the Simple Order API, although you can see the information in the transaction details screen on the
Business Center
.

Offer-Level Fields

Offer-Level Fields
SCMP API
Simple Order API
alternate_tax_id
item_#_alternateTaxID
amount
item_#_unitPrice
buyer_registration
item_#_buyerRegistration
city_override_amount
item_#_cityOverrideAmount
city_override_rate
item_#_cityOverrideRate
commodity_code
item_#_commodityCode
country_override_amount
item_#_countryOverrideAmount
country_override_rate
item_#_countryOverrideRate
county_override_amount
item_#_countyOverrideAmount
county_override_rate
item_#_countyOverrideRate
discount_amount
item_#_discountAmount
discount_indicator
item_#_discountIndicator
discount_rate
item_#_discountRate
distributor_product_sku
item_#_productSKU
district_override_amount
item_#_districtOverrideAmount
district_override_rate
item_#_districtOverrideRate
export
item_#_export
gross_net_indicator
item_#_grossNetIndicator
merchant_product_sku
item_#_productSKU
middleman_registration
item_#_middlemanRegistration
national_tax
item_#_nationalTax
no_export
item_#_noExport
order_acceptance_city
item_#_orderAcceptanceCity
order_acceptance_country
item_#_orderAcceptanceCountry
order_acceptance_county
item_#_orderAcceptanceCounty
order_acceptance_state
item_#_orderAcceptanceState
order_acceptance_zip
item_#_orderAcceptancePostalCode
order_origin_city
item_#_orderOriginCity
order_origin_country
item_#_orderOriginCountry
order_origin_county
item_#_orderOriginCounty
order_origin_state
item_#_orderOriginState
order_origin_zip
item_#_orderOriginPostalCode
point_of_title_transfer
item_#_pointOfTitleTransfer
product_code
item_#_productCode
product_name
item_#_productName
product_risk
item_#_productRisk
quantity
item_#_quantity
score_category_time
item_#_timeCategory
score_category_gift
item_#_giftCategory
score_host_hedge
item_#_hostHedge
score_threshold
businessRules_scoreThreshold (score_threshold is an offer-level field in the SCMP API; businessRules_scoreThreshold is a request field in the Simple Order API)
score_time_hedge
item_#_timeHedge
score_velocity_hedge
item_#_velocityHedge
seller_registration
item_#_sellerRegistration
ship_from_city
item_#_shipFromCity
ship_from_country
item_#_shipFromCountry
ship_from_county
item_#_shipFromCounty
ship_from_state
item_#_shipFromState
ship_from_zip
item_#_shipFromPostalCode
state_override_amount
item_#_stateOverrideAmount
state_override_rate
item_#_stateOverrideRate
tax_amount
item_#_taxAmount
tax_rate
item_#_taxRate
tax_type_applied
item_#_taxTypeApplied
total_amount
item_#_totalAmount
unit_of_measure
item_#_unitOfMeasure
vat_rate
item_#_vatRate

Response Fields

Response Fields
SCMP API
Simple Order API
auth_auth_amount
ccAuthReply_amount
auth_auth_avs
ccAuthReply_avsCode
auth_auth_code
ccAuthReply_authorizationCode
auth_auth_record
ccAuthReply_authRecord
auth_auth_response
ccAuthReply_processorResponse
auth_auth_time
ccAuthReply_authorizedDateTime
auth_avs_raw
ccAuthReply_avsCodeRaw
auth_customer_cc_number
ccAuthReply_bmlAccountNumber
auth_cv_result
ccAuthReply_cvCode
auth_cv_result_raw
ccAuthReply_cvCodeRaw
auth_factor_code
ccAuthReply_authFactorCode
auth_fxrates_funding_currency
ccAuthReply_fundingTotals_currency
auth_fxrates_quote_exp
ccAuthReply_fxQuoteExpirationDateTime
auth_fxrates_quote_id
ccAuthReply_fxQuoteID
auth_fxrates_quote_rate
ccAuthReply_fxQuoteRate
auth_fxrates_quote_type
ccAuthReply_fxQuoteType
auth_rcode
N/A
auth_reversal_amount
ccAuthReversalReply_amount
auth_reversal_auth_code
ccAuthReversalReply_authorizationCode
auth_reversal_auth_response
ccAuthReversalReply_processorResponse
auth_reversal_rcode
N/A
auth_reversal_request_time
ccAuthReversalReply_requestDateTime
auth_reversal_rflag
N/A
auth_reversal_rmsg
N/A
auth_rflag
N/A
auth_rmsg
N/A
auth_total_funding_amount
ccAuthReply_fundingTotals_grandTotalAmount
auth_trans_ref_no
ccAuthReply_reconciliationID
bank_transfer_account_holder
bankTransferReply_accountHolder
bank_transfer_account_number
bankTransferReply_accountNumber
bank_transfer_amount
bankTransferReply_amount
bank_transfer_bank_city
bankTransferReply_bankCity
bank_transfer_bank_country
bankTransferReply_bankCountry
bank_transfer_bank_name
bankTransferReply_bankName
bank_transfer_payment_reference
bankTransferReply_paymentReference
bank_transfer_rcode
N/A
bank_transfer_refund_amount
bankTransferRefundReply_amount
bank_transfer_refund_rcode
N/A
bank_transfer_refund_response_code
bankTransferRefundReply_processorResponse
bank_transfer_refund_rflag
N/A
bank_transfer_refund_rmsg
N/A
bank_transfer_refund_time
bankTransferRefundReply_requestDateTime
bank_transfer_refund_trans_ref_no
bankTransferRefundReply_reconciliationID
bank_transfer_response_code
bankTransferReply_processorResponse
bank_transfer_rflag
N/A
bank_transfer_rmsg
N/A
bank_transfer_special_id
bankTransferReply_bankSpecialID
bank_transfer_swiftcode
bankTransferReply_bankSwiftCode
bank_transfer_time
bankTransferReply_requestDateTime
bank_transfer_trans_ref_no
bankTransferReply_reconciliationID
bill_bill_amount
ccCaptureReply_amount
bill_bill_request_time
ccCaptureReply_requestDateTime
bill_enhanced_data_enabled
ccCaptureReply_enhancedDataEnabled
bill_fxrates_funding_currency
ccCaptureReply_fundingTotals_currency
bill_fxrates_quote_exp
ccCaptureReply_fxQuoteExpirationDateTime
bill_fxrates_quote_id
ccCaptureReply_fxQuoteID
bill_fxrates_quote_rate
ccCaptureReply_fxQuoteRate
bill_fxrates_quote_type
ccCaptureReply_fxQuoteType
bill_purchasing_level3_enabled
ccCaptureReply_purchasingLevel3Enabled
bill_rcode
N/A
bill_rflag
N/A
bill_rmsg
N/A
bill_total_funding_amount
ccCaptureReply_fundingTotals_grandTotalAmount
bill_trans_ref_no
ccCaptureReply_reconciliationID
credit_credit_amount
ccCreditReply_amount
credit_credit_request_time
ccCreditReply_requestDateTime
credit_enhanced_data_enabled
ccCreditReply_enhancedDataEnabled
credit_purchasing_level3_enabled
ccCreditReply_purchasingLevel3Enabled
credit_rcode
N/A
credit_rflag
N/A
credit_rmsg
N/A
credit_trans_ref_no
ccCreditReply_reconcilationID
currency
purchaseTotals_currency
dav_address_type
davReply_addressType
dav_apt_info
davReply_apartmentInfo
dav_bar_code
davReply_barCode
dav_bar_code_chkdigit
davReply_barCodeCheckDigit
dav_ca_error_info
davReply_caErrorInfo
dav_ca_info
davReply_caInfo
dav_careof
davReply_careOf
dav_city_info
davReply_cityInfo
dav_country_info
davReply_countyInfo
dav_directional_info
davReply_directionalInfo
dav_intl_error_info
davReply_intlErrorInfo
dav_intl_info
davReply_intlInfo
dav_lvr_info
davReply_lvrInfo
dav_match_score
davReply_matchScore
dav_overall_info
davReply_overallInfo
dav_rcode
N/A
dav_rflag
N/A
dav_rmsg
N/A
dav_standard_address
davReply_standardizedAddress1
dav_standard_address_noapt
davReply_standardizedAddressNoApt
dav_standard_address2
davReply_standardizedAddress2
dav_standard_address3
davReply_standardizedAddress3
dav_standard_address4
davReply_standardizedAddress4
dav_standard_city
davReply_standardizedCity
dav_standard_country
davReply_standardizedCountry
dav_standard_county
davReply_standardizedCounty
dav_standard_csz
davReply_standardizedCSP
dav_standard_iso_country
davReply_standardizedISOCountry
dav_standard_state
davReply_standardizedState
dav_standard_zip
davReply_standardizedPostalCode
dav_state_info
davReply_stateInfo
dav_street_info
davReply_streetInfo
dav_suffix_info
davReply_suffixInfo
dav_us_error_info
davReply_usErrorInfo
dav_us_info
davReply_usInfo
dav_zip_info
davReply_postalCodeInfo
decision_active_profile
decisionReply_activeProfileReply_name
decision_active_profile_destination_queue
decisionReply_activeProfileReply_destinationQueue
decision_active_profile_rule_#_decision
decisionReply_activeProfileReply_rulesTriggered_
ruleResultItem_#_decision
decision_active_profile_rule_#_evaluation
decisionReply_activeProfileReply_rulesTriggered_
ruleResultItem_#_evaluation
decision_active_profile_rule_#_id
decisionReply_activeProfileReply_rulesTriggered_
ruleResultItem_#_ruleID
decision_active_profile_rule_#_name
decisionReply_activeProfileReply_rulesTriggered_
ruleResultItem_#_name
decision_active_profile_selector_rule
decisionReply_activeProfileReply_selectedBy
direct_debit_refund_response_code
directDebitRefundReply_processorResponse
direct_debit_amount
directDebitReply_amount
direct_debit_rcode
N/A
direct_debit_rcode
directDebitReply_reasonCode
direct_debit_refund_amount
directDebitRefundReply_amount
direct_debit_refund_rcode
N/A
direct_debit_refund_rflag
N/A
direct_debit_refund_rmsg
N/A
direct_debit_refund_time
directDebitRefundReply_requestDateTime
direct_debit_refund_trans_ref_no
directDebitRefundReply_reconciliationID
direct_debit_response_code
directDebitReply_processorResponse
direct_debit_rflag
N/A
direct_debit_rmsg
N/A
direct_debit_time
directDebitReply_requestDateTime
direct_debit_trans_ref_no
directDebitReply_reconciliationID
direct_debit_validate_amount
directDebitValidateReply_amount
direct_debit_validate_rcode
N/A
direct_debit_validate_response_code
directDebitValidateReply_processorResponse
direct_debit_validate_rflag
N/A
direct_debit_validate_rmsg
N/A
direct_debit_validate_time
directDebitValidateReply_requestDateTime
direct_debit_validate_trans_ref_no
directDebitValidateReply_reconciliationID
ecp_credit_processor_trans_id
ecCreditReply_processorTransactionID
ecp_credit_rcode
N/A
ecp_credit_ref_no
ecCreditReply_reconciliationID
ecp_credit_result_code
ecCreditReply_processorResponse
ecp_credit_rflag
N/A
ecp_credit_rmsg
N/A
ecp_credit_settlement_method
ecCreditReply_settlementMethod
ecp_credit_submit_time
ecCreditReply_requestDateTime
ecp_credit_total_amount
ecCreditReply_amount
ecp_debit_avs
ecDebitReply_avsCode
ecp_debit_avs_raw
ecDebitReply_avsCodeRaw
ecp_debit_processor_trans_id
ecDebitReply_processorTransactionID
ecp_debit_rcode
N/A
ecp_debit_ref_no
ecDebitReply_reconciliationID
ecp_debit_result_code
ecDebitReply_processorResponse
ecp_debit_rflag
N/A
ecp_debit_rmsg
N/A
ecp_debit_settlement_method
ecDebitReply_settlementMethod
ecp_debit_submit_time
ecDebitReply_requestDateTime
ecp_debit_total_amount
ecDebitReply_amount
ecp_debit_verification_level
ecDebitReply_verificationLevel
export_ip_country_confidence
exportReply_ipCountryConfidence
export_match1_address1
deniedPartiesMatch_0_address_0
export_match1_address2
deniedPartiesMatch_0_address_1
export_match1_address3
deniedPartiesMatch_0_address_2
export_match1_list
deniedPartiesMatch_0_list
export_match1_name1
deniedPartiesMatch_0_name_0
export_match1_name2
deniedPartiesMatch_0_name_1
export_match2_address1
deniedPartiesMatch_1_address_0
export_match2_address2
deniedPartiesMatch_1_address_1
export_match2_address3
deniedPartiesMatch_1_address_2
export_match2_list
deniedPartiesMatch_1_list
export_match2_name1
deniedPartiesMatch_1_name_0
export_match2_name2
deniedPartiesMatch_1_name_1
export_match3_address1
deniedPartiesMatch_2_address_0
export_match3_address2
deniedPartiesMatch_2_address_1
export_match3_address3
deniedPartiesMatch_2_address_2
export_match3_list
deniedPartiesMatch_2_list
export_match3_name1
deniedPartiesMatch_2_name_0
export_match3_name2
deniedPartiesMatch_2_name_1
export_rcode
N/A
export_rflag
N/A
export_rmsg
N/A
fxrates_currency#
fxRatesReply_quote_#_currency
fxrates_funding_currency#
fxRatesReply_quote_#_fundingCurrency
fxrates_quote_date#
fxRatesReply_quote_#_receivedDateTime
fxrates_quote_exp#
fxRatesReply_quote_#_expirationDateTime
fxrates_quote_id#
fxRatesReply_quote_#_id
fxrates_quote_rate#
fxRatesReply_quote_#_rate
fxrates_quote_type#
fxRatesReply_quote_#_type
fxrates_rcode
N/A
fxrates_rflag
N/A
fxrates_rmsg
N/A
ics_rcode
N/A
ics_rflag
N/A
ics_rmsg
N/A
merchant_ref_number
merchantReferenceCode
N/A
reasonCode
N/A
decision
N/A
missingField_#
N/A
invalidField_#
N/A
ccAuthReply_reasonCode
N/A
ccAuthReply_transactionToken
N/A
ccCaptureReply_reasonCode
N/A
ccCaptureReply_transactionToken
N/A
ccCreditReply_reasonCode
N/A
ccCreditReply_transactionToken
N/A
ccAuthReversalReply_reasonCode
N/A
ccAuthReversalReply_transactionToken
N/A
ecDebitReply_reasonCode
N/A
ecDebitReply_transactionToken
N/A
ecCreditReply_reasonCode
N/A
ecCreditReply_transactionToken
N/A
voidReply_reasonCode
N/A
pinlessDebitValidateReply_reasonCode
N/A
pinlessDebitReply_reasonCode
N/A
payPalPaymentReply_reasonCode
N/A
payPalCreditReply_reasonCode
N/A
payPalButtonCreateReply_reasonCode
N/A
payPalPreapprovedPaymentReply_reasonCode
N/A
payPalPreapprovedUpdateReply_reasonCode
N/A
payerAuthEnrollReply_reasonCode
N/A
payerAuthValidateReply_reasonCode
N/A
taxReply_reasonCode
N/A
afsReply_reasonCode
N/A
davReply_reasonCode
N/A
exportReply_reasonCode
N/A
bankTransferReply_reasonCode
N/A
bankTransferRefundReply_reasonCode
N/A
directDebitValidateReply_reasonCode
N/A
directDebitRefundReply_reasonCode
N/A
fxRatesReply_reasonCode
pa_enroll_acs_url
payerAuthEnrollReply_acsURL
pa_enroll_e_commerce_indicator
payerAuthEnrollReply_commerceIndicator
pa_enroll_pareq
payerAuthEnrollReply_paReq
pa_enroll_proofxml
payerAuthEnrollReply_proofXML
pa_enroll_proxypan
payerAuthEnrollReply_proxyPAN
pa_enroll_rcode
N/A
pa_enroll_rflag
N/A
pa_enroll_rmsg
N/A
pa_enroll_ucaf_collection_indicator
payerAuthEnrollReply_ucafCollectionIndicator
pa_enroll_xid
payerAuthEnrollReply_xid
pa_validate_authentication_result
payerAuthValidateReply_authenticationResult
pa_validate_authentication_status_msg
payerAuthValidateReply_authenticationStatusMessage
pa_validate_cavv
payerAuthValidateReply_cavv
pa_validate_e_commerce_indicator
payerAuthValidateReply_commerceIndicator
pa_validate_eci
payerAuthValidateReply_eci
pa_validate_eci_raw
payerAuthValidateReply_eciRaw
pa_validate_rcode
N/A
pa_validate_rflag
N/A
pa_validate_rmsg
N/A
pa_validate_xid
payerAuthValidateReply_xid
paypal_button_create_button_type
payPalButtonCreateReply_buttonType
paypal_button_create_encrypted_form_data
payPalButtonCreateReply_encryptedFormData
paypal_button_create_rcode
N/A
paypal_button_create_rflag
N/A
paypal_button_create_rmsg
N/A
paypal_button_create_time
payPalButtonCreateReply_requestDateTime
paypal_button_create_trans_ref_no
payPalButtonCreateReply_reconciliationID
paypal_button_create_unencrypted_form_data
payPalButtonCreateReply_unencryptedFormData
paypal_credit_amount
payPalCreditReply_amount
paypal_credit_rcode
N/A
paypal_credit_response_code
payPalCreditReply_processorResponse
paypal_credit_rflag
N/A
paypal_credit_rmsg
N/A
paypal_credit_time
payPalCreditReply_requestDateTime
paypal_credit_trans_ref_no
payPalCreditReply_reconciliationID
paypal_payment_amount
payPalPaymentReply_amount
paypal_payment_rcode
N/A
paypal_payment_rflag
N/A
paypal_payment_rmsg
N/A
paypal_payment_secure_data
payPalPaymentReply_secureData
paypal_payment_time
payPalPaymentReply_requestDateTime
paypal_payment_trans_ref_no
payPalPaymentReply_reconciliationID
paypal_preapproved_payment_desc
payPalPreapprovedPaymentReply_desc
paypal_preapproved_payment_exchange_rate
payPalPreapprovedPaymentReply_exchangeRate
paypal_preapproved_payment_fee_amount
payPalPreapprovedPaymentReply_feeAmount
paypal_preapproved_payment_mp_max
payPalPreapprovedPaymentReply_mpMax
paypal_preapproved_payment_mp_status
payPalPreapprovedPaymentReply_mpStatus
paypal_preapproved_payment_payer
payPalPreapprovedPaymentReply_payer
paypal_preapproved_payment_payer_business
payPalPreapprovedPaymentReply_payerBusiness
paypal_preapproved_payment_payer_country
payPalPreapprovedPaymentReply_payerCountry
paypal_preapproved_payment_payer_id
payPalPreapprovedPaymentReply_payerID
paypal_preapproved_payment_payer_name
payPalPreapprovedPaymentReply_payerName
paypal_preapproved_payment_payer_status
payPalPreapprovedPaymentReply_payerStatus
paypal_preapproved_payment_payment_date
payPalPreapprovedPaymentReply_paymentDate
paypal_preapproved_payment_payment_gross_amount
payPalPreapprovedPaymentReply_paymentGrossAmount
paypal_preapproved_payment_payment_source_id
payPalPreapprovedPaymentReply_paymentSourceID
paypal_preapproved_payment_payment_status
payPalPreapprovedPaymentReply_paymentStatus
paypal_preapproved_payment_payment_type
payPalPreapprovedPaymentReply_paymentType
paypal_preapproved_payment_pending_reason
payPalPreapprovedPaymentReply_pendingReason
paypal_preapproved_payment_rcode
N/A
paypal_preapproved_payment_rflag
N/A
paypal_preapproved_payment_rmsg
N/A
paypal_preapproved_payment_settle_amount
payPalPreapprovedPaymentReply_settleAmount
paypal_preapproved_payment_tax_amount
payPalPreapprovedPaymentReply_taxAmount
paypal_preapproved_payment_time
payPalPreapprovedPaymentReply_requestDateTime
paypal_preapproved_payment_trans_ref_no
payPalPreapprovedPaymentReply_reconciliationID
paypal_preapproved_payment_transaction_id
payPalPreapprovedPaymentReply_transactionID
paypal_preapproved_payment_transaction_type
payPalPreapprovedPaymentReply_transactionType
paypal_preapproved_update_desc
payPalPreapprovedUpdateReply_desc
paypal_preapproved_update_mp_max
payPalPreapprovedUpdateReply_mpMax
paypal_preapproved_update_mp_status
payPalPreapprovedUpdateReply_mpStatus
paypal_preapproved_update_payer
payPalPreapprovedUpdateReply_payer
paypal_preapproved_update_payer_business
payPalPreapprovedUpdateReply_payerBusiness
paypal_preapproved_update_payer_country
payPalPreapprovedUpdateReply_payerCountry
paypal_preapproved_update_payer_id
payPalPreapprovedUpdateReply_payerID
paypal_preapproved_update_payer_name
payPalPreapprovedUpdateReply_payerName
paypal_preapproved_update_payer_status
payPalPreapprovedUpdateReply_payerStatus
paypal_preapproved_update_payment_source_id
payPalPreapprovedUpdateReply_paymentSourceID
paypal_preapproved_update_rcode
N/A
paypal_preapproved_update_rflag
N/A
paypal_preapproved_update_rmsg
N/A
paypal_preapproved_update_time
payPalPreapprovedUpdateReply_requestDateTime
paypal_preapproved_update_trans_ref_no
payPalPreapprovedUpdateReply_reconciliationID
pinless_debit_amount
pinlessDebitReply_amount
pinless_debit_auth_code
pinlessDebitReply_authorizationCode
pinless_debit_processor_response
pinlessDebitReply_processorResponse
pinless_debit_rcode
N/A
pinless_debit_receipt_number
pinlessDebitReply_receiptNumber
pinless_debit_rflag
N/A
pinless_debit_rmsg
N/A
pinless_debit_time
pinlessDebitReply_requestDateTime
pinless_debit_trans_ref_no
pinlessDebitReply_reconciliationID
pinless_debit_validate_rcode
N/A
pinless_debit_validate_rflag
N/A
pinless_debit_validate_rmsg
N/A
pinless_debit_validate_status
pinlessDebitValidateReply_status
pinless_debit_validate_time
pinlessDebitValidateReply_requestDateTime
request_id
requestID
score_address_info
afsReply_addressInfoCode
score_factors
afsReply_afsFactorCode
score_host_severity
afsReply_hostSeverity
score_hotlist_info
afsReply_hotlistInfoCode
score_internet_info
afsReply_internetInfoCode
score_phone_info
afsReply_phoneInfoCode
score_rcode
N/A
score_rflag
N/A
score_rmsg
N/A
score_score_result
afsReply_afsResult
score_suspicious_info
afsReply_suspiciousInfoCode
score_time_local
afsReply_consumerLocalTime
score_velocity_info
afsReply_velocityInfoCode
tax_city_name
taxReply_city
tax_city_tax#
taxReply_item_#_cityTaxAmount
tax_county_name
taxReply_county
tax_county_tax#
taxReply_item_#_countyTaxAmount
tax_district_tax#
taxReply_item_#_districtTaxAmount
tax_rcode
N/A
tax_rflag
N/A
tax_rmsg
N/A
tax_state_name
taxReply_state
tax_state_tax#
taxReply_item_#_stateTaxAmount
tax_tax_amount#
taxReply_item_#_totalTaxAmount
tax_total_city_tax
taxReply_totalCityTaxAmount
tax_total_county_tax
taxReply_totalCountyTaxAmount
tax_total_district_tax
taxReply_totalDistrictTaxAmount
tax_total_grand
taxReply_grandTotalTaxAmount
tax_total_state_tax
taxReply_totalStateTaxAmount
tax_total_tax
taxReply_totalTaxAmount
tax_zip
taxReply_postalCode
ucaf_authentication_data
payerAuthValidateReply_ucafAuthenticationData
ucaf_collection_indicator
payerAuthValidateReply_ucafCollectionIndicator
void_rcode
N/A
void_rflag
N/A
void_rmsg
N/A
void_void_amount
voidReply_amount
void_void_currency
voidReply_currency
void_void_request_time
voidReply_requestDateTime