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 offline transaction requests to
Cybersource
in CSV-formatted batch files. Batch files can be uploaded to
Cybersource
using the Simple Order API with Java authentication. Batch files can also be submitted to
Cybersource
at the
Business Center
.
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.
Mapping information is provided in Reference: Simple Order and SCMP API Field Mapping.
Conventions
The following special statement is used in this document:
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

25.10.01

This revision contains only editorial changes and no technical updates.

25.09.01

CA for Uploading a Batch File Using Java Sample Code
The Certificate Authority (CA) has been changed from
Entrust.net
to
DigiCert.net
. See steps 4e and 4l in Using Java Sample Code for Basic Authentication.
Transaction Processing Results File
Each data record contains information about responses to your batched requests. The fields in the data records are now in alphabetical order, except for the first field,
merchantReferenceCode
. See these topics:
More Information About Mismatched Field Counts
Fields in Transaction Response File Data Records Are in Alphabetical Order
Required and Optional Fields for Transaction Requests
Added descriptions of required and optional fields for creating a transaction request in a batch upload file. The descriptions were ported from Batched_Template_Guides.pdf. See the service-specific topics in this section:
eCheck
Throughout the guide,
eCheck
is now referred to as
ACH service
.

22.01

Updated the
Business Center
URLs.

Introduction to Offline Transaction File Submission

Cybersource
supports the offline submission of multiple payment requests specified in a single file. Instead of submitting individual requests, you can upload 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
.
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.
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
  • Subscription
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 contains 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, ACH service debits, and subscriptions.
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 shows all of your sales and refunds that were submitted to your payment processor through the
Business Center
. The report also tracks which of your transactions have been settled.

Offline Transaction File Submission Flow

This sequence summarizes the flow of offline transaction file submission.
  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
    ,
    follow the steps in Upload a Batch File at the Business Center.
    Proceed to
    step 4
    to check that the file validated successfully.
  3. To upload the batched transaction requests using the Simple Order API,
    follow the steps in Using Java Sample Code for Basic Authentication.
  4. Check whether your batch file was validated successfully
    . Results are available through an optional email notification and in downloadable file validation results files.
  5. 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.
  6. 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.
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
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. Follow these steps 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.
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
guide.
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.
  1. Follow these steps 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,statusEmail=test@example.com, 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. Follow these steps 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,statusEmail=test@example.com,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,jsmith@example.com,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,statusEmail=test@example.com,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,jsmith@example.com,8 Mission Street,San Francisco,CA,US,94101,4111111111111111,01,2026,001,USD,8.00,1,true pa_cybs,2,5559,true,Jay,Smith,jsmith@example.com,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,statusEmail=test@example.com,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,statusEmail=test@example.com,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,jsmith@example.com,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,statusEmail=test@example.com,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

Uploading a Transaction Batch File at the
Cybersource
Business Center

This section shows how to use the
Business Center
UI to upload a transaction batch file to
Cybersource
.
The topics in this section cover this information:
  • How to upload a batch file at the
    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 of the
    Cybersource
    Business Center
    , 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 reports and response files for your transaction requests:

    ADDITIONAL INFORMATION

    After all of the requests in a batch file are processed,
    Cybersource
    creates the batch reports:
    • Payment Batch Detail Report
      —Transaction-level report that indicates all of the sales and refunds that have been submitted to your payment processor. You can download the report daily. If the batch file has an error, the file is not processed, and the file’s requests are not included in the report. See the
      Business Center
      Reporting User Guide
      .
    • Response files
      —After
      Cybersource
      processes all of the requests in the batch file,
      Cybersource
      creates two types of CSV response files that you can use to determine the results of the requests. See Viewing the Results of Transaction Processing.

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 Batch Files Daily Summary report. See these topics for more information about batch upload reports:

Uploading a Transaction Batch File Using the Simple Order API

Using Java Sample Code for Basic Authentication

The sample code was developed and tested on a Solaris platform.
  1. Replace your Java installation’s existing security policy files with the new ones you downloaded from Oracle’s site:

    ADDITIONAL INFORMATION

    1. Find your existing
      US_export_policy.jar
      and
      local_policy.jar
      files in the
      $JAVA_HOME/jre/lib/security
      directory.
    2. Rename or move your existing files to another directory.
    3. Copy the new
      US_export_policy.jar
      and
      local_policy.jar
      files that you downloaded from Oracle to the
      $JAVA_HOME/jre/lib/security
      directory.
  2. Edit the
    $JAVA_HOME/jre/lib/security/java.security
    file and insert the security provider right after the Oracle provider. Make sure to increment the numbers of the other providers in the list. Your list of security providers will now look similar to this:

    ADDITIONAL INFORMATION

    security.provider.1=sun.security.provider.Sun security.provider.3=com.sun.net.ssl.internal.ssl.Provider security.provider.4=com.sun.rsajca.Provider security.provider.5=com.sun.crypto.provider.SunJCE security.provider.6=sun.security.jgss.SunProvider
  3. Import your
    Cybersource
    Simple Order API .p12 security key into Internet Explorer.

    ADDITIONAL INFORMATION

    1. Open an Internet Explorer Web browser, go to
      Tools > Internet Options...
      , and click the
      Content
      tab.
    2. Click
      Certificates...
      .
    3. Click
      Import...
      to open the Certificate Import Wizard, and click
      Next
      to start the Wizard.
    4. Browse to the location of your .p12 security key and click
      Next
      .
      For the password for the private key, enter your
      Cybersource
      merchant ID. For example, if your key is infodev.p12, enter
      infodev
      as the password.
    5. On this page, check the
      Mark this key as exportable
      box and then click
      Next
      .
    6. Click
      Next
      on the Certificate Store page.
    7. Click
      Finish
      and a confirmation that the import was successful appears.
  4. Create a key store file to contain your
    Cybersource
    Simple Order API .p12 security key:

    ADDITIONAL INFORMATION

    1. In a Web browser, go to one of these URLs:
      • If you are in test mode and have not gone live with
        Cybersource
        :

        https://batchtest.cybersource.com/upload/UploadBatchFile
      • If you have gone live with
        Cybersource
        :

        https://batch.cybersource.com/upload/UploadBatchFile
      • For live transactions in India, https://batch.in.cybersource.com/upload/UploadBatchFile
    2. Go to
      File > Properties
      .
    3. Click
      Certificates
      .
    4. Click the
      Certification Path
      tab.
    5. Select
      DigiCert.com TLS/SSL Certification Authority
      .
    6. Click
      View Certificate
      .
    7. Click the
      Detail
      s tab.
    8. Click
      Copy to File
      and then
      Next
      .
    9. Click
      Browse
      and navigate to where you want to save the file.
    10. Enter the name that you want to use for the file, such as MyCert. Click
      Save
      and click
      Next
      .
    11. Click
      Finish
      .
      Your file, for example
      MyCert.cer
      , has been created in the location you specified.
    12. Go to
      $JAVA_HOME/bin/keytool
      and use the J2SE keytool program to create a keystore file that contains this newly created certificate. You must provide a pass phrase for the keystore. You MUST use the same password that you used in Step 3d above. For example, if your p12 key is infodev.p12, the pass phrase must be infodev.
      To create the keystore, enter this command:
      $JAVA_HOME/bin/keytool -import -file <path to certificate>/ <name of certificate file> -keystore <name of keystore file>.jks -storepass <pass phrase of keystore>
      For example:
      $JAVA_HOME/bin/keytool -import -file /home/bluu/MyCert.cer - keystore MyKeystore.jks -storepass myMerchantID
      If successful, the output will be similar to this example
      [XXX 
      from 2020 guide
       XXX]
      :
      Owner: CN=batchtest.cybersource.com, OU=Operations, O=
      Cybersource
      Corporation, L=Mountain View, ST=California, C=US Issuer: CN=Entrust.net Secure Server Certification Authority, OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), O=Entrust.net, C=US Serial number: 374e1b7b Valid from: Thu Nov 18 17:15:34 PST 2004 until: Tue Jan 31 17:51:24 PST 2006 Certificate fingerprints: MD5:  BE:BF:B0:91:69:C4:7B:10:45:EC:D6:0F:16:AA:3D:77 SHA1: 07:F8:41:DC:B2:FC:F5:DA:FC:EE:09:7A:33:B8:29:15:31:18 Trust this certificate? [no]: yes Certificate was added to keystore
      If successful, the output will be similar to this example
      [XXX 
      needs approval
       XXX]
      :
      Owner: CN=batchtest.cybersource.com, OU=Operations, O=
      Cybersource
      Corporation, L=Foster City, ST=California, C=US Issuer: CN=DigiCert.com TLS/SSL Certificate Authority, OU=(c) 2022 DigiCert.com Inc, OU=www.digicert.net/legal-repository/security, O=DigiCert.com, C=US Serial number: 374e1b7b Valid from: Monday Nov 18 17:15:34 PST 2024 until: Sat Jan 31 17:51:24 PST 2026 Certificate fingerprints: MD5:  BE:BF:B0:91:69:C4:7B:10:45:EC:D6:0F:16:AA:3D:77 SHA1: 07:F8:41:DC:B2:FC:F5:DA:FC:EE:09:7A:33:B8:29:15:31:18 Trust this certificate? [no]: yes Certificate was added to keystore
  5. Modify the
    SSLFileTransfer.props
    file with your settings. The file is part of the
    Cybersource
    download package and looks similar to this example:

    ADDITIONAL INFORMATION

    # Upload host host=batchtest.cybersource.com # Upload port port=<Upload port> # Username to log into the
    Business Center
    bcUserName=<
    Business Center
    login name> # Password to log into the
    Business Center
    bcPassword=<
    Business Center
    login password> # File to upload uploadFile=<path to your file>/<file name> # Path where to upload it to (provided by
    Cybersource
    ) path=/upload/UploadBatchFile # Your
    Cybersource
    security key key=<key location path>/<key file name> # New key store you just created that contains the certificate keyStore=<key store location>/<new key store name> # Pass phrase is the string you used in -storepass option when you # created the key store file earlier passPhrase=<pass phrase>
  6. Set the
    JAVA_HOME
    environment variable to the location in which you installed J2SE. For example:

    ADDITIONAL INFORMATION

    JAVA_HOME=/home/j2se
  7. Include
    $JAVA_HOME/bin
    in the PATH.
  8. Compile and run the sample:

    ADDITIONAL INFORMATION

    1. Change to the directory location in which you stored the
      Cybersource
      sample files.
    2. Type this:
      javac SSLFileTransfer.java java SSLFileTransfer <path to props file>/SSLFileTransfer.props
      If the upload is successful, the output should look similar to this:
      HTTP/1.1 200 OK Date: Wed, 26 Jan 2020 17:26:31 GMT Server: Apache Coyote/1.0 Content-Type: text/plain Content-Length: 0 X-Cache: MISS from <your host> Connection: close UPLOAD FILE SUCCESSFUL

Sample Code for Basic Authentication

The sample below shows how you can upload a batch file to a batch server using Basic Authentication.
import java.util.*;
import java.io.*;
import javax.net.ssl.*;
import java.security.*;
public class SSLFileTransfer {
Properties props = new Properties(); // stores properties from property file
/**
* Default constructor
*/
public SSLFileTransfer() {}
/**
* Initialize program by reading properties file.
*
* @param propsFile needed for file transfer
*/
public void init(String propsFile) {
try {
props.load(new BufferedInputStream(new FileInputStream(new File(propsFile))));
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
}
}
/**
* Error message if incorrect arguments are passed.
*/
public static void usage() {
System.out.println("USAGE: java SSLFileTransfer <full path property file name>");
System.exit(-1);
}
/**
* Get factory for authentication
*
* @throws IOException if exception occurs
*/
private SSLSocketFactory getFactory() throws IOException {
try {
SSLContext ctx;
KeyManagerFactory kmf;
KeyStore ks, ks1;
char[] passphrase = props.getProperty("passPhrase").toCharArray();
ctx = SSLContext.getInstance("TLSv1.2");
kmf = KeyManagerFactory.getInstance("SunX509");
ks = KeyStore.getInstance("PKCS12");
ks1 = KeyStore.getInstance("JKS");
ks.load(new FileInputStream(props.getProperty("key")), passphrase);
ks1.load(new FileInputStream(props.getProperty("keyStore")), passphrase);
kmf.init(ks, passphrase);
TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
tmf.init(ks1);
ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
return ctx.getSocketFactory();
} catch (Exception e) {
e.printStackTrace();
throw new IOException(e.getMessage());
}
}
/**
* Get host from property file
*/
private String getHost() {
return props.getProperty("host", "localhost");
}
/**
* Get port from property file
*/
private int getPort() {
return Integer.parseInt(props.getProperty("port"));
}
/**
* Send request (file) to the server.
*
* @param out outstream to send the data to the server
* @throws Exception if an error occurs.
*/
private void sendRequest(PrintWriter out) throws Exception {
final String CRLF = "\r\n";
String path = props.getProperty("path");
out.print("POST " + path + " HTTP/1.1" + CRLF);
final String BOUNDARY = "7d03135102b8";
out.print("Host: " + props.getProperty("host") + CRLF);
out.print("Content-Type: multipart/form-data; boundary="+BOUNDARY+CRLF);
String uploadFile = props.getProperty("uploadFile");
String authString = props.getProperty("bcUserName") + ":" + props.getProperty("bcPassword");
String encodedAuthString = "Basic " + new sun.misc.BASE64Encoder().encode(authString.getBytes ());
out.print("Authorization: " + encodedAuthString+CRLF);
StringBuffer sbuf = new StringBuffer();
sbuf.append("--"+BOUNDARY+CRLF);
sbuf.append("Content-Disposition: form-data; name=\"upfile\"; filename=\"" + uploadFile + "\""+CRLF);
sbuf.append("Content-Type: text/plain"+CRLF+CRLF);
char[] buf;
int cnt;
FileReader fi = new FileReader(uploadFile);
try {
buf = new char[1024000];
cnt = fi.read(buf);
} finally {
fi.close();
}
sbuf.append(buf, 0, cnt);
sbuf.append(CRLF);
sbuf.append("--"+BOUNDARY+"--"+CRLF);
int sz = sbuf.length();
out.print("Content-Length: "+ sz+CRLF);
out.print(CRLF);
out.print(sbuf);
out.flush();
// Make sure there were no surprises
if (out.checkError()) {
System.out.println("SSLFileTransfer: java.io.PrintWriter error");
}
}
/**
* Reads the response from the server.
* @param in instream to get the data from the server
* @throws Exception if an error occurs.
*/
private void readResponse(BufferedReader in) throws Exception {
boolean successful = false;
String inputLine;
while ((inputLine = in.readLine()) != null) {
if (inputLine.startsWith("HTTP") && inputLine.indexOf("200") >= 0) {
successful = true;
}
System.out.println(inputLine);
}
System.out.println("UPLOAD FILE " + (successful? "SUCCESSFUL" : "FAILED") + "!!!\n");
}
/**
* Upload file to the server.
* @throws Exception if an error occurs.
*/
public void upload() throws Exception {
try {
SSLSocketFactory factory = getFactory();
SSLSocket socket = (SSLSocket)factory.createSocket(getHost(), getPort());
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
socket.startHandshake();
sendRequest(out);
readResponse(in);
out.close();
in.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
/**
* Main method to start file transfer
* @param args command line arguments (property file, see usage())
* @throws Exception if an error occurs.
*/
public static void main(String[] args) throws Exception {
if (args == null || args.length != 1) {
usage();
}
SSLFileTransfer fileXfer = new SSLFileTransfer();
fileXfer.init(args[0]);
fileXfer.upload();
}
}

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
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. Follow these steps to download a batch validation 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.

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:
  • <Batch> element
  • <ValidationErrors> element
  • <Error> element

The Batch Element

The
<Batch>
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 <Batch> element has these attributes:
  • <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
Attributes of the <Batch> 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 <Batch> 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
<ValidationErrors>
element contains the errors associated with the batch file.
<ValidationErrors> (Error)* </ValidationErrors>
Child Element of the <ValidationErrors> Element
Element Name
Element Description
Error
Information about an error. See The Error Element.
  • Data type: Element

The Error Element

The
<Error>
element contains information about an error.
<Error> (RecordNumber) (ErrorCode) (ErrorMessage) (ErrorRemedy) </Error>
Child Elements of the <Error> 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
<Error>
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 <Error> 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
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
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:
<list of batch file row numbers>
Correct the file format and resubmit.
124
Found trailer record but missing File/Data Header record.
Correct the file format and resubmit.
201
There was a problem inserting the batch status in the database.
Contact
Cybersource
.
202
Problem updating: batchID:
%s
, status:
%s
"
Contact
Cybersource
.
203
There was a problem retrieving the merchant configuration from the database.
Contact
Cybersource
.
204
There was a problem validating the batchID against the database.
Contact
Cybersource
.
205
There was a database problem while doing the checksum.
Contact
Cybersource
.
301
There was an internal error while validating the file.
Contact
Cybersource
.

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:
    <merchantID>.<batchID>.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:
    <merchantID>.<batchID>.reply.rejected
  • File name example:
    CyberVacations.12345.reply.rejected
When all transactions requested in a batch file succeed, an email notification is sent.
Batch with batchID=55555 was validated successfully.
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 header of a transaction response file
  • The data records in a transaction response file
  • An example transaction response file

Download a Transaction Response File

  1. Follow these steps 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.

File Header

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

Data Records

The data records in the response file provide the API response information for the requests in the batch file. Each data record consists of a comma-separated list of name-value pairs containing the API response information for a single request.
The order of the data records in the response file might not correspond to the order of the requests in your file.
Within each data record, the first field is
merchantReferenceCode
and the remaining records in the record are in alphabetical order. Use the value of the
merchantReferenceCode
field to link the result in the response file to the corresponding request from the batch file.

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.
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. Follow these steps 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 <Report> element
  • The <BatchFiles> element
  • The <BatchFile> element
  • The <PaymentProcessor> element
  • The <Request> element

The Report Element

The
<Reports>
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
<Report>
element.
Attributes of the
<Report>
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
<Report>
element.
Child Elements of the
<Report>
Element
Element Name
Description
<BatchFiles>
Batch files that are included in the report. See The BatchFile Element for a list of child elements.
This
<Report>
element includes example attribute values. For information about the <BatchFiles> 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
<BatchFiles>
element contains all of the batch files that are included in the report.
<BatchFiles> (BatchFile)* </BatchFiles>
This table describes the child elements of the
<BatchFiles>
element.
Child Elements of the
<BatchFiles>
Element
Element Name
Description
<BatchFile>
Payment processors for the transactions in the batch file. For a list of attributes and child elements, see The BatchFile Element.
This
<BatchFiles>
element includes an example <BatchFile> element. For information about the <BatchFile> element, see The BatchFile Element.
<BatchFiles> <BatchFile BatchFileID="123"> ... </BatchFile> </BatchFiles>

The BatchFile Element

The
<BatchFile>
element contains the payment processors for the transactions in the batch file.
<BatchFile BatchFileID=CDATA> (PaymentProcessor)* </BatchFile>
This table describes the attributes of the
<BatchFile>
element.
Attributes of the
<BatchFile>
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
<BatchFile>
element.
Child Elements of the
<BatchFile>
Element
Element Name
Description
<PaymentProcessor>
Requests associated with the payment processor. For a list of attributes and child elements, see The PaymentProcessor Element.
This example
<BatchFile>
element includes an example <PaymentProcessor> element. For information about the <PaymentProcessor> element, see The PaymentProcessor Element.
<BatchFile BatchFileID="10101"> <PaymentProcessor PaymentProcessorName="vital”> ... </PaymentProcessor> </
BatchFile
>

The PaymentProcessor Element

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

The Request Element

The
<Request>
element contains information about a payment transaction.
<Request RequestID=CDATA> (TransactionReferenceNumber) (MerchantReferenceNumber) (TransactionStatus) (Amount) (CurrencyCode) (PaymentStatus) </Request>
This table describes the attributes of the
<Request>
element.
Attributes of the
<Request>
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
<Request>
element.
Child Elements of the
<Request>
Element
Element Name
Description
TransactionReferenceNumber
Reference number that you use to reconcile your
Cybersource
reports with your processor reports. This field corresponds to the
<service>
_reconciliationID
(Simple Order API) and to the
<service>_
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
<Request>
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:
  • <First header> record
  • <Second Header> record
  • <Transaction> 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.
Transaction Record
pcpawnshop,127788,vital,9979040000003515181891, 7242635150,1158078228539,SOK,25.00,USD,PENDING
pcpawnshop,127788,vital,9979040000003515181891, 7242635150,1158078228539,SOK,25.00,AUD,PENDING
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
<service>
_reconciliationID
(Simple Order API) and to the
<
service
>
_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.
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. Follow these steps 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: Simple Order and SCMP API Field Mapping

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
<serviceName>_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_method
subscription_paymentMethod
payment_request_id
paySubscriptionCreateService_paymentRequestID
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
recurring_approval_required
recurringSubscriptionInfo_approvalRequired
recurring_automatic_renew
recurringSubscriptionInfo_automaticRenew
recurring_disable_auto_auth
paySubscriptionCreateService_disableAutoAuth
recurring_frequency
recurringSubscriptionInfo_frequency
recurring_number_of_payments
recurringSubscriptionInfo_numberOfPayments
recurring_number_of_payments_to_add
recurringSubscriptionInfo_numberOfPaymentsToAdd
recurring_payment_amount
recurringSubscriptionInfo_amount
recurring_payment_event_action
paySubscriptionEventUpdateService_action
recurring_payment_event_amount
recurringSubscriptionInfo_event_amount
recurring_payment_event_approved_by
recurringSubscriptionInfo_event_approvedBy
recurring_payment_event_number
recurringSubscriptionInfo_event_number
recurring_start_date
recurringSubscriptionInfo_startDate
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
subscription_end_date
recurringSubscriptionInfo_endDate
subscription_id
recurringSubscriptionInfo_subscriptionID
subscription_status
recurringSubscriptionInfo_status
subscription_title
subscription_title
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
<service>_rcode
Possible values:
  • -1
    (error)
  • 0
    (declined)
  • 1
    (accepted)
decision
Possible values:
  • ERROR
  • REJECT
  • ACCEPT
ics_rflag
and
<service>_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
<service>_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
<service>_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
N/A
paySubscriptionCreateReply_reasonCode
N/A
paySubscriptionEventUpdateReply_reasonCode
N/A
paySubscriptionRetrieveReply_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
pay_subscription_create_rcode
N/A
pay_subscription_create_rflag
N/A
pay_subscription_create_rmsg
N/A
pay_subscription_create_subscription_id
paySubscriptionCreateReply_subscriptionID
pay_subscription_retrieve_approval_required
paySubscriptionRetrieveReply_approvalRequired
pay_subscription_retrieve_automatic_renew
paySubscriptionRetrieveReply_automaticRenew
pay_subscription_retrieve_bill_address1
paySubscriptionRetrieveReply_street1
pay_subscription_retrieve_bill_address2
paySubscriptionRetrieveReply_street2
pay_subscription_retrieve_bill_city
paySubscriptionRetrieveReply_city
pay_subscription_retrieve_bill_country
paySubscriptionRetrieveReply_country
pay_subscription_retrieve_bill_state
paySubscriptionRetrieveReply_state
pay_subscription_retrieve_bill_zip
paySubscriptionRetrieveReply_postalCode
pay_subscription_retrieve_card_type
paySubscriptionRetrieveReply_cardType
pay_subscription_retrieve_comments
paySubscriptionRetrieveReply_comments
pay_subscription_retrieve_company_name
paySubscriptionRetrieveReply_companyName
pay_subscription_retrieve_currency
paySubscriptionRetrieveReply_currency
pay_subscription_retrieve_customer_account_id
paySubscriptionRetrieveReply_customerAccountID
pay_subscription_retrieve_customer_cc_expmo
paySubscriptionRetrieveReply_cardExpirationMonth
pay_subscription_retrieve_customer_cc_expyr
paySubscriptionRetrieveReply_cardExpirationYear
pay_subscription_retrieve_customer_cc_issue_number
paySubscriptionRetrieveReply_cardIssueNumber
pay_subscription_retrieve_customer_cc_number
paySubscriptionRetrieveReply_cardAccountnumber
pay_subscription_retrieve_customer_cc_startmo
paySubscriptionRetrieveReply_cardStartMonth
pay_subscription_retrieve_customer_cc_startyr
paySubscriptionRetrieveReply_cardStartYear
pay_subscription_retrieve_customer_email
paySubscriptionRetrieveReply_email
pay_subscription_retrieve_customer_firstname
paySubscriptionRetrieveReply_firstName
pay_subscription_retrieve_customer_lastname
paySubscriptionRetrieveReply_lastName
pay_subscription_retrieve_customer_phone
paySubscriptionRetrieveReply_phoneNumber
pay_subscription_retrieve_ecp_account_no
paySubscriptionRetrieveReply_checkAccountNumber
pay_subscription_retrieve_ecp_account_no
paySubscriptionRetrieveReply_checkAccountType
pay_subscription_retrieve_ecp_rdfi
paySubscriptionRetrieveReply_checkBankTransitNumber
pay_subscription_retrieve_end_date
paySubscriptionRetrieveReply_endDate
pay_subscription_retrieve_frequency
paySubscriptionRetrieveReply_frequency
pay_subscription_retrieve_merchant_ref_number
paySubscriptionRetrieveReply_merchantReferenceCode
pay_subscription_retrieve_payment_method
paySubscriptionRetrieveReply_paymentMethod
pay_subscription_retrieve_payments_left
paySubscriptionRetrieveReply_paymentsRemaining
pay_subscription_retrieve_rcode
N/A
pay_subscription_retrieve_recurring_amount
paySubscriptionRetrieveReply_recurringAmount
pay_subscription_retrieve_rflag
N/A
pay_subscription_retrieve_rmsg
N/A
pay_subscription_retrieve_setup_amount
paySubscriptionRetrieveReply_setupAmount
pay_subscription_retrieve_start_date
paySubscriptionRetrieveReply_startDate
pay_subscription_retrieve_status
paySubscriptionRetrieveReply_status
pay_subscription_retrieve_subscription_id
paySubscriptionRetrieveReply_subscriptionID
pay_subscription_retrieve_title
paySubscriptionRetrieveReply_title
pay_subscription_retrieve_total_payments
paySubscriptionRetrieveReply_totalPayments
pay_subscription_update_rcode
paySubscriptionUpdateReply_reasonCode
pay_subscription_update_subscription_id
paySubscriptionUpdateReply_subscriptionID
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

Reference: Request Fields for Batch Files

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 a Subscription Creation Request
  • Fields for a Subscription Update Request
  • Fields for a Subscription Cancellation 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: jdoe@example.com
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: jdoe@example.com
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: jdoe@example.com
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: jdoe@example.com
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

Fields for a Subscription Creation Request

This table describes the required and optional fields for specifying a subscription creation 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 Subscription Creation 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
recurringSubscriptionInfo_amount*
Amount of the subscription payments, for example, 19.95. For on-demand subscriptions, this value can be 0. Create: Required for installment and recurring subscription; optional for on-demand subscriptions.
Required
String
15
D
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.
Optional
String
15
E
billTo_firstName*
Customer’s first name. The value should be the same as the one that appears on the card.
Required
String
60
F
billTo_lastName*
Customer’s last name. The value should be the same as the one that appears on the card.
Required
String
60
G
billTo_customerID
Your identifier for the customer.
Optional
String
50
H
billTo_email*
Customer’s email address, including the full domain name. For example: jdoe@example.com
Required
String
255
I
billTo_street1*
First line of the billing street address.
Required
String
60
J
billTo_street2
Second line of the billing street address. Used for additional address information. For example: Attention: Accounts Payable
Optional
String
60
K
billTo_city*
City of the billing address.
Required
String
50
L
billTo_state*
State or province of the billing address. Use the two-character codes.
Required
String
2
M
billTo_country*
Country of the billing address. Use the two-character ISO codes.
Required
String
2
N
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
O
card_accountNumber*
Customer’s credit card number.
Required
String (Numbers Only)
20
P
billTo_phoneNumber
Customer’s phone number.
Optional
String
15
Q
billTo_company
Customer's Company Name
Optional
String
60
R
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
S
card_expirationYear*
Four-digit year in which the credit card expires. Format: YYYY.
Required
String
4
T
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
U
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
V
card_cvNumber
Card verification number.
Optional
String (Numbers Only)
2
W
subscription_title
Name or title of the subscription.
Optional
String
60
X
recurringSubscriptionInfo_frequency*
Frequency of payments. Possible values:
  • on-demand: For an on-demand subscription (which has no payment schedule)
  • weekly: 7 days
  • bi-weekly: 14 days
  • semi-monthly: 15 days
  • monthly: 1 month
  • quarterly: 3 months
  • quad-weekly: 4 weeks
  • semi-annually: 26 weeks
  • annually: 1 year
Required
String
20
Y
recurringSubscriptionInfo_numberOfPayments
Number of payments for an installment subscription. The maximum allowed value is 156, which corresponds to 3 years of weekly payments.
Optional (Required for "installment" subscriptions)
Integer
3
Z
recurringSubscriptionInfo_startDate
Date when your customer is billed for the first time for installment and recurring subscriptions. Use format YYYYMMDD. See Setting the Start Date for the Subscription for information about how to determine the start date.
Optional
Integer
10
AA
recurringSubscriptionInfo_approvalRequired
Whether the subscription uses approval-required payments. For more information, see Automatic or Approval-Required Payments. Possible values:
  • true: Payments must be approved before processing
  • false (default): Payments do not need to be approved before processing
Optional
String
5
AB
recurringSubscriptionInfo_automaticRenew
Whether to automatically renew the payment schedule for the subscription. Possible values:
  • true: (default) Subscription schedule renewed automatically
  • false: Subscription schedule not renewed automatically
Optional
String
5
AC
comments
Optional comments you have about the authorization. These comments will not be shown to the customer.
Optional
String
255
AD
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
AE
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
AF
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
AG
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
AH
merchantSecureData_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
AI
merchantSecureData_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
AJ
merchantSecureData_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
AK
merchantSecureData_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
AL
paySubscriptionCreateService_disableAutoAuth
Whether to turn off the $1.00 pre-authorization check when creating this particular subscription. You use this if you are configured to use the $1.00 pre-authorization, but for the specific subscription you are creating, you want to override that setting. Possible values:
  • N: No, go ahead and perform the $1.00 pre-authorization for this subscription
  • Y: Yes, do NOT perform the $1.00 pre-authorization for this subscription
Optional
String
1
AM
paySubscriptionCreateService_paymentRequestID
Required when converting an existing authorization to a subscription. The value is that of the requestID reply field from the authorization.
Optional
String
26
AN
paySubscriptionCreateService_paymentRequestToken
The requestToken value returned from a previous request for ccAuthService. This field is required when you are creating a subscription based on information from a credit card authorization. Otherwise, it is not used. The field is an encoded string that contains no confidential information, such as an account or card verification number. The string may contain up to 256 characters.
  • You can start using the request token immediately, or you can do so at any time during the transition period:
  • After you start using the request token, you must do so for all future follow-on requests.
  • If you cannot use the request token immediately,
    Cybersource
    will store the request token data for you and retrieve it as necessary when you send follow-on requests. However, you will need to start using the request token before the end of the transition period.
  • You can read the migration guide that describes the request token.
Optional
String
256
AO
shipTo_firstName
First name of the person receiving the shipment.
Optional
String
60
AP
shipTo_lastName
Last name of the person receiving the shipment.
Optional
String
60
AQ
shipTo_company
Name of Company receiving the shipment.
Optional
String
60
AR
shipTo_street1
First line of the address to which to ship the product.
Optional
String
60
AS
shipTo_street2
Second line of the address to which to ship the product.
Optional
String
60
AT
shipTo_city
City to which to ship the product.
Optional
String
50
AU
shipTo_state
State or province to which to ship the product. Use the two-character codes.
Optional
String
2
AW
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
AX
businessRules_ignoreAVSResult
Use only if you are using automatic pre-authorization. This field overrides that configuration setting and enables you to create the subscription even if the credit card does not pass the AVS check. NOTE: Do not use this field if you are using Smart Authorization for AVS results. Possible values:
  • true: Ignore the results of the AVS check and create the subscription
  • false (default): If the pre-authorization receives an AVS decline, do not create the subscription
If the value of this field is true, the list in the businessRules_declineAVSFlags field is ignored.
Optional
String
5

Fields for a Subscription Update Request

This table describes the required and optional fields for specifying a subscription update 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 Subscription Update Request
Column
Field Name
Description
Required?
Data Type
Length
A
merchantReferenceCode*
Merchant-generated order reference or tracking number.
Required
String
50
B
recurringSubscriptionInfo_subscriptionID*
Subscription ID that is returned to you when a subscription is created. Include this field in your request when you update a subscription or an individual payment, or when you retrieve subscription information. Also see Processing a Payment or Credit with a Subscription for information about using a subscription ID when initiating a one-time payment or credit.
Required
String
26
C
purchaseTotals_currency*
Currency used for the order.
Required
String
5
D
recurringSubscriptionInfo_amount*
Amount of the subscription payments, for example, 19.95. For on-demand subscriptions, this value can be 0. Create: Required for installment and recurring subscription; optional for on-demand subscriptions.
Required
String
15
E
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.
Optional
String
15
F
billTo_firstName
Customer’s first name. The value should be the same as the one that appears on the card.
Optional
String
60
G
billTo_lastName
Customer’s last name. The value should be the same as the one that appears on the card.
Optional
String
60
H
billTo_customerID
Your identifier for the customer.
Optional
String
50
I
billTo_email*
Customer’s email address, including the full domain name. For example: jdoe@example.com
Required
String
255
J
billTo_street1
First line of the billing street address.
Optional
String
60
K
billTo_street2
Second line of the billing street address. Used for additional address information. For example: Attention: Accounts Payable
Optional
String
60
L
billTo_city
City of the billing address.
Optional
String
50
M
billTo_state
State or province of the billing address. Use the two-character codes.
Optional
String
2
N
billTo_country
Country of the billing address. Use the two-character ISO codes.
Optional
String
2
O
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]
Optional
String
10
P
card_accountNumber
Customer’s credit card number.
Optional
String (Numbers Only)
20
Q
billTo_phoneNumber
Customer’s phone number.
Optional
String
15
R
billTo_company
Customer's Company Name.
Optional
String
60
S
card_expirationMonth
Two-digit month in which the credit card expires. Format: MM. Possible values: 01 through 12. The leading 0 is required.
Optional
String
2
T
card_expirationYear
Four-digit year in which the credit card expires. Format: YYYY.
Optional
String
4
U
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. Possible values:
  • 001: Visa
  • 002: MasterCard
  • 003: American Express
  • 004: Discover
  • 005: Diners Club
  • 007: JCB
Optional
String
3
V
subscription_title
Name or title of the subscription.
Optional
String
60
W
recurringSubscriptionInfo_approvalRequired
Whether the subscription uses approval-required payments. For more information, see Automatic or Approval-Required Payments. Possible values:
  • true: Payments must be approved before processing
  • false (default): Payments do not need to be approved before processing
Optional
String
5
X
recurringSubscriptionInfo_automaticRenew
Whether to automatically renew the payment schedule for the subscription. Possible values:
  • true: (default) Subscription schedule renewed automatically
  • false: Subscription schedule not renewed automatically
WARNING: The default is automatic renewal. When creating an installment subscription, make sure to set this to false, or else
Cybersource
will incorrectly continue billing the customer after the last installment payment.
Optional
String
5
Y
recurringSubscriptionInfo_numberOfPaymentsToAdd
Number of payments to add to an existing installment subscription.
Optional
Integer
3
Z
comments
Optional comments you have about the authorization. These comments will not be shown to the customer.
Optional
String
255
AA
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
AB
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
AC
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
AD
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
AE
merchantSecureData_field1
Storage fields for any type of data. No validation is performed on this field except size check. The data is encrypted before it is stored.
Optional
NA
100 Bytes
AF
merchantSecureData_field2
Storage fields for any type of data. No validation is performed on this field except size check. The data is encrypted before it is stored.
Optional
NA
100 Bytes
AG
merchantSecureData_field3
Storage fields for any type of data. No validation is performed on this field except size check. The data is encrypted before it is stored.
Optional
NA
100 Bytes
AH
merchantSecureData_field4
Storage fields for any type of data. No validation is performed on this field except size check. The data is encrypted before it is stored.
Optional
NA
2K Bytes
AI
shipTo_firstName
First name of the person receiving the shipment.
Optional
String
60
AJ
shipTo_lastName
Last name of the person receiving the shipment.
Optional
String
60
AK
shipTo_company
Name of Company receiving the shipment.
Optional
String
60
AL
shipTo_street1
First line of the address to which to ship the product.
Optional
String
60
AM
shipTo_street2
Second line of the address to which to ship the product.
Optional
String
60
AN
shipTo_city
City to which to ship the product.
Optional
String
50
AO
shipTo_state
State or province to which to ship the product. Use the two-character codes.
Optional
String
2
AP
shipTo_country
Country to which to ship the product. Use the two-character ISO codes.
Optional
String
2
AQ
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 Subscription Cancellation Request

This table describes the required and optional fields for specifying a subscription cancellation 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 Subscription Cancellation Request
Column
Field Name
Description
Required?
Data Type
Length
A
merchantReferenceCode
*
Merchant-generated order reference or tracking number.
Required
String
50
B
recurringSubscriptionInfo_subscriptionID*
Subscription ID that is returned to you when a subscription is created. Include this field in your request when you update a subscription or an individual payment, or when you retrieve subscription information. Also see Processing a Payment or Credit with a Subscription for information about using a subscription ID when initiating a one-time payment or credit.
Required
String
26
C
recurringSubscriptionInfo_status*
Status of the subscription. Set this field to cancel to cancel the future scheduled payments for an installment or recurring subscription.
Required
String
15

VISA Platform Connect: Specifications and Conditions for Resellers/Partners

The following are specifications and conditions that apply to a Reseller/Partner enabling its merchants through
Cybersource for
Visa Platform Connect
(“VPC”) processing
. Failure to meet any of the specifications and conditions below is subject to the liability provisions and indemnification obligations under Reseller/Partner’s contract with Visa/Cybersource.
  1. Before boarding merchants for payment processing on a VPC acquirer’s connection, Reseller/Partner and the VPC acquirer must have a contract or other legal agreement that permits Reseller/Partner to enable its merchants to process payments with the acquirer through the dedicated VPC connection and/or traditional connection with such VPC acquirer.
  2. Reseller/Partner is responsible for boarding and enabling its merchants in accordance with the terms of the contract or other legal agreement with the relevant VPC acquirer.
  3. Reseller/Partner acknowledges and agrees that all considerations and fees associated with chargebacks, interchange downgrades, settlement issues, funding delays, and other processing related activities are strictly between Reseller and the relevant VPC acquirer.
  4. Reseller/Partner acknowledges and agrees that the relevant VPC acquirer is responsible for payment processing issues, including but not limited to, transaction declines by network/issuer, decline rates, and interchange qualification, as may be agreed to or outlined in the contract or other legal agreement between Reseller/Partner and such VPC acquirer.
DISCLAIMER: NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR ANY ERRORS OR OMISSIONS BY THE
Visa Platform Connect
ACQUIRER IN PROCESSING TRANSACTIONS. NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR RESELLER/PARTNER BOARDING MERCHANTS OR ENABLING MERCHANT PROCESSING IN VIOLATION OF THE TERMS AND CONDITIONS IMPOSED BY THE RELEVANT
Visa Platform Connect
ACQUIRER.