Verifone Israel
In this article
Preparation
The setup is handled by an MX Tester application supplied by Verifone Israel. Note: Contact Verifone for more details.
Setttings
- File Path: Folder where the MX log file is located, default value is 'C:\LS Retail\LSPay\VerifoneIsrael'
- Receipt Line Width: How many characters there are in each line.
EFT
Communication is session-based and should only be finished when the final response has been returned.
- Purchase
- Integration supports Installments, see description below how to implement.
- Refund
- Stand-alone refund only.
- Void
- It is possible to void any transaction.
- Get last transaction
- Get transaction
- It is possible to fetch details on any transaction by the EFT transaction ID (EFTTransactionId) from the previous transaction.
- Cancel
- It is possible to cancel ongoing transaction from POS, the result will be returned in the original request.
Card data
- To identify a card being used for the transaction, to identify, for instance, if it supports installments.
Signature
- PED can be instructed to activate signature pad for various verification processes.
Report
- Z Report
Properties
- To get details on the SHVA_STATUS from the PED.
Integration specifics
LS Pay supports all basic EFT transactions and a few additional services in this integration.
Get Card Details
Before each transaction, a discover can be sent to identify the card being used by the customer and to check the status of a gift card:
public async Task<Dictionary<string,string>> GetCardData()
{
if(eft is IsICardData)
{
return await ((ICardData)eft).GetCardData();
}
else
{
logService.Log(DateTime.Now, LoggingLevel.ERROR, "Only ICardData supports this operation: GetCardData");
throw new InvalidOperationException("Only ICardData supports this operation: GetCardData");
}
}
The discover transaction returns a list of properties and values:
- MASKED_PAN
- CARD_EXPIRY
- TERMS_INSTALLMENTS
- MAX_PAYMENTS
- MIN_PAYMENTS
- BALANCE
- SPECIAL_CARD_TYPE
Installments
When using installments, a Discover function must be called first to identify if the card supports the installments.
If supported, the number of installments to be used is inserted in the purchase request and the tender type is set to Installments.
purchaseRequest()
{
TransactionId = POSRequest.TransactionId,
AmountBreakdown = new LSPay.AmountBreakdown()
{
TotalAmount = POSRequest.Amount,
CurrencyCode = POSRequest.CurrencyCode
},
TenderType = LSPay.TenderType.Installments,
Installments = new LSPay.Installments()
{
NumberOfInstallments = POSRequest.NumberOfInstallments
}
}
The process now follows the regular payment flow and returns the tender type Installments in the response.