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}