Sale Transaction
In this section you will learn how to process a Sale transaction
Sale Overview
A sale transaction enables a merchant to request authorization of the transaction by the acquirer and, if the transaction is approved, then immediately require the capture of the transaction amount (debit the cardholder's account) by including the transaction for settlement.
How to process a Sale IccTransactionRequest message
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 an IccTransactionRequest message
AuthorizationConnectionType MUST be set to [OnlineAuthorization]
TransactionType MUST be set to [Sale]
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>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 receipt elements when processing an Ic Card Capture
When capturing an IcCard via Chip and Pin, Chip and Signature or Contactless look out for the following elements when printing your receipt.
ApplicationId The Application Identifier (AID) uniquely identifies the application on the chip
ApplicationLabel The Application Label is used to display the name of an application
PreferredName The Application Preferred Name is used to display the name of an applicationPanSequenceNumber The Primary Account Number (PAN) Sequence Number identifies and differentiates cards with the same PAN
CvmResults The Cardholder Verification Method (CVM) Results indicates the results of the last CVM performed i.e. Signature Required
IccAccreditationInfo These EMV elements should only be printed on a receipt if you are in certification mode
An example of an IccTransactionResponse message for a Sale IccTransactionRequest can be seen below.
<?xml version="1.0" encoding="utf-16"?>
<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>Transaction Approved</ResponseMessage>
<ReceiptInfo xsi:type="IccReceiptInfo">
<CardNumber>541333******0185</CardNumber>
<ExpiryDate year="49" month="12" />
<StartDate year="96" month="12" />
<TransactionAmount currency="GBP">15.00</TransactionAmount>
<TransactionReference>Sale</TransactionReference>
<PreAuthTransactionReference>Sale</PreAuthTransactionReference>
<MerchantId>2100112262</MerchantId>
<TerminalId>210011226201</TerminalId>
<CardScheme code="MSC" creditDebitIndicator="CREDIT">Mastercard</CardScheme>
<CaptureMethod>Icc</CaptureMethod>
<Dcc>
<TransactionAmount currency="EUR">17.09</TransactionAmount>
<Selected>NotSelected</Selected>
<ExchangeRate>1.13954</ExchangeRate>
<Status>RateAvailable</Status>
<Disclosure>Margin: 0%.
I have been offered a choice of currencies and have chosen to accept DCC and pay in "EUR" at today's exchange rate. More information on Elavon Best Rate at www.elavon.eu/bestrate.
DCC Provided by Elavon Merchant Services.
Elavon Merchant Services receive Foreign Exchange Transaction Services from US Bancorp</Disclosure>
<AuthorizedTransactionAmount xsi:nil="true" />
<RateDate>2020-04-02T14:29:15.8626809+01:00</RateDate>
<RateSource>Elavon Merchant Services</RateSource>
<MarkUpPercentage>0.00</MarkUpPercentage>
<MarkUpText>Mark-Up</MarkUpText>
</Dcc>
<Signature>
<Format>Bitmap</Format>
</Signature>
<BelowSignatureLimit>false</BelowSignatureLimit>
<CardHolderName>RDIR 03</CardHolderName>
<BalanceOnCard xsi:nil="true" />
<AuthorizedTransactionAmount currency="GBP">15.00</AuthorizedTransactionAmount>
<GratuityAmount currency="GBP">0.0</GratuityAmount>
<ApplicationId>A0000000041010</ApplicationId>
<ApplicationLabel>MasterCard</ApplicationLabel>
<PreferredName>Mastercard</PreferredName>
<PanSequenceNumber>00</PanSequenceNumber>
<CvmResults>410302</CvmResults>
<TransactionDateTime>2018-02-14T15:47:24.7174233+00:00</TransactionDateTime>
<TransactionType>Sale</TransactionType>
<AuthorisationResponseCode>3030</AuthorisationResponseCode>
<IccAccreditationInfo>
<AuthorisationRequestCryptogram>975C5CE3ED29C82B</AuthorisationRequestCryptogram>
<ApplicationInterchangeProfile>5800</ApplicationInterchangeProfile>
<ApplicationTransactionCounter>0003</ApplicationTransactionCounter>
<UnpredictableNumber>68396050</UnpredictableNumber>
<TerminalVerificationResult>420000E000</TerminalVerificationResult>
<CryptogramTransactionType>00</CryptogramTransactionType>
<CryptogramInformationData>40</CryptogramInformationData>
<ApplicationResponseCryptogram>5800</ApplicationResponseCryptogram>
<POSEntryMode1>3</POSEntryMode1>
<POSEntryMode2>2</POSEntryMode2>
<ApplicationUsageControl>FF00</ApplicationUsageControl>
<ApplicationVersionNumber>0002</ApplicationVersionNumber>
<TerminalApplicationVersionNumber>0002</TerminalApplicationVersionNumber>
<TransactionStatusInformation>E800</TransactionStatusInformation>
<TerminalType>22</TerminalType>
<TerminalCapabilities>E0F8C8</TerminalCapabilities>
<IssuerActionCodesOnline>F0E064F800</IssuerActionCodesOnline>
<IssuerActionCodesDenial>0010880000</IssuerActionCodesDenial>
<IssuerActionCodesDefault>F040642000</IssuerActionCodesDefault>
<IssuerApplicationData>020000000000</IssuerApplicationData>
<TerminalCountryCode>0826</TerminalCountryCode>
<TerminalCurrencyNumber>0826</TerminalCurrencyNumber>
<AuthorisationResponseCode>00</AuthorisationResponseCode>
</IccAccreditationInfo>
</ReceiptInfo>
<Token>9d5ee8a6-c69d-42ae-ac5c-952c91da9736</Token>
<TokenisedCardNumber>9946000000000150185</TokenisedCardNumber>
<AuthorityCode>032662</AuthorityCode>
<AuthorityMethod>Online</AuthorityMethod>
<TfsEligible>false</TfsEligible>
<PedInfo>
<SerialNumber>325-283-122</SerialNumber>
</PedInfo>
</IccTransactionResponse>
<?xml version="1.0" encoding="utf-16"?>
<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>Declined</ResponseCode>
<FaultResponseCode>0</FaultResponseCode>
<ResponseMessage>DECLINED</ResponseMessage>
<ReceiptInfo xsi:type="IccReceiptInfo">
<CardNumber>541333******0185</CardNumber>
<ExpiryDate year="49" month="12" />
<StartDate year="96" month="12" />
<TransactionAmount currency="GBP">15.00</TransactionAmount>
<TransactionReference>Sale</TransactionReference>
<PreAuthTransactionReference>Sale</PreAuthTransactionReference>
<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">15.00</AuthorizedTransactionAmount>
<ApplicationId>A0000000041010</ApplicationId>
<ApplicationLabel>MasterCard</ApplicationLabel>
<PreferredName>Mastercard</PreferredName>
<PanSequenceNumber>00</PanSequenceNumber>
<CvmResults>410302</CvmResults>
<TransactionDateTime>2018-02-14T15:47:24.7174233+00:00</TransactionDateTime>
<TransactionType>Sale</TransactionType>
<AuthorisationResponseCode>3035</AuthorisationResponseCode>
<IccAccreditationInfo>
<AuthorisationRequestCryptogram>975C5CE3ED29C82B</AuthorisationRequestCryptogram>
<ApplicationInterchangeProfile>5800</ApplicationInterchangeProfile>
<ApplicationTransactionCounter>0003</ApplicationTransactionCounter>
<UnpredictableNumber>68396050</UnpredictableNumber>
<TerminalVerificationResult>420000E000</TerminalVerificationResult>
<CryptogramTransactionType>00</CryptogramTransactionType>
<CryptogramInformationData>40</CryptogramInformationData>
<ApplicationResponseCryptogram>5800</ApplicationResponseCryptogram>
<POSEntryMode1>3</POSEntryMode1>
<POSEntryMode2>2</POSEntryMode2>
<ApplicationUsageControl>FF00</ApplicationUsageControl>
<ApplicationVersionNumber>0002</ApplicationVersionNumber>
<TerminalApplicationVersionNumber>0002</TerminalApplicationVersionNumber>
<TransactionStatusInformation>E800</TransactionStatusInformation>
<TerminalType>22</TerminalType>
<TerminalCapabilities>E0F8C8</TerminalCapabilities>
<IssuerActionCodesOnline>F0E064F800</IssuerActionCodesOnline>
<IssuerActionCodesDenial>0010880000</IssuerActionCodesDenial>
<IssuerActionCodesDefault>F040642000</IssuerActionCodesDefault>
<IssuerApplicationData>020000000000</IssuerApplicationData>
<TerminalCountryCode>0826</TerminalCountryCode>
<TerminalCurrencyNumber>0826</TerminalCurrencyNumber>
<AuthorisationResponseCode>00</AuthorisationResponseCode>
</IccAccreditationInfo>
</ReceiptInfo>
<Token>9d5ee8a6-c69d-42ae-ac5c-952c91da9736</Token>
<TokenisedCardNumber>9946000000000150185</TokenisedCardNumber>
<AuthorityCode xsi:nil="true" />
<AuthorityMethod>Online</AuthorityMethod>
<TfsEligible>false</TfsEligible>
</IccTransactionResponse>
Updated over 4 years ago