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.
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.
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
CashoutTransactions 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>
Updated over 6 years ago