Nexo Retail Module Library now supports two reconciliation types:
SaleReconciliation
AcquirerSynchronisation
Sale Reconciliation
A sale reconciliation is simply an exchange of totals between the POI terminal and the Sale terminal.
...
Example of request message:
Code Block | ||
---|---|---|
| ||
<?xml version="1.0"?>
<SaleToPOIRequest>
<MessageHeader ProtocolVersion="3.0" MessageClass="Service" MessageCategory="Reconciliation" MessageType="Request" ServiceID="617" SaleID="ArkosSales" POIID="PreCertificationAmadis1" />
<ReconciliationRequest ReconciliationType="SaleReconciliation"/>
</SaleToPOIRequest>
|
Acquirer Synchronisation
An acquirer synchronisation is a reconciliation and closure of the current period with synchronisation between POI terminal and Acquirers.
...
Example of request message:
Code Block | ||
---|---|---|
| ||
<?xml version="1.0"?>
<SaleToPOIRequest>
<MessageHeader ProtocolVersion="3.0" MessageClass="Service" MessageCategory="Reconciliation" MessageType="Request" ServiceID="617" SaleID="ArkosSales" POIID="PreCertificationAmadis1" />
<ReconciliationRequest ReconciliationType="AcquirerSynchronisation"/>
</SaleToPOIRequest>
|
Upon sending the request, you can refer in RetailHandler.java class in ArkosPay on how the events are managed for a reconciliation request.
A wrapper function has been made available in ASL to get the reconciliation type from the requests.
Depending on the request, we execute the following steps.
Expand | ||
---|---|---|
| ||
|
Once the result is obtained, the data is sent back to the Nexo Retail Module to be constructed using SendReconciliationResponse() function.
Code Block | ||
---|---|---|
| ||
ReconciliationRequest request = (ReconciliationRequest) PaymentSystem.getRetailHandler().getEvent();
TransactionTotals transactionTotals = new TransactionTotals(receiptData);
List<TransactionTotal> getTotalList = transactionTotals.getTotalList();
PaymentSystem.getRetailHandler().SendReconciliationResponse(ReconciliationResponseBody.reconciliationResponseBody(request.wrap().getReconciliationType(),getTotalList,0));
|
An example of a reconciliation response body can be found below. The SDK builds the response with all your schemes supported.
You can also use the third parameter to choose which acquirer result you want to send to the nexo retail module if you have multiple acquirers configured.
Note: The first acquirer starts at 0, the second acquirer at 1, etc;
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIResponse>
<MessageHeader ServiceID="617" POIID="PreCertificationAmadis1" ProtocolVersion="3.0" SaleID="ArkosSales" MessageCategory="Reconciliation" MessageClass="Service" MessageType="Response"/>
<ReconciliationResponse ReconciliationType="SaleReconciliation">
<Response Result="Success"/>
<TransactionTotals PaymentInstrumentType="Card" AcquirerID="123456" CardBrand="VISA">
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Debit"/>
<PaymentTotals TransactionType="ReverseDebit" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionType="Credit" TransactionAmount="0.00"/>
<PaymentTotals TransactionAmount="0.00" TransactionType="ReverseCredit" TransactionCount="0"/>
<PaymentTotals TransactionAmount="0.00" TransactionCount="0" TransactionType="Declined"/>
<PaymentTotals TransactionCount="0" TransactionType="Failed" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionType="OneTimeReservation" TransactionAmount="0.00"/>
</TransactionTotals>
<TransactionTotals CardBrand="MasterCard" PaymentInstrumentType="Card" AcquirerID="123456">
<PaymentTotals TransactionType="Debit" TransactionAmount="50.00" TransactionCount="1"/>
<PaymentTotals TransactionAmount="0.00" TransactionType="ReverseDebit" TransactionCount="0"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Credit"/>
<PaymentTotals TransactionAmount="0.00" TransactionCount="0" TransactionType="ReverseCredit"/>
<PaymentTotals TransactionAmount="0.00" TransactionType="Declined" TransactionCount="0"/>
<PaymentTotals TransactionAmount="0.00" TransactionType="Failed" TransactionCount="0"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="OneTimeReservation"/>
</TransactionTotals>
<TransactionTotals PaymentInstrumentType="Card" AcquirerID="123456" CardBrand="MAESTRO">
<PaymentTotals TransactionType="Debit" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionType="ReverseDebit" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionType="Credit" TransactionAmount="0.00"/>
<PaymentTotals TransactionAmount="0.00" TransactionCount="0" TransactionType="ReverseCredit"/>
<PaymentTotals TransactionType="Declined" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Failed"/>
<PaymentTotals TransactionAmount="0.00" TransactionType="OneTimeReservation" TransactionCount="0"/>
</TransactionTotals>
<TransactionTotals PaymentInstrumentType="Card" AcquirerID="123456" CardBrand="AMEX">
<PaymentTotals TransactionAmount="0.00" TransactionCount="0" TransactionType="Debit"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="ReverseDebit"/>
<PaymentTotals TransactionType="Credit" TransactionAmount="0.00" TransactionCount="0"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="ReverseCredit"/>
<PaymentTotals TransactionCount="0" TransactionType="Declined" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Failed"/>
<PaymentTotals TransactionType="OneTimeReservation" TransactionCount="0" TransactionAmount="0.00"/>
</TransactionTotals>
<TransactionTotals PaymentInstrumentType="Card" AcquirerID="123456" CardBrand="Discover">
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Debit"/>
<PaymentTotals TransactionAmount="0.00" TransactionType="ReverseDebit" TransactionCount="0"/>
<PaymentTotals TransactionType="Credit" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionType="ReverseCredit" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Declined"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Failed"/>
<PaymentTotals TransactionType="OneTimeReservation" TransactionAmount="0.00" TransactionCount="0"/>
</TransactionTotals>
<TransactionTotals CardBrand="JCB" PaymentInstrumentType="Card" AcquirerID="123456">
<PaymentTotals TransactionCount="0" TransactionType="Debit" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionType="ReverseDebit" TransactionAmount="0.00"/>
<PaymentTotals TransactionAmount="0.00" TransactionType="Credit" TransactionCount="0"/>
<PaymentTotals TransactionCount="0" TransactionType="ReverseCredit" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionType="Declined" TransactionAmount="0.00"/>
<PaymentTotals TransactionType="Failed" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionAmount="0.00" TransactionCount="0" TransactionType="OneTimeReservation"/>
</TransactionTotals>
<TransactionTotals AcquirerID="123456" CardBrand="CUP/UPI" PaymentInstrumentType="Card">
<PaymentTotals TransactionType="Debit" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionType="ReverseDebit" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Credit"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="ReverseCredit"/>
<PaymentTotals TransactionType="Declined" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Failed"/>
<PaymentTotals TransactionCount="0" TransactionType="OneTimeReservation" TransactionAmount="0.00"/>
</TransactionTotals>
<TransactionTotals CardBrand="Carte a Piste" AcquirerID="123456" PaymentInstrumentType="Card">
<PaymentTotals TransactionType="Debit" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionType="ReverseDebit" TransactionAmount="0.00"/>
<PaymentTotals TransactionAmount="0.00" TransactionType="Credit" TransactionCount="0"/>
<PaymentTotals TransactionAmount="0.00" TransactionType="ReverseCredit" TransactionCount="0"/>
<PaymentTotals TransactionAmount="0.00" TransactionCount="0" TransactionType="Declined"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Failed"/>
<PaymentTotals TransactionType="OneTimeReservation" TransactionCount="0" TransactionAmount="0.00"/>
</TransactionTotals>
<TransactionTotals AcquirerID="123456" PaymentInstrumentType="Card" CardBrand="STANDARD">
<PaymentTotals TransactionType="Debit" TransactionCount="0" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="ReverseDebit"/>
<PaymentTotals TransactionCount="0" TransactionType="Credit" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionType="ReverseCredit" TransactionAmount="0.00"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Declined"/>
<PaymentTotals TransactionCount="0" TransactionAmount="0.00" TransactionType="Failed"/>
<PaymentTotals TransactionCount="0" TransactionType="OneTimeReservation" TransactionAmount="0.00"/>
</TransactionTotals>
</ReconciliationResponse>
</SaleToPOIResponse>
|