Step 3: Add subscriber & tokenise bank account
POST https://gate.reviopay.com/api/v1/billing_templates/{{billing_template_id}}/add_subscriber/
The add_subscriber
to connect your client
to a bililng_template
.
This request will generate a check_out_url
through which your client can make payment when redirected to it to tokenise their preferred recurring payment method.
You can also use the Direct charge method to complete the tokenisation.
Once completed, the billing_template
engine will raise the client
invoices/charges on the relevant deduction date.
DebiCheck mandates have a number of unique fields that will need to be tailored to your use-case. The most important DebiCheck field is the value_type
as it determines the DebiCheck rule set under which collections are permitted to process. These are as follows:
* FIXED
: No amount or rate adjustment is permitted. The products.price
and max_amount_cents
remain the same forever. The max_amount_cents
is limited to the products.price
.
* VARIABLE
: This may be misleading as the amount and rate adjustments are permitted. Collecting any amount other than the authenticated products.price
up to the max_amounts_cents
is permitted but is disputable. The max_amount_cents
is limited to 1.5x the products.price
.
* USAGEBASED
: Amount and rate adjustments are permitted. Collecting any amount other than the authenticated products.price
up to the max_amounts_cents
is permitted but is disputable. The max_amount_cents
is unlimited but caution is advised when using large values as the customer experience may be affected.
Be aware that you may not enable both adjustment_rate
and adjustment_amount_cents
, you must do one of the other and omit the unnecessary one from your payload or provide it as null.
The other fields are described below:
* authentication_type
determined whether the authentication is sent using TT1 (real-time) or TT2 (delayed) method. REALTIME issues a USSD/push notification for acceptance in 120sec whereas DELAYED sends an SMS for acceptance in 48hours.
* do_delayed_auth_on_failure
when enabled will send a TT2 authentication with a 48-hour response time to attempt to obtain an authentication when real-time authentication is unavailable or fails. You can also chat with us about enabling RMS when TT1 or TT2 requests time-out.
* debit_sequence
determines whether you will be collecting once-off or recurring on this mandate.
* adjustment_category
determines the frequency of adjustments made to the products.price
and max_amount_cents
over time according to the DebiCheck rules and adjustment_rate
or adjustments_amount_cents
used. The relevant adjustment will be made on the adjustment_category
frequency provided. For example, you may choose to adjust for annual inflation. Its enumerators are: NEVER, QUARTERLY, BIANNUALLY, ANNUALLY, REPO.
* allow_date_adjustment
determines whether or not you may vary the due_date
of the recurring charge to be a date other than what was explicity authenticated with the customer. When this is enabled and the date is adjusted to any other date, the collection becomes disputable.
* verify_account
when enabled will conduct an Account Holder Verification (AVS-R) request to verify the ownership and validity of the bank account details provided. When enabled and account details are invalid, this request will fail.
Request Body
{"client_id"=>"{{client_id}}", "invoice_reference"=>"{{myreference}}", "subscription_confirm_each_order"=>false, "send_invoice_on_add_subscriber"=>false, "send_invoice_on_charge_failure"=>false, "send_receipt"=>false, "payment_method_whitelist"=>["debicheck"], "subscription_first_deduction_amount"=>"{{once-off pro-rata deduction amount}}", "subscription_first_deduction_date"=>"{{once-off pro-rata deduction date}}", "subscription_first_deduction_product_name"=>"{{Unique description for first customer invoice, e.g. pro-rata invoice}}", "subscription_deduction_date"=>"{{recurring subscription deduction date}}", "subscription_release_date"=>"{{recurring subscription end date}}", "subscription_tracking_period"=>2, "subscription_value_type"=>"VARIABLE", "adjustment_category"=>"QUARTERLY", "adjustment_rate"=>1.1, "adjustment_amount_cents"=>nil, "allow_date_adjustment"=>true, "authentication_type"=>"REALTIME", "do_delayed_on_auth_failure"=>false, "verify_account"=>false, "debit_sequence"=>"RCUR", "max_amount_cents"=>150}