Amadis

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

In Nexo Retail protocol, a Deferred Sale Payment is used to separate the payment in two steps:

  • Before the service consumption or the goods delivery, to get the payment authorisation for a maximum amount.

  • At the end of the consumption or delivery, to complete the payment transaction with the actual amount card.

In this section:

Step 1 : Get a payment authorisation for a maximum amount (OneTimeReservation)

Payment Request

The Request message includes:

  • RequestedAmount: this data could be absent or is the maximum amount of the purchase,

  • PaymentType: must be “OneTimeReservation”.

Message example

<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIRequest>
   <MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="400" SaleID="SaleID20022" POIID="DEMO0001"/>
   <PaymentRequest>
      <SaleData SaleReferenceID="ABCD1234">
         <SaleTransactionID TransactionID="4" TimeStamp="2020-05-21T14:48:05+05:00" />
      </SaleData>
      <PaymentTransaction>
         <AmountsReq Currency="USD" RequestedAmount="80.00" />
         <TransactionConditions CustomerLanguage="en" />
         <SaleItem ItemID="1" ProductCode="101" ItemAmount="5.00">
            <Quantity>1</Quantity>
            <UnitPrice>5.00</UnitPrice>
            <ProductLabel>"Regular Unleaded"</ProductLabel>
         </SaleItem>
      </PaymentTransaction>
      <PaymentData PaymentType="OneTimeReservation" />
   </PaymentRequest>
</SaleToPOIRequest>

Payment Response

The Response message includes:

  • AuthorizedAmount: the maximum amount of the purchase.

Message example

<?xml version="1.0"?>
<SaleToPOIResponse>
  <MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="400" SaleID="SaleID20022" POIID="DEMO0001"/>
  <PaymentResponse>
    <Response Result="Success"/>
    <SaleData>
      <SaleTransactionID TransactionID="4" TimeStamp="2020-05-21T14:48:05+05:00" />
    </SaleData>
    <POIData>
      <POITransactionID TransactionID="123456" TimeStamp="2020-05-21T14:48:06+05:00"/>
    </POIData>
    <PaymentResult>
      <AmountsResp Currency="USD" AuthorizedAmount="80.00">
      <PaymentAcquirerData AcquirerID="497867" MerchantID="mer77-130209" AcquirerPOIID="456">
        <ApprovalCode>032983</ApprovalCode>
      </PaymentAcquirerData>
    </PaymentResult>
  </PaymentResponse>
</SaleToPOIResponse>

Step 2 : Complete the payment authorisation with the actual amount (Completion)

Payment Request

The Request message includes:

  • RequestedAmount: this is the actual amount of the purchase,

  • PaymentType: must be “Completion”,

  • OriginalPOITransaction: this is a mandatory component of the Payment request containing the POITransactionID component of the first Payment response with “OneTimeReservation” PaymentType.

In the example below, the OneTimeReservation Response contains: <POITransactionID TransactionID="123456" TimeStamp="2020-05-21T14:48:06+05:00"/>

In the Completion Request, the OriginalPOITransaction shall contain: <POITransactionID TransactionID="123456" TimeStamp="2020-05-21T14:48:06+05:00"/>

Message example

<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIRequest>
   <MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="401" SaleID="SaleID20022" POIID="DEMO0001" />
   <PaymentRequest>
      <SaleData SaleReferenceID="ABCD1234">
         <SaleTransactionID TransactionID="5" TimeStamp="2020-05-21T14:52:05+05:00" />
      </SaleData>
      <OriginalPOITransaction SaleID="SaleID20022" POIID="DEMO0001">
         <POITransactionID TransactionID="123456" TimeStamp="2020-05-21T14:48:06+05:00"/>
      </OriginalPOITransaction>
      <PaymentTransaction>
         <AmountsReq Currency="USD" RequestedAmount="64.99" />
      </PaymentTransaction>
      <PaymentData PaymentType="Completion" />
   </PaymentRequest>
</SaleToPOIRequest>

Payment Response

The Response message includes:

  • AuthorizedAmount: the actual amount of the purchase, as in RequestedAmount.

Message example

<?xml version="1.0"?>
<SaleToPOIResponse>
  <MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="401" SaleID="SaleID20022" POIID="DEMO0001"/>
  <PaymentResponse>
    <Response Result="Success"/>
    <SaleData>
      <SaleTransactionID TransactionID="5" TimeStamp="2020-05-21T14:52:05+05:00" />
    </SaleData>
    <POIData>
      <POITransactionID TransactionID="123457" TimeStamp="2020-05-21T14:48:06+05:00"/>
    </POIData>
    <PaymentResult>
      <AmountsResp Currency="USD" AuthorizedAmount="64.99">
     </PaymentResult>
  </PaymentResponse>
</SaleToPOIResponse>

  • No labels