Batch Processing Fixed Format Specification

The Batch Upload File Record Layout


The Batch Upload File Record Layout

The Batch Upload File consists of three sections namely:-

  • Header
  • Transaction records
  • Trailer

Header Record

 

DESCRIPTION

 

NOTES

 

FORMAT

 

VALUE

Record Type

 

N*2

"00"

Version

 

N*3

"001"

Bank Code

Identifier for the bank at which the Card Acceptor ID is valid

N*2

"NN"

Merchant Card Acceptor ID

The Card Acceptor ID to use to process the batch with

N*10

"NNNNNNNNNN"

File Processing Date

If this date is the current date or up to 1 calendar month old then the file will be processed on the date on which it is uploaded. If the date is up to 1 calendar month in advance of the date on which the file is uploaded, then the file will be held on the iVeri server until the specified date when it will then be processed on that specified date.

N*8

"YYYYMMDD"

Application ID

Your ApplicationID allocated by iVeri

A*36

"AAA…AAA"

Merchant Name

Your Merchant Name under which your ApplicationID has been registered

A*

"AAA…"


Credit Card Transaction Record

 

DESCRIPTION

 

NOTES

 

FORMAT

 

VALUE

Record Type

 

N*2

"01"

Version

 

N*3

"001"

Merchant Terminal Number

Used to group transactions together

A*8

"AAAAAAAA"

Merchant Reference

Unique identifier for this invoice or credit note. NOTE: DO NOT USE ANY COMMA’s AS PART OF THIS IDENTIFIER

A*32

"AAA…AAA"

Transaction Code

See Appendix B

N*2

"NN"

Purchase Date

Date the invoice or credit note was raised

IMPORTANT NOTE:

This date must be less than or equal to the date on which the batch will actually be processed ie. The file processing date in the header record.

N*8

"YYYYMMDD"

Purchase Time

Time the invoice or credit note was raised

N*4

"HHMM"

Amount

Value is in cents

N*10

"NNNNNNNNNN"

CCNumber

Credit Card Number

NOTE: Pad with zeros from the left to fill the required field of twenty numbers

N*20

"NNN...NNN"

Card Start Date

The beginning of the period for which the card is valid. If this is not available use the current month and year.

N*6

"YYYYMM"

Card Expiry Date

 

N*6

"YYYYMM"

Authorisation Code

Pre-authorisation code if one has been obtained for this transaction

N*6

"NNNNNN" Set to "000000" if it does not exist

Budget Period

The Budget period to request this authorisation to be used with. In number of months

N*2

“NN” Set to "00" if it does not exist

Original Merchant Reference

The Invoice Number of the original invoice which is being refunded.  This is only used for the case where a refund is being performed or in the case of a recurring transaction. Note that the format of this field must be right justified irrespective of whether it is numeric or alphanumeric.

A*32

"AAA…AAA" Set to "   …   " (all spaces) if it does not exist.


Trailer Record

 

DESCRIPTION

 

NOTES

 

FORMAT

 

VALUE

Record Type

 

N*2

"09"

Version

 

N*3

"001"

Total number of transactions

 

N*6

"NNNNNN"

Total Amount

The simple sum of all the amounts without regard to whether it is a sale or a refund etc

N*10

"NNNNNNNNNN"



Batch Processing Fixed Format Specification


Batch Processing Fixed Format Specification

 


Introduction


Introduction

 
This document describes the fixed specification format of the Batch Upload File and the Batch Result File. Both of these are ASCII text files with fixed field record structure where each transaction is recorded as a single line in the text file. The Batch Upload File can be uploaded either from the iVeri BackOffice or by using the iVeriClient software (the latter applies to Enterprise merchants only). The Batch Result File can be downloaded through these same mechanisms.

Note that the Batch Result File is available for download only after processing of the batch has completed. Note that the Reconciliation Status of the individual transactions might not yet be updated, since the reconciliation process only occur the day after processing.



The Batch Result File Record Layout


The Batch Result File Record Layout

The Batch Result File consists of three sections namely :-

  • Header
  • Transaction records
  • Trailer

Header Record

 

DESCRIPTION

 

NOTES

 

FORMAT

 

VALUE

Record Type

 

N*2

"90"

Version

 

N*3

"001"

Bank Code

Identifier for the bank at which the Card Acceptor ID is valid

N*2

"NN"

Merchant Card Acceptor ID

The Card Acceptor ID used to process the batch with

N*10

"NNNNNNNNNN"

Date when file was created

 

N*8

"YYYYMMDD"


Credit Card Transaction Record

 

DESCRIPTION

 

NOTES

 

FORMAT

 

VALUE

Record Type

 

N*2

"91"

Version

 

N*3

"001"

Merchant Terminal Number

Used to group transactions together

A*8

"AAAAAAAA"

Merchant Reference

Unique identifier for this invoice or credit note

A*32

"AAA…AAA"

Transaction Code

See Appendix B

N*2

"NN"

Transaction Status

Refer to Appendix B

N*5

"NNNNN"

Acquirer Date

Actual Date of the transaction

N*8

"YYYYMMDD"

Acquirer Time

Actual Time of the transaction

N*4

"HHMM"

Amount

Value is in cents

N*10

"NNNNNNNNNN"

CCNumber

The credit card number is passed back in mangled form e.g "00004922…………1333"

N*20

"NNNN.....NN"

Authorisation Code

Authorisation code allocated to this transaction

N*6

"NNNNNN"

Cycle Number

Along with the Trace Number this forms a unique identifier for this transaction

N*6

"NNNNNN"

Trace Number

Along with the Cycle Number this forms a unique identifier for this transaction

N*6

"NNNNNN"

Reconciliation Status

The Reconciliation Status for this transaction as per Appendix B - Reconciliation Status

N*5

"NNNNN"


Trailer Record

 

DESCRIPTION

 

NOTES

 

FORMAT

 

VALUE

Record Type

 

N*2

"99"

Version

 

N*3

"001"

Total number of transactions

 

N*6

"NNNNNN"

Total Amount

The simple sum of all the amounts without regard to whether it is a sale or a refund etc

N*10

"NNNNNNNNNN"



Field Justification


Field Justification

 
All Fields are justified in the following manner:-

  • Numeric Fields are pre-pended with 0's to the full width of the format
  • Alphanumeric Fields are left justified and ' ' (spaces) appended to the full width of the format
  • A* means an unspecified length field - we read to the end of the line.


Field and Reply Codes


Field and Reply Codes

Bank Code

 

VALUE

 

DESCRIPTION

"01"

All Banks

 

 


Transaction Code

 

VALUE

 

DESCRIPTION

"01"

Sale

"02"

Refund

“03”

Authorisation

“04”

Authorisation Reversal

“05”

Recurring Sale


Transaction Status

Transaction Status

ResultDescription

0

N/A (Approved)

1

Timeout waiting for response. Try again

3

Hot card

4

Denied

5

Please call

6

Card Address Failure

7

Card Security Code Failure

8

Card Type not accepted

9

Unable to process the transaction

11

Invalid Amount

12

Invalid Budget Period

14

Invalid Card Number

15

Invalid Track2

16

Invalid Expiry Date/Card Period

18

Invalid Authorisation code

255

Unknown Error


Reconciliation Status

 

VALUE

 

DESCRIPTION

"00000"

Unreconciled - The reconciliation process for this transaction has not taken place yet.

"10000"

Reconciliation has taken place and the result code accurately depicts the status of the transaction

"10001"

Reconciliation has taken place and the transaction could not be found.

"10002"

Reconciliation has taken place and the transactions details either in amount, cardholder, result code, cycle number, trace number does not match.



Preface


Preface

 
Changes included in this document include:

  1. Original Document.
  2. Changes made by R. Elferink changing the Merchant Invoice Field to 32 characters and adding the Merchant Reference Field as well as the Budget Period
  3. Added the reconciliation status to indicate whether the transaction has been reconciled with the bank and if so, if it is correct.
  4. Changed the brand name to iVeri from Set2Go
  5. Added the ability to Perform Authorisations and Authorisation Reversal. Corrected CCYY to YYYY to clear up confusion with 2101 being the year 01 in the 21st Century. Corrected formatting in “Reference Invoice Number”
  6. Change the names of the following fields in line with that used though out the iVeri Gateway (previous name – new name):
    Merchant Invoice Number – Merchant Reference
    Transaction Request Date/Time – Purchase Date/Time
    Transaction Response Date/Time – Acquirer Date/Time
  7. Added Recurring payments transaction type as “Transaction Code” 5.

Recurring Transaction Processing


Recurring Transaction Processing

 
Recurring transactions are transactions that are processed by the same merchant to the same cardholder for the same services on an ongoing basis and are typically insurance, utility or telecommunications charges. With the advent of PCIDSS, the security and storage of sensitive card data (PAN, Expiry etc) requires that merchants take far more care of the data and perform annual audits of their IT infrastructure. The iVeri Recurring Debit transaction is designed to alleviate some effort that merchants have to put into place in order to conform to PCI DSS standards.

Essentially what the solution entails is that instead of the merchant storing the PAN itself, the merchant must store a transaction identifier that refers to the PAN and it is this identifier that will be required in future transactions instead of a PAN.

By way of an example and starting with a merchant taking on a new customer. The first transaction that gets processed MUST use the PAN/Track2 itself since no record of this PAN for this merchant exists in the iVeri Gateway's database at this stage. The merchants' reference for this transaction is, for example, “MR01” and could be processed using any of the iVeri products such as Link, Lite, Enterprise etc and is valid for both card not present and card present environments.

Once this transaction has been processed the merchant would use this reference in future to indicate the PAN on which the future transactions should be processed; thus relieving the merchant of the responsibility of storing the actual PAN data to use in future transactions.

When the merchant wants to charge the same customer in the future the merchant would submit the following data in the batch file

  • The dotted-out PAN received in the response of the original transaction or calculated by the merchant. The formula for deriving the dotted-out PAN is to take the first four and last four digits and as many '.' as required to maintain the original length of the PAN. E.g. a PAN of “4242424242424242” dotted out would be “4242........4242” (16 digits)and a PAN of “361544444446349” would be “3615........6349” (15 digits).
  • A transaction Code of 5 if using the fixed format batch.
  • The Expiry Date of the card that should be used for the transaction. The merchant should keep the expiry date up to date in the merchants database. The reference only retrieves the PAN from the iVeri Gateway database, not the Expiry Date, so this piece of information must be submitted in the batch.
  • A new MerchantReference for this transaction which in our example is going to be “MR21”
  • The old MerchantReference must be submitted in the “OriginalMerchantReference” field and this value would be “MR01” in our example.
  • All other fields in the batch remain valid and are used as for a non recurring transaction.


The next time that the merchant wants to charge the same customer the merchant should use a new MerchantReference of “MR31” and the OriginalMerchantReference should contain a value of “MR21” and so on into the future. The reason for this “daisy chaining” of reference fields is to limit the time within which a merchantreference can be be used to 6 months. If the merchant refers to an identifier of a transaction which was processed over 6 months ago, the PAN relating to that transaction will not be able to be determined. Merchants must ALWAYS use the identifier for the PAN that they wish to use for the transactions that is the most recent on their records.