====== Bulk Payments (PSD2 Compliant) ======
ORDERID,CURRENCY,AMOUNT,CARDNUMBER,CARDTYPE,CARDEXPIRY,CARDHOLDERNAME,ADDRESS1,ADDRESS2,POSTCODE,DATETIME,HASH,AUTOREADY,DESCRIPTION,EMAIL,ORIGINALBRANDTXIDENTIFIER,STOREDCREDENTIALTXTYPE,STOREDCREDENTIALUSE
3 new fields have been added to the original integration: ORIGINALBRANDTXIDENTIFIER,STOREDCREDENTIALTXTYPE,STOREDCREDENTIALUSE
Below you can find further details about the new fields.
The full CSV will look like this:
ORDERID,CURRENCY,AMOUNT,CARDNUMBER,CARDTYPE,CARDEXPIRY,CARDHOLDERNAME,ADDRESS1,ADDRESS2,POSTCODE,DATETIME,HASH,AUTOREADY,DESCRIPTION,EMAIL,ORIGINALBRANDTXIDENTIFIER,STOREDCREDENTIALTXTYPE,STOREDCREDENTIALUSE
"BLK4684020","USD","8.33","4787421513493733","VISA","1127","John Doe","10 Washington Street","Apt.21","10100","27-11-2020:18:38:12:000",a8ccbd39fc50f1a83ce931bdb02d4231103814ab3baa4c83e289a722c4d6fdd6cb12764edffe53692603135797e8bff752c016a6ad04d79785d8779627dbada3,"Y","Description","johndoe@email.com","","SUBSEQUENT_CARDHOLDER_INITIATED_TXN",""
Sample **Getting Started with VT** window:
Sample **Bulk Payments** window:
%merchant_selfcare_bulkPayments
Understanding the fields:
* **Batch Total**: The total value of the transactions present in the CSV file.
* **Transaction Count**: The quantity of transactions present in the CSV file.
* **Batch CSV File**: The CSV file used to submit the transactions for processing.
* **Transaction Type**: You have the option to submit CSV files with Normal Sale Transactions or ACH Transactions (in case the terminal has ACH enabled).
In this first part, the user only needs to inform the fields required above and click in SUBMIT. After that, the payment gateway is going to start the processing of the file.
When the file is submitted, if the batch total or the transaction count do not match the CSV file data, or if the file is not a CSV file, or even if the data informed for each transaction in the file is not consistent (wrong hashes for example), an error is generated and the payment gateway does not even starts to process the CSV file.
When the file is successfully submitted, the payment gateway processes the transactions and generate a response file, which is going to be presented on the table under the SUBMIT button.
* **Bulk Id**: When the file is submitted correctly, a bulkid is generated for that file to define the set of transactions processed from the given file.
* **Transaction Count**: quantity of transactions present in the file.
* **Bulk total**: total value for the transactions within the file.
* **Date**: The date of the submission.
* **Status (And Download Link)**: Status of the processing. When finalized, a status FINISHED appears, alongside a DOWNLOAD button to download the resulting CSV file which contains the processing details of each transaction.
Each time a bulk payment file is submitted, a new line on the results table is added.
\\
===== About the File Format =====
The file send by this request needs to be composed by the transactions you want to process.
During the processing, each line informed in your file is going to be considered a transaction and each transaction (line) should be represented by the following fields in your CSV file.
**FOR SALE TRANSACTIONS**
^ **FIELD NAME** ^ **REQUIRED** ^ **DESCRIPTION ** ^
| ORDERID | Y | A unique reference generated by Merchant system to identify the transaction. Maximum of characters. |
| CURRENCY | Y | ISO 4217 Currency Code. |
| AMOUNT | Y | Amount formatted to two decimal places. E.g. 1653.00 |
| CARDNUMBER | Y | Card PAN.\\ If a SECURECARD is used (in CARDTYPE), this field should inform the CARDREFERENCE of the given Secure Token. |
| CARDTYPE | Y | Card Type used for the transaction.\\ For more details visit **[[https://developers.worldnetpayments.com/selfcare:api_specification:special_fields_and_parameters#the_card_types|Special Fields and Parameters - Card Types]]**.\\ This field can also admit the SECURECARD type, when using a Secure Token to perform the transaction. |
| CARDEXPIRY | Y | Expiry date of he card.A 4 digit expiry field (MMYY), required if the CARDTYPE is not SECURECARD.\\ If the CARDTYPE is SECURECARD this field shouldn't be informed. |
| CARDHOLDERNAME | Y | The cardholders name. Required if the CARDTYPE is not SECURECARD.\\ If the CARDTYPE is SECURECARD this field shouldn't be informed. |
| ADDRESS1 | Y | AVS Address Line 1. |
| ADDRESS2 | Y | AVS Address Line 2. |
| POSTCODE | Y | AVS Post Code.|
| DATETIME | Y | Format: DD-MM-YYYY:HH:MM:SS:SSS. |
| HASH | Y | A HASH code formed by part of the request fields. Take a look at **ND003 - Hash Formation For Transactions on Bulk File** for more details. |
| AUTOREADY | Y | Set to Y for setting auto ready or N to mark as pending.|
| DESCRIPTION | Y | Optional transaction description. |
| EMAIL | Y | Card holder email for notification. |
| ORIGINALBRANDTXIDENTIFIER | N | String, max length is 64. Merchant sends the transaction identifier got from acquirer through NetTraxion or another gateway in the request |
| STOREDCREDENTIALTXTYPE | N | Parameter describes the transaction type. Options: FIRST_TXN, SUBSEQUENT_MERCHANT_INITIATED_TXN, SUBSEQUENT_CARDHOLDER_INITIATED_TXN |
| STOREDCREDENTIALUSE | N | Parameter describes the Secure Token usage. Options: UNSCHEDULED, INSTALLMENT, RECURRING |
\\
In case you are not going to use one of the NOT MANDATORY fields for of or more of your transaction, don't forget to add the comma separating that field from the next one.
The processing of your file is going to consider the order of fields in your CSV file based on the order presented above. If you fail on informing any of them (or add them in the wrong sequence), the processing is going to fail.
Also, each transaction of your CSV file also contains a HASH and they also should follow a formation rule.
The general rule to build HASH field is given at the **[[https://developers.worldnetpayments.com/selfcare:api_specification:special_fields_and_parameters#hash_parameter|Special Fields and Parameters]]** section. For this specific feature, you should use the following format: