Skip to main content

Recurring payments API

Introduction

Recurring payments (sometimes called “standing orders”) are ideal to pay for subscriptions. With our solution, any merchant or product owner planning to offer paid subscriptions within their platforms can easily do so now, leaving all the low-level payments handling routine to Fena.

Currently almost all banks in the UK support weekly, monthly, quarterly and yearly frequencies for payments. Meaning merchants are free to set up standing orders to receive payments from their customers in any of these time intervals.

There are some specifics to consider when planning to integrate recurring payments from Fena into your platform:

  1. Standing orders are set up/initiated once by the end-user/bank account holder. After initiation all subsequent payments associated with that standing order are handled by the bank without intervention from Fena or account holder.
  2. Once an order is initiated with the bank Fena doesn’t have control over it. Meaning, our customers/merchants can’t change that order’s parameters, cancel it etc.
  3. On the other hand, end-users have full control over initiated standing orders. Meaning, they can change any parameter of their order (except for reference field) or cancel it. Currently, banks don’t notify third-party providers like us about these changes. So we developed our own mechanisms for tracking edge-cases. Details below.
  4. Most of the banks don’t make payments on weekends or bank holidays. So if your next payment is on the weekend, most probably you will get it on the nearest working day after that weekend. Also first payment date must be 3 working days in the future

List of statuses that a recurring payment can have. Fena notifies the user of the API key about each change in the status (except of draft) of the payment via webhook.

StatusDescription
DraftDraft payment which can be processed later via api call
SentThe payment has been sent to the end user and can be paid,
OverdueThe payment is marked as overdue. User need to update first payment date so it is , otherwise link won't work
RejectedThe payment has been rejected (nothing can be changed) but the end user can retry to initiate it
PendingThe payment has been made by the end user and await a status update from the payment provider.In this status it cannot be modified
ActiveThe payment initiation has been completed successfully and it waiting for updates from the banks
PaidThe payment has been paid fully (nothing can be changed in this payment)
CancelledThe payment has been cancelled and cannot be iniated anymore
WarningOne of the payment is either missed, either patially paid or Fena is unable to check it

Sandbox

If you want to see for yourself how our payment flow works you can create a sandbox payment with the sandbox bank account which we've created for you automatically during sign up. You don't have to pass ID verification checks or verify your data, and you can start integrating right away. Notes:

  • Sandbox payments don't initiate any real bank transfers so you shouldn't expect any money to actually arrive. In order to test the flow with real funds you have to pass the ID and bank verification first.
  • Sandbox flow is only suitable for initiating of recurring payments. In the sandbox environment, banks do not support sending regular payments

Example of usage

The inition flow is pretty much the same as for single payments:

To interact with the API, we will need the ID terminal and the secret terminal that were created when reading this guide. These 2 parameters will be present in the header of almost every request.We will also need to fill in the minimum required data to create a payment.