Stored Credential Transaction

In this section you will learn how to process a Stored Credential transaction

Stored Credential Overview

Stored Credential Transactions relate to when a Cardholder’s payment credentials (e.g. a PAN and Expiry Date) are stored by the Merchant system for seamless use in subsequent transactions. Note: It is still prohibited to store a Cardholder’s CVV2/CSC.

A card scheme initiative now means that Merchants and their Acquirers are mandated state the intention for a transaction where a stored credential has been used. Subsequent transactions that are initiated by the Merchant typically do not carry a form of cardholder verification, such as CVV2/CSC, and so would result in a higher chance of the Issuing bank declining the transaction. Indicating the intended use of the stored credential now allows Issuing banks to better asses the risk on the transaction, resulting in a higher chance of approval.

Stored Credential Transactions can be broken down into 'CoF' (Card/Credential-on-File) and 'MIT' (Merchant Initiated Transactions)

How to process a IccTransactionRequest message for Stored Credential

The merchant's system sends a Sale 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 a IccTransactionRequest message for Stored Credential

CardOnFileIndicator MUST be set to [CardDetailsStoredFirstTime]
ReturnCardSchemeReference MUST be set to [True] if it is a requirement to return Card Scheme Reference data for subsequent Stored Credential transactions.

An example of a Sale IccTransactionRequest for Stored Credential 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>
  <StoredCredential>
    <CardOnFileIndicator>cardDetailsStoredFirstTime</CardOnFileIndicator>
    <ReturnCardSchemeReference>True</ReturnCardSchemeReference>
  </StoredCredential>
</IccTransactionRequest>

Handling an IccTransactionResponse message

Section IccTransactionResponse Element describes the elements that are returned in an IccTransactionResponse message. An example of a IccTransactionResponse message for a Stored Credential request can be seen below.

📘

Key elements of a IccTransactionResponse message for Stored Credential

The CardSchemeReference field must be captured if it is a requirement for subsequent Stored Credential transactions.

<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>Approved</ResponseCode>
  <FaultResponseCode>0</FaultResponseCode>
  <ResponseMessage>Approved</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>
  <TokenisedCardNumber>9946000000000150185</TokenisedCardNumber>
  <AuthorityCode>ABC123</AuthorityCode>
  <AuthorityMethod>Manual</AuthorityMethod>
  <TfsEligible>false</TfsEligible>
  <CardSchemeReference>GP193370000073A1</CardSchemeReference>  
</IccTransactionResponse>