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:
<?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:
<?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.
Once the result is obtained, the data is sent back to the Nexo Retail Module to be constructed using SendReconciliationResponse() function.
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));
An example of a reconciliation response body can be found below. The SDK builds the response with all your schemes and acquirers supported.
<?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>