Refund (Card NOT Present) Transaction

In this section you will learn how to process a refund transaction if the card is not present

(Card NOT Present) Refund Overview

The purpose of a refund transaction is to credit a transaction amount to the cardholder's account.

985

How to process a TokenRefundRequest message

The merchant application sends a TokenRefundRequest message to ANYpay POS. The TokenisedCardNumber is used along with the TransactionReference in the request.

Section TokenRefundRequest Element describes the elements required to build an TokenRefundRequest message.

📘

Key elements of an TokenRefundRequest message

TokenisedCardNumber MUST be supplied
TransactionReference is a reference to the Refund transaction

An example of a TokenRefundRequest message can be seen below.

<?xml version="1.0" encoding="utf-16" standalone="yes"?>
<TokenRefundRequest 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>
  <TokenisedCardNumber>9901000000000020055</TokenisedCardNumber>
  <TransactionReference>CNPRefund</TransactionReference>
  <TransactionAmount currency="GBP">15.00</TransactionAmount>
</TokenRefundRequest>

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 TokenRefundRequest 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="CardReceiptInfo">
    <CardNumber>424631******0055</CardNumber>
    <ExpiryDate year="49" month="12" />
    <TransactionAmount currency="GBP">15.00</TransactionAmount>
    <TransactionReference>CNPRefund</TransactionReference>
    <PreAuthTransactionReference>CNPRefund</PreAuthTransactionReference>
    <MerchantId>2100112262</MerchantId>
    <TerminalId>210011226201</TerminalId>
    <CardScheme code="VIS" creditDebitIndicator="CREDIT">Visa</CardScheme>
    <CaptureMethod>MailOrder</CaptureMethod>
    <Dcc xsi:nil="true" />
    <BelowSignatureLimit>false</BelowSignatureLimit>
    <BalanceOnCard xsi:nil="true" />
    <AuthorizedTransactionAmount currency="GBP">15.00</AuthorizedTransactionAmount>
    <TransactionDateTime>2018-02-14T17:19:35.1738933+00:00</TransactionDateTime>
    <TransactionType>Refund</TransactionType>
  </ReceiptInfo>
  <Token>4ac60319-49a8-4bb8-95b5-d14e7d6dc40f</Token>
  <TokenisedCardNumber>9901000000000020055</TokenisedCardNumber>
  <AuthorityCode>224144</AuthorityCode>
  <AuthorityMethod>Pseudo</AuthorityMethod>
  <TfsEligible>false</TfsEligible>  
</IccTransactionResponse>