Store and Forward Transaction

In this section you will learn how to process a Store and Forward transaction

Store and Forward Overview

In the event of connection failure between ANYpay POS and the ANYpay Gateway ANYpay POS returns an ApprovedRangeSpecified response message to the merchant's system.

720

Once connectivity between ANYpay POS and ANYpay Gateway has been re-established ANYpay POS sends the encrypted Store and Forward transaction online to the ANYpay Gateway for authorization and stores the result.

985

📘

Store and Forward mode

This functionality is ONLY invoked if the merchant is setup for Store and Forward AND the TransactionAmount for the transaction being process is either less than or equal to the Store and Forward Ceiling Amount configured by PXP. The Store and Forward Ceiling Amount is decided by the merchant.

❗️

Unsupported scenarios when in Store and Forward mode

  • TransactionTypes NOT supported include:
    TopUp
    Capture
    Activation
    VoidActivation
    RedemptionNoNsf
    VoidRedemption
    BalanceEnquiry
    Cashout

  • Transactions captured using Online PIN are NOT supported

  • Cards swiped with an expired card are NOT supported

  • Debit Cards will NOT be supported if the merchant has Store and Forward disabled for Debit cards

How to process a IccTransactionRequest message

The merchant's system sends an IccTransactionRequest message to ANYpay POS which interacts with the PIN Entry Device.

Section IccTransactionRequest Element describes the elements required to build an IccTransactionRequest message. An example of an IccTransactionRequest message can be seen below.

<?xml version="1.0" encoding="utf-16"?>
<IccTransactionRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://servebase.com/2009/06/pedframework">
  <TransactionConfig>
    <CustomerCode>PXP</CustomerCode>
    <Site>PXP000000001</Site>
    <Culture>en</Culture>
    <Workstation>001</Workstation>
    <MerchantId>2100112262</MerchantId>
    <Username>PxpUser1</Username>
    <Password>PxpPassword</Password>
    <IpAddress>127.0.0.1</IpAddress>
  </TransactionConfig>
  <PedEndpointAddress>
    <EndpointAddressType>Serial</EndpointAddressType>
    <SerialEndpointAddress><ComPort>COM1</ComPort>
      <BaudRate>115200</BaudRate>
      <SerialPortParity>None</SerialPortParity>
      <DataBits>8</DataBits>
      <SerialPortStopBits>One</SerialPortStopBits
      <SerialPortHandshake>None</SerialPortHandshake>
    </SerialEndpointAddress>
  </PedEndpointAddress>          
  <AuthorizationConnectionType>OnlineAuthorization</AuthorizationConnectionType>
  <TransactionAmount currency="GBP">20.00</TransactionAmount>
  <TransactionReference>Sale</TransactionReference>
  <TransactionDateTime>2018-02-07T16:20:16.3964394+00:00</TransactionDateTime>
  <TransactionType>Sale<TransactionType>
</IccTransactionRequest>

Handling an IccTransactionResponse message

Section IccTransactionResponse Element describes the elements that are returned in an IccTransactionResponse message.

📘

Key elements of an IccTransactionResponse (Store and Forward) message

A ResponseCode of ApprovedRangeSpecified is returned to indicate the connection to the ANYpay Gateway for authorization has failed.

A TokenizedCardNumber will NOT be returned if NO connection was established with the ANYpay Gateway at the time of authorization.

An example of an IccTransactionResponse message for an IccTransactionRequest when in Store And Forward mode can be seen below.

<IccTransactionResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"  xmlns="http://servebase.com/2009/06/pedframework">
  <Language>en</Language>
  <ResponseCode>ApprovedRangeSpecified</ResponseCode>
  <FaultResponseCode>0</FaultResponseCode>
  <ResponseMessage>Transaction Approved Offline</ResponseMessage>
  <ReceiptInfo xsi:type="IccReceiptInfo">
    <CardNumber>541333******0185</CardNumber>
    <ExpiryDate year="49" month="12" />
    <StartDate year="96" month="12" />
    <TransactionAmount currency="GBP">20.00</TransactionAmount>
    <TransactionReference>Sale</TransactionReference>
    <MerchantId>2100112262</MerchantId>
    <TerminalId>210011226201</TerminalId>
    <CardScheme code="MSC" creditDebitIndicator="CREDIT">Mastercard</CardScheme>
    <CaptureMethod>Icc</CaptureMethod>
    <Dcc xsi:nil="true" /> 
    <Signature>
      <Format>Bitmap</Format>
    </Signature>
    <BelowSignatureLimit>false</BelowSignatureLimit>
    <CardHolderName>RDIR 03</CardHolderName>
    <BalanceOnCard xsi:nil="true" />
    <AuthorizedTransactionAmount currency="GBP">20.00</AuthorizedTransactionAmount>
    <ApplicationId>A0000000041010</ApplicationId>
    <ApplicationLabel>MasterCard</ApplicationLabel>
    <PreferredName>Mastercard</PreferredName>
    <PanSequenceNumber>00</PanSequenceNumber>
    <CvmResults>410302</CvmResults>
    <TransactionDateTime>2018-02-07T16:20:16.3964394+00:00</TransactionDateTime>
    <TransactionType>Sale</TransactionType>
    <AuthorisationResponseCode>3030</AuthorisationResponseCode>
  </ReceiptInfo>
  <Token>684d8145-afef-4366-8d0a-1684ca5a84af</Token>
  <AuthorityCode>096392</AuthorityCode>
  <TfsEligible>false</TfsEligible>
  <PedInfo>
    <SerialNumber>325-283-122</SerialNumber>
  </PedInfo>
</IccTransactionResponse>