Using the Continuous Authority transaction class, you can process additional authorisations against a card. This could be used, for example, in a subscription based system where the customer is required to pay a set amount every month.
The first transaction must be processed as either an E-Commerce transaction or as a MoTo (Mail Order / Telephone Order) transaction. If this transaction is authorised, then additional transactions can be processed as Continuous Authority.
These additional transactions requests are processed by setting a transaction type of ‘sale’, with a transaction class of ‘cont’. Although this is a sale request, it is treated as a follow-up transaction in the same way as would be done for a refund or void. Card and billing details must not be sent as part of the request, it must instead use the ‘ref’ field to set the transaction ID of the initial authorisation. The card and billing details will be retrieved from that initial authorisation. Other transaction details, such as cart ID and description, must be sent as per a normal Sale request.
The initial transaction must be an authorised sale, using either the E-Commerce or MoTo transaction class. If the transaction referenced is not a sale, was not authorised, or is not of the required class then the authorisation request will be rejected.
Should a customer require changing of their card details, maybe through needing to use a different card or simply down to the existing card expiring, then a new E-Commerce or MoTo transaction will be required to make an initial authorisation based on the new card details. All recurring transactions after that point should now refer to this new transaction and not the original transaction.
Sample request:
<?xml version="1.0" encoding="UTF-8"?>
<remote>
<store>1234</store>
<key>mykey1234</key>
<tran>
<type>sale</type>
<class>cont</class>
<cartid>12345</cartid>
<description>Test transaction</description>
<test>1</test>
<currency>AED</currency>
<amount>10.50</amount>
<ref>11144445555</ref>
</tran>
</remote>
Recurring Transaction with Network Transaction reference
Recurring transactions using the Network Transaction reference are now supported. This enhancement support interoperability between Payment Service Providers (PSPs) for Mastercard/Visa Merchant-Initiated Transactions (MIT) payments. To implement this feature, Retrieve the network transaction ID from the Check Order API response and use it accordingly.
Sample request:
<?xml version="1.0" encoding="UTF-8"?>
<remote>
<store>1234</store>
<key>mykey1234</key>
<tran>
<type>sale</type>
<class>cont</class>
<cartid>12345</cartid>
<description>Test transaction</description>
<test>1</test>
<currency>AED</currency>
<amount>1.00</amount>
</tran>
<card>
<number>4**************1</number>
<expiry>
<month>03</month>
<year>2**5</year>
</expiry>
</card>
<billing>
<name>
<first>Firstname</first>
<last>surname</last>
</name>
<address>
<line1>Line1</line1>
<city>City</city>
<country>Country</country>
</address>
</billing>
<networktranid>5*************3</networktranid>
</remote>
For assistance in implementing this change, please connect with our support team at [email protected].