Skip to content

Recurring

It is only applicable to first recurring transaction (Save Credentials) Scenario.

Recurring payments consist of two types of transactions: the initial (or first) recurring transaction and subsequent transactions.

Initial or First Recurring Transaction (Save Credentials)

The first recurring transaction occurs when the cardholder engages in a face-to-face transaction with the merchant. The cardholder agrees for the merchant to retain the credentials and proceed with subsequent transactions at a fixed or variable frequency.

Subsequent Transactions

Subsequent transactions are where a merchant automatically charges a cardholder for specified goods or services that they have previously agreed to in the initial transaction, without having to re-engage the cardholder (cardholder not present) until the predefined or agreed-upon time frame is reached.

These are the different types of recurring payments based on the certainty of the amount and frequency of the transactions:

  1. Fixed amount and fixed frequency
  2. Variable amount and variable frequency, Variable amount and fixed frequency or Fixed amount and variable frequency.

Save Credentials

EVO Cloud requires that credentials be saved first when processing recurring payments when card and cardholder are present scenario. You can use two steps below:

  1. Complete the Payment: Cardholder can use card complete the payment firstly with recurring indicator paymentMethod.recurringProcessingModel.

  2. Gateway Tokenization: When the payment is successful, merchant or acquirer can tokenized the card using Online API: PaymentInstrument.

From your server, you can make an HTTPS POST request to EVO Cloud endpoint

The main process is as follows:

  1. From your server, submit a post payment request with the data you have collected from the shopper and include the following values:
    • autoCapture: The value true, mean purchase. false or non-appearance indicates pre-authorization.
    • paymentMethod.type: The fixed value card indicates the payment type as card.
    • paymentMethod.card: Object that contains the shopper's card information. Mandatory when paymentMethod.type is card.
    • paymentMethod.recurringProcessingModel: This indicates whether the transaction is a recurring transaction.
      • Subscription: Making a recurring payment with a fixed amount and fixed frequency.
      • Unscheduled: Making a recurring payment with a variable amount and variable frequency, variable amount and fixed frequency, or fixed amount and variable frequency.
    • transAmount: Object that contains the currency and value of the payment.
    • transInitiator: Object that contains the merchant’s device type.
Example
js
curl 'https://hkg-online-uat.everonet.com/g2/v0/payment/acq/10130014/evo.offline.payment' \
-H 'Authorization: 7bfb1d35a0e3d904fd06a2a46df73bb4acba7c3efb1b10cda3e7a30b28510199' \
-H 'DateTime: 20240306135818+0800' \
-H 'SignType: SHA256' \
-H 'Content-Type: application/json' \
-H 'MsgID: M20240306135818963' \
-d '{
    "merchantTransInfo": {
        "merchantTransID": "T20240306135818963",
        "merchantTransTime": "2024-03-06T13:58:18+08:00"
    },
    "paymentMethod": {
        "type": "card",
        "card": {
            "posEntryMode":"manual",
            "pinFlag":false,
            "termReadability":"5",
            "cardInfo": {
                "cardNumber": "4761340000000043"
            }
        },
        "recurringProcessingModel":"Subscription"
    },
    "transAmount": {
        "currency":"HKD",
        "value":"1.00"
    },
    "autoCapture": true,
    "pspInfo": {
        "mcc": "5499",
        "sponsorCode": "441378",
        "merchantID": "202106305812001",
        "terminalID":"00000001",
        "merchantName": "Test",
        "storeID": "202106305812001",
        "storeName": "Test Store",
        "street": "Test street",
        "city": "MYS",
        "postCode": "202000",
        "nation": "MYS"
    }
}'
  1. Check from the response. If the payment is successful, you will receive paymentMethod.recurringReference in the response. You will use this reference for subsequent transactions.
  2. Gateway Tokenization. see Online Payment Scenarios Tokenization:PaymentInstrument.
  3. Subsequent transactions. see Online Payment Scenarios Recurring