Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
merchant:existing_merchant:selfcare_system:bulk_payments [2018/08/22 14:10]
thiago123
merchant:existing_merchant:selfcare_system:bulk_payments [2018/09/19 15:11] (current)
Line 1: Line 1:
 +====== Bulk Payments ====== ​
  
 +~~TOC~~
 +
 +\\
 +The **Bulk Payments** provides merchants with the ability to load a group os transactions at once for processing. This is especially useful in cases where a merchant does not register transaction by transaction and a big volume of those transactions are informed at once.
 +
 +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 ** ^
 +| ODERID ​          | 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 Card. |
 +| CARDTYPE  ​  | Y         | Card Type used for the transaction.\\ For more details visit **[[developer:​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 Card to perform the transaction. |
 +| CARDEXPIRY ​      | N         | 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 ​  | N         | The cardholders name. Required if the CARDTYPE is not SECURECARD.\\ If the CARDTYPE is SECURECARD this field shouldn'​t be informed. |
 +| ADDRESS1 ​        | N         | AVS Address Line 1. |
 +| ADDRESS2 ​        | N         | AVS Address Line 2. |
 +| POSTCODE ​        | N         | 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 ​       | N         | Set to Y for setting auto ready or N to mark as pending.|
 +| DESCRIPTION ​     | N         | Optional transaction description. ​     |
 +| EMAIL            | N         | Card holder email for notification. ​     |
 +\\
 +
 +**FOR ACH TRANSACTIONS**
 +
 +^ **FIELD NAME** ​  ^ **REQUIRED** ​ ^ **DESCRIPTION ** ^
 +| ODERID | 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 |
 +| ACH_SECURE | N | Two possibilities:​ Y (for YES) and N (for NO). |
 +| SEC_CODE | Y | Standard Entry Class (SEC) codes to determine what information is required to be sent in the submission. Options supported:​\\ **WEB** (Internet Initiated Entry): An internet initiated entry is a method of payment for goods or services made via the internet.\\ **TEL** (Telephone Initiated Entry ): A telephone initiated entry is a payment for goods or services made with a single entry debit with oral authorization obtained from the consumer via the telephone.\\ **PPD** (Prearranged Payment and Deposit): A pre-authorized consumer payment.\\ **CCD** (Cash Concentration and Disbursement):​ A pre-authorized corporate payment. | 
 +| ACCOUNT_TYPE | Y | ACH account type: CHECKING or SAVINGS. |
 +| ACCOUNT_NUMBER | Y | ACH account number. |
 +| ROUTING_NUMBER | Y | ACH account routing number. |
 +| ACCOUNT_NAME | Y | ACH cardholder'​s name. |
 +| CHECK_NUMBER | Y | Check number used. |
 +| DL_STATE | Y | Customer'​s driver licence state. |
 +| DL_NUMBER | Y | Customer'​s driver licence number. |
 +| ADDRESS1 | Y | AVS Address Line 1. |
 +| ADDRESS2 | N | AVS Address Line 2. |
 +| CITY | Y | Customer'​s city. |
 +| REGION | Y | Customer'​s region. |
 +| COUNTRY | Y | Customer'​s country. |
 +| POSTCODE | Y | AVS Post Code. |
 +| PHONE | Y | Customer'​s phone number. |
 +| 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 **NOTE 02** for more details. |
 +| DESCRIPTION | N | Optional transaction description. |
 +| EMAIL | N | Customer'​s e-mail. |
 +
 +
 +**FOR BOTH CASES**
 +
 +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 **[[developer:​api_specification:​special_fields_and_parameters#​the_hash_parameter|Special Fields and Parameters]]** section. For this specific feature, you should use the following format:
 +
 +<WRAP center box 100%>
 +TERMINALID:​ODERID:​AMOUNT:​DATETIME:​SECRET
 +</​WRAP>​
 +\\
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International