Payout Options

To obtain some of the required parameters before initiating any transaction requests, it is necessary to fetch the list of payment options.

Below is the API description illustrating the procedure for obtaining the list of payout options. To obtain a suitable list of payout options, merchants must filter the request by country.

The API will return a list of payment options:

 [{
    "id": "ng_bank_w",
    "name": "Bank Transfer",
    "available": true,
    "logo_url": "https://ubiqpay-static.s3.eu-west-1.amazonaws.com/images/bank.svg",
    "country": "NG",
    "currency": "NGN",
    "payment_method": "BANK",
    "payment_flow": "direct",
    "min_amount": 100,
    "max_amount": 1000000,
    "supports_decimals": false,
    "is_multiple_of": 1, // if not null, the amount must be a multiple of this value.
    "required_fields": [
      "email"
    ],
    "extra_data": [
      {
        "bank_name": "AL-Barakah Microfinance Bank",
        "bank_code": "090133"
      },
      {
        "bank_name": "3Line Card Management Limited",
        "bank_code": "110005"
      }
    ]
 }]
  • extra_data gives you all available bank options. bank_name and bank_code must be used in the payout request.
  • required_fieldsindicates the required fields in the payout request. In this example, email will be required in the payout request.
  • available: indicates the status of the payment option. If false the payment option should not be used. A technical issue prevents this option from working correctly.
  • supports_decimals: indicates if you can use decimals in the amount field.

📘

Payout option activation

Merchants must have their payout options enabled by Ubiqpay before they can be used. In the near future, it will be possible to enable them directly through the dashboard.

📘

Decimal support

Many payment methods in Africa don't accept decimal figures. If you provide an amount with decimals, we'll round it for you.

Payout methods

Below all available payment methods:

NameDescription
MOBILE_MONEYPay via a Mobile Money account like Orange Money, MTN Money, M-PESA or any other Mobile Money platform.

Msisdn must be in international format. ex: +2250123467890
BANKPay by using the customer's bank account

Payout flows

Each payout option has a specific payout flow which provides an overview of the payout validation process. There are three primary flows: direct and redirect.

  • direct: In the direct flow, you need to include all payout details in the request, and the payout will be processed immediately without any additional steps required.
  • redirect: Finally, in the redirect flow, the merchant will be directed to another page to complete the payout.

Base value

We accommodate specific requirements from various payment providers. One such requirement is the acceptance of payment amounts that are multiples of a specified number. To address this, we have introduced the is_multiple_of field.

Purpose

The is_multiple_of field ensures that all payment amounts comply with the requirements set by certain payment providers. This field specifies the base number that all transaction amounts must be a multiple of.

Example: If the is_multiple_of value is 5 and a user attempts a transaction of 248 XOF, the system will round this amount to 250 XOF, based on the nearest multiple.

📘

Rounding Mechanism

If the amount does not comply (i.e., it is not a multiple of the specified number), the system will automatically round the amount to the nearest value that is a multiple of the is_multiple_of value. This ensures compliance with the provider's requirements.

Payout option will look like this:

  {
    "id": "ci_momo_mtn_mobile_money_i",
    "name": "MTN Mobile Money",
    "available": true,
    "logo_url": "https://ubiqpay-static.s3.eu-west-1.amazonaws.com/images/mtn.svg",
    "country": "CI",
    "currency": "XOF",
    "payment_method": "MOBILE_MONEY",
    "payment_flow": "direct",
    "min_amount": 100,
    "max_amount": 1000000,
    "required_fields": [],
    "supports_decimals": false,
    "is_multiple_of": 5,
    "supports_decimals": false,
    "extra_data": []
  }

Decimal support

if the field supports_decimals is present and is false. Then, you must ensure that you round the transaction amount. If it's not rounded, we will do it for you, and you will be able to retrieve the original amount in the field.original_amount.

Language
Credentials
OAuth2
Click Try It! to start a request and see the response here!