Forced Store and Forward Transaction

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

Forced Store and Forward Overview

The merchant can force a transaction to be processed in Store and Forward mode for cases where poor connectivity exists within the merchants LAN; therefore if may be preferable to process Store and Forward transactions until stable communications are expected.

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
    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.

📘

Key elements of an IccTransactionRequest when in Forced Store and Forward mode

AuthorizationConnectionType MUST be set to [ForcedFailover]

An example of a Sale 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>ForcedFailover</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 (Forced 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 Forced 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>