Recurring Payments System

The advancement of fintech has made life easier for everyone, one way or another. Recurring payment, otherwise known as a subscription, is just one of many ways fintech has improved quality of life.

A recurring payments system is a system that allows for the automatic charging of an account or credit card at regular agreed-upon intervals. The amount charged and the frequency of this payment are previously agreed on by the user and will continue to occur except if the user cancels or the card/account becomes inactive.

With recurring payments, users do not have to go through a process to get their subscriptions renewed. Instead, the service is automatically renewed by the merchant or business's recurring payments system.

This system helps businesses mitigate fraud, reduce late payments, and increase customer retention as the world is moving towards subscription-based services more than ever before. You do not need to spend your resources trying to get clients to pay up or have to do the same thing month after month.

With the Deposits recurring payments system, you get paid easily and can use your resources to improve your services. This enables you to do the maximum work with your resources.

As a business or service provider, you get to tap into the multiple benefits of the Deposits recurring payments system while also keeping your users happy.

As an e-commerce company, you can easily integrate services like embedded payments. This allows your clients have an all-around cohesive experience on your platform.

Recurring payments are of two types:

  • Fixed Recurring Payments
  • Variable Recurring Payments

Fixed Recurring Payments

As the name implies, the fixed recurring payment is the payment in which a fixed amount is deducted from the customer each time. This type of recurring payment benefits subscription-based businesses like movie streaming platforms, fitness companies, and music streaming platforms, among others.

Variable Recurring Payments

Variable recurring payment, also known as irregular recurring payments, is a recurring payment system where the amount being deducted is not fixed. This means the amount deducted varies from one deduction to the other, depending on the measure of the product/service used by the customer. This mainly covers utility payments/bills.

With Deposits, receiving payments as a merchant is made easy in three ways:

Building with Deposits, recurring payments can be set up in two of the methods listed above:

Setting up a recurring payments system first requires you to own a Deposits account. If you do not have one yet, please visit the developer console to register for a Deposits account.

Your API key will be made available to you via the developer console. It is important to keep it safe at all times, as it is the passcode to access your account.

NOTE:  The BASE_URL for endpoints is https://api.deposits.dev/api/v1

Billings - Invoices, Recurring Payments

With Deposits, receiving payments as a merchant is a walk in the park. With our invoices system, you can bill customers, receive payments, and effectively keep track of your income, all in one place.

To create an invoice, different parameters need to be filled, some of which determine if the payment request is to be a recurring one.

Below is an example of an invoice payload request which can be accessed at the Create an Invoice endpoint - https://api.deposits.dev/api/v1/user/invoice/add

{
    "api_key":"cafecito-user",
    "user_id":"926",
    "email":"oyinawosan@gmail.com",
    "phone":"090877744",
    "save_beneficiary":"yes",
    "reschedule_reoccuring_invoice":"yes",
    "period":"monthly",
    "start_date":"11/06/2022",
    "items":[
        {
            "name":"butter",
            "amount":120
        }
    ]

}

The determining parameters are:

Parameter Description
reschedule_reoccuring_invoice Specify if the invoice should be reoccurring. Allowed values are Yes and No
period Specify the reoccurring frequency. Allowed values are: daily, monthly, and annual
start_date Specify when recurring should start, if reschedule_reoccuring_invoice = Yes

A response similar to this will be returned, which shows that the invoice will be recurring every month, starting from the 11th of June, 2022.

{
    "status": "success",
    "message": "Invoice saved",
    "data": {
        "id": 89,
        "user_id": "926",
        "invoice_key": "c747e2587d",
        "email": "oyinawosan@gmail.com",
        "phone": "090877744",
        "customer_id": null,
        "reschedule_reoccuring_invoice": "yes",
        "period": "monthly",
        "save_beneficiary": "yes",
        "start_date": "11/06/2022",
        "status": "active",
        "created_at": "2022-06-09T10:58:32.000000Z",
        "updated_at": "2022-06-09T10:58:32.000000Z",
        "amount": 120,
        "link": "<https://api.deposits.dev/invoice/cafecito/c747e2587d>",
        "items": [
            {
                "id": 99,
                "user_invoice_id": "89",
                "user_id": "926",
                "name": "butter",
                "amount": "120",
                "status": "active",
                "created_at": "2022-06-09T10:58:32.000000Z",
                "updated_at": "2022-06-09T10:58:32.000000Z"
            }
        ]
    }

Payment Pages

The Deposits payment pages allows you receive payments over the web. This means that you can create a web payment link for your business using Deposits API. Below is an example of the payment payload request which can be accessed at the Create a payment page endpoint - https://api.deposits.dev/api/v1/user/payment-page/add

{
    "api_key":"cafecito-user",
    "user_id":"500",
    "name":"Swina page",
    "description":"this is the swina page",
    "save_beneficiary":"yes",
    "reschedule_reoccuring_invoice":"yes",
    "period":"daily",
    "start_date":"11/02/2021",
    "page_type":"modal",
    "payment_option":"bank",
    "items":[
        {
            "name":"butter",
            "description":"butter",
            "amount":120,
            "quantity":2
        },
        {
            "name":"cream",
            "description":"cream",
            "amount":120,
            "quantity":2
        }
    ]

}

The important parameters which make this recurring are:

Parameter Description Values
reschedule_reoccuring_invoice Specify if the invoice should be reoccurring. Allowed values are Yes and No
period Specify the reoccurring frequency. Allowed values are: Daily, Monthly, and Annual
start_date Specify when recurring should start, if reschedule_reoccuring_invoice = Yes Dates

A response similar to this will be returned. This response shows that a total of $480 will be charged daily via the payment page link returned at link

{
    "status": "success",
    "message": "Payment Page saved",
    "data": {
        "id": 16,
        "client_id": "4",
        "user_id": "926",
        "name": "Swina page",
        "description": "this is the swina page",
        "amount": 480,
        "paid_at": null,
        "extra_info": null,
        "payment_type": null,
        "page_type": "modal",
        "payment_option": "bank",
        "payment_interval": null,
        "payment_key": "04c9e7680e7857e",
        "total": "480",
        "status": "active",
        "created_at": "2022-06-09T13:01:45.000000Z",
        "updated_at": "2022-06-09T13:01:45.000000Z",
        "link": "<https://api.deposits.dev/payment_page/cafecito/04c9e7680e7857e>",
        "amount_formatted": "480.00",
        "items": [
            {
                "id": 29,
                "client_id": "4",
                "payment_page_id": "16",
                "name": "butter",
                "description": "butter",
                "amount": "120",
                "quantity": "2",
                "status": "active",
                "created_at": "2022-06-09T13:01:45.000000Z",
                "updated_at": "2022-06-09T13:01:45.000000Z"
            },
            {
                "id": 30,
                "client_id": "4",
                "payment_page_id": "16",
                "name": "cream",
                "description": "cream",
                "amount": "120",
                "quantity": "2",
                "status": "active",
                "created_at": "2022-06-09T13:01:45.000000Z",
                "updated_at": "2022-06-09T13:01:45.000000Z"
            }
        ]
    }
}

The URL returned at link is accessible and can be sent to your clients to make payment easy for them. Below is an example of what can be expected to come up by clicking the link.

With Deposits building a recurring payments system is straightforward and integration is not a hassle.

Let us help you get started today!

Deposits Team

Deposits Team