Key On PED Transaction

In this section you will learn how to process a Key On PED Transaction

Key On PED Overview

A Key On PED transaction enables a merchant to key a card number and expiry on a PED requesting 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 an Key On PED IccTransactionRequest message

The merchant's system sends a Key On PED 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 Key On PED IccTransactionRequest message

TransactionType CAN be set to either [Sale] [Refund] or [PreAuthorization]
KeyOnPed MUST be set to [true] CustomerPresent attribute MUST be set to [true] or [false]

An example of a Key On PED 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>
  <KeyOnPed customerPresent="true">true</KeyOnPed>
</IccTransactionRequest>

Handling an IccTransactionResponse message

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

An example of an IccTransactionResponse message for a Key On PED 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>Keyed</CaptureMethod>
    <Dcc xsi:nil="true" />
    <Signature>
      <Format>Bitmap</Format>
    </Signature>
    <BelowSignatureLimit>false</BelowSignatureLimit>
    <BalanceOnCard xsi:nil="true" />
    <AuthorizedTransactionAmount currency="GBP">15.00</AuthorizedTransactionAmount>
    <TransactionDateTime>2018-02-14T15:47:24.7174233+00:00</TransactionDateTime>
    <TransactionType>Sale</TransactionType>
  </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>Keyed</CaptureMethod>
    <Dcc xsi:nil="true" />
    <Signature>
      <Format>Bitmap</Format>
    </Signature>
    <BelowSignatureLimit>false</BelowSignatureLimit>
    <BalanceOnCard xsi:nil="true" />
    <AuthorizedTransactionAmount currency="GBP">15.00</AuthorizedTransactionAmount>
    <CvmResults>410302</CvmResults>
    <TransactionDateTime>2018-02-14T15:47:24.7174233+00:00</TransactionDateTime>
    <TransactionType>Sale</TransactionType>
  </ReceiptInfo>
  <Token>9d5ee8a6-c69d-42ae-ac5c-952c91da9736</Token>
  <TokenisedCardNumber>9946000000000150185</TokenisedCardNumber>
  <AuthorityCode xsi:nil="true" />
  <AuthorityMethod>Online</AuthorityMethod>
  <TfsEligible>false</TfsEligible>
</IccTransactionResponse>