Your system will need to send a request to the Payment Pages that processes both a 3-D Secure authenticated ACCOUNTCHECK and also instructs the subscription engine to schedule future payments. This can be achieved by utilising Ordered Post when submitting a request to the Payment Pages.
3-D Secure authentication is required to fulfil the requirements of the PSD2 SCA mandate.
To schedule a subscription using our hosted Payment Pages solution with a free trial , you will need to contact our Support Team and request that Ordered Post is enabled on your account with “THREEDQUERY”, “ACCOUNTCHECK” and “SUBSCRIPTION” request types.
The following example demonstrates how to process an Account Check, following which a subscription is scheduled in our subscription engine, by performing a POST to the Payment Pages:
<form method="POST" action="<DOMAIN>/process/payments/choice">
<input type="hidden" name="sitereference" value="test_site12345">
<input type="hidden" name="stprofile" value="default">
<input type="hidden" name="currencyiso3a" value="GBP">
<input type="hidden" name="mainamount" value="10.00">
<input type="hidden" name="version" value="2">
<input type="hidden" name="orderedrequesttypedescriptions" value="THREEDQUERY,ACCOUNTCHECK,SUBSCRIPTION">
<input type="hidden" name="subscriptionunit" value="MONTH">
<input type="hidden" name="subscriptionfrequency" value="1">
<input type="hidden" name="subscriptionnumber" value="1">
<input type="hidden" name="subscriptionfinalnumber" value="12">
<input type="hidden" name="subscriptiontype" value="RECURRING">
<input type="hidden" name="credentialsonfile" value="1">
<input type="submit" value="Pay">
Replace <DOMAIN> with a supported domain. Click here for a full list.
Submit value “1” to indicate the credentials submitted in the initial request are being stored for subsequent subscription payments.
Note: Visa and Mastercard have mandated that you must obtain cardholder consent before storing card details for future use. Click here for further information.
If your system fails to submit this value in the request, our system will automatically attempt to flag the request with the correct credentialsonfile value.
The currency assigned to each payment in the subscription sequence.
The amount to be paid at regular intervals, in main units (£10 is submitted as 10.00). This value must be greater than zero. (Max length may vary depending on your acquiring bank – Contact your bank for further info)
Note: No funds are reserved as part of the ACCOUNTCHECK. The first payment will either be processed on the specified subscriptionbegindate or after the first interval has passed (e.g. 1 MONTH or 7 DAY).
This must be submitted with three values, as shown in the example above:
Important: THREEDQUERY must be submitted here to ensure customer is authenticated with 3-D Secure.
|subscriptionbegindate||Date YYYY-MM-DD||This field refers to the when the first automated payment will be processed. From there onward, we will use the data submitted in the subscriptionunit and subscriptionfrequency fields to automatically process the subscription payments at regular intervals.
e.g. If a subscription request is submitted on 5th January 2018
the interval is 1 MONTH (subscriptionfrequency = 1 and subscriptionunit = MONTH)
and subscriptionbegindate is 2018-01-08,
the first automated payment will be processed on 8th January 2018, and all subsequent payments will be processed on the 8th of each month.
If you do not submit the subscriptionbegindate, we will use the subscriptionunit and subscriptionfrequency fields above to automatically schedule the first automated payment.
|subscriptionfinalnumber||Numeric (5)||This is used to set the number of payments to be processed over the course of the subscription:
When processing a combined THREEDQUERY, ACCOUNTCHECK, SUBSCRIPTION request:
Note: If the subscriptionfinalnumber value is “0”, the subscription engine will schedule payments indefinitely until the user manually sets the subscription to Inactive.
Combined with unit, the frequency defines how frequently payments are processed.
e.g. For one payment every 7 days: subscriptionfrequency = 7 and subscriptionunit = DAY
e.g. For one payment every 2 months: subscriptionfrequency = 2 and subscriptionunit = MONTH
|subscriptiontype||Alpha (11)||This field indicates the type of subscription to be processed. Your system can submit these two values:
Note: Installments are only accepted by certain acquirers. For further info, please contact your bank.
This field represents the unit of time between each subscription. This can be either “DAY” or “MONTH”.
Note: It is imperative that this field is submitted to the gateway in CAPITALS (“DAY” or “MONTH”).