Specialized Techniques
Ping
The Ping command is primarily used to determine if the connection between the Merchant and the Acquirer is down. If the connection is down, then a Ping can be used to poll the iVeri Gateway to see when the status is back up.
The Ping command checks that:
- the merchant is communicating with the iVeri Gateway, and
- the merchant configuration is active, and
- the iVeri Gateway is online, and
- the iVeri Gateway is communicating with the acquirer.
This is different to checking network connectivity to the iVeri Gateway, where a network ping should be employed. The Ping takes an ApplicationID as a mandatory input parameter and is sometimes referred to as an ApplicationID Ping. As mentioned previously, an iVeri transaction involves communication between the following players:
Card Holder > Merchant > iVeri Gateway > Acquirer > Association > Issuer
An Acquirer can route a transaction to many different Associations, and an Association can route a transaction to many different https://issuers.an/ individual Transaction may reply to with a ResultCode of 1 or 9, meaning something is wrong between the Merchant and the card issuer. However, in such a case the merchant does not know if the problem was between the Acquirer and an Issuer (due to the routing of the PAN), or between the Merchant and the Acquirer. Although the individual transaction can be automatically retried, the Merchant may have some business rules for the case when the connection between the Merchant and the Acquirer is down, such as:
- go into Store and Forward mode
- notify a certain person
- show a different website page upon checkout
The Ping code of conduct:
- The Ping command should be used only when a merchant needs to know the connection status between the Merchant and the Acquirer after either:
- A service startup or a Transaction result code 1 or 9 (in doubt)
- A Ping result code 1 or 9 (connection down)
- A merchant should assume that the system is up. A Ping should not be used when the merchant thinks that the connection is up and the above conditions do not hold (i.e it should not be used to indiscriminately repeatedly poll the iVeriGateway)
- When polling to see if the status is back up, a Ping may not be more frequent than every 20 seconds.
- As a note, a merchant abusing the Ping command may have their use of it suspended
Ping Flow
The following is a diagram showing how a Ping can be effectively used.
“S&F” refers to “Store and Forward”, otherwise known as an Offline transaction.
Mod-10 Checking
PANs are checked for validity using the Luhn check-digit algorithm (also known as “Mod-10 checking”). If the iVeri Gateway receives a transaction that fails Mod-10 checking, then “Invalid Card Number” (ResultCode 14) if returned.
A merchant may perform Mod-10 checking up front before sending the transaction to the iVeriGateway.
The steps of the algorithm are described below (however there are many Mod-10 algorithms available for download on the Internet):
- Exclude the right-most digit from the calculation as this is the actual check-digit to be examined for validity.
- Starting with the 2nd to the last digit and moving right to left, alternatively multiply each successive digit by 2 and 1 respectively.
- Sum the integers comprising the product obtained from each of the calculations
- Subtract the resulting sum from the next higher multiple of ten (10). The resulting value is the desired account number check-digit.
The following example uses the PAN of: 4287 9478
Step |
Description |
Example |
1 |
Example account number |
4 2 8 7 9 4 7 (8) |
2 |
Multiplier |
x2 x1
x2 x1 x2
x1 x2 |
3 |
Sum the integers |
8 + 2 + (1+6) + 7 + (1+8) + 4 + (1+4) = 42 |
4 |
Derive the Check Digit |
50 – 42 = 8 |
Card Number Checking
A merchant can perform multiple other checks on the PAN before initiating an iVeri Gateway transaction request.
This can be achieved by using the contents of files downloaded with the Commands:
- HotCard
- BINLookup
- BINManagement
- BlackCard