Many merchants (shops) need to accept payments from the card holder in recurring interval without having the cardholder to enter his / her credit card information over and over again. This is e.g. dating services (for monthly fees), mobile phone companies (add talking time when a low limit occurs) etc. This logic can also be used for many other services – but in general a way for the merchant to store the card holders’ credit card information without having to be PCI certified, such as ePay.
At ePay recurring payments is called Subscriptions. The idea is to create a subscription in ePay. From this subscription several transactions can be made. Finally when the cardholder terminates the subscription at the merchant the subscription at ePay is deleted.
The subscription life-cycle
The life of a subscription is defined by following steps:
- The card holder enters his / her credit card information which is cleared up against the acquirer (via ePay). This is done by either the ePay payment window or by using own integrated payment form. In both integration methods the flag named subscription must be set to the value 1. This tells ePay that this transaction is to be made as subscription and that ePay has to store the credit card information with purpose for recurring payment.
- ePay stores the credit card information and returns a reference to the credit card to the merchant. This reference is named subscriptionid.This reference also must be stored in the merchant system with the other customer information.
- When it is time for the merchant to accept money from the card holder (e.g. first day in month) following operations are made:
- The merchant system calls the ePay webservice function on the ePay named authorize. Here the reference named subscriptionid is added as parameter in order to create a transaction on behalf of the credit card information stored in ePay.
- ePay replies on success with a unique reference to the transaction named transactionid.
- The merchant system then captures the transaction by calling the ePay payment webservice with the transactionid as parameter. Please notice that the instantcapture flag can be set on step “a” which means that this step “c” can be skipped. Notice that instantcapture can only be used where the merchant receives the product / service immediately.
- When the subscription is to be terminated the merchant system calls the webservice function named deletesubscription on the subscription webservice. All credit card information is deleted at ePay and no more recurring payments on the subscription can be made.
When the credit card expires
When the credit card expires the cardholder has to create a new subscription. This is done by following steps:
- The merchant system calls the function deletesubscription on the subscription webservice. Here the reference named subscriptionid is added as parameter in order to tell the ePay system which subscription is to be deleted.
- The merchant system then deletes the reference to the subscription in its own system.
- The merchant system now must tell the card holder to enter his / her credit card information at the ePay. The step number 1 in the section above is then repeated.