⚙️
DusuPay API Documentation
  • Introduction
  • Getting Started
    • Registration
    • Error Handling
    • Authentication
    • Merchant Account Credentials
      • Generate Secret Key
      • Regenerate Security Keys
    • Supported Countries/Regions
    • Transaction Limits
    • Sandbox Test Accounts
    • DusuPay Public Keys
  • Utility Functions
    • Balance Inquiry
    • Payment Options
    • Payout Bank Codes
    • Mobile Money Operator Prefixes
    • Handling Notifications/Callbacks
      • Callback Events
    • Transaction Status Verification
  • Funds Collection
    • Getting Started
    • Mobile Money Collection
      • Mobile Money - Direct Charge
      • Mobile Money - Hosted Page
    • NGN Bank Transfers
    • ZAR Bank Collections
    • Card Payments
      • Hosted Payment Page
      • Direct Card Payment (S2S)
  • Payouts/Disbursements
    • Getting Started
    • Mobile Money Payouts
    • Bank Account Transfers
  • Callbacks
    • HMAC Signature Verification
    • RSA Signature Verification
  • Appendix
    • Merchant Account Transfers
    • Availing Payout Funds
    • Sub Account Transfers
    • Funds Settlement
    • Transaction Audit Logs
    • Cross Currency Transactions
Powered by GitBook
On this page
  • Get Payment Options List
  • Sample Payment Options Request
  1. Utility Functions

Payment Options

Before any transaction request is performed, it's recommended that the payment options available to the merchant account are known. This endpoint returns that list.

The API description below shows how the list of payment options can be obtained. The request requires that the merchant filters by currency and transaction type to get the appropriate list of the payment options.

Get Payment Options List

GET https://sandboxapi.dusupay.com/data/payment-providers

Returns the list of payment options available to the merchant account based on currency and transaction type

Query Parameters

Name
Type
Description

currency*

String

The 3-character ISO currency code e.g. UGX

transaction_type*

String

The transaction type. Allowed types at the moment are COLLECTION and PAYOUT

Headers

Name
Type
Description

public-key*

String

The merchant account Public Key

Sample Payment Options Request

curl https://sandboxapi.dusupay.com/data/payment-providers?currency=UGX&transaction_type=COLLECTION \
   -H "Accept: application/json" \
   -H "x-api-version: 1" \
   -H "public-key: your-public-key"
{
    "code": 200,
    "status": "success",
    "message": "Request completed successfully.",
    "data": {
        "payment_providers": [
            {
                "provider_name": "MTN Mobile Money Uganda",
                "provider_code": "mtn_ug",
                "transaction_method": "MOBILE_MONEY",
                "transaction_method_name": "Mobile Money",
                "transaction_type": "Collection",
                "transaction_currency": "UGX",
                "min_amount": 500,
                "max_amount": 3000000,
                "max_daily_amount": 7000000,
                "is_active": true,
                "option_prefixes": [
                    "77",
                    "78",
                    "76",
                    "39"
                ]
            },
            {
                "provider_name": "Airtel Money Uganda",
                "provider_code": "airtel_ug",
                "transaction_method": "MOBILE_MONEY",
                "transaction_method_name": "Mobile Money",
                "transaction_type": "Collection",
                "transaction_currency": "UGX",
                "min_amount": 500,
                "max_amount": 3000000,
                "max_daily_amount": 7000000,
                "is_active": true,
                "option_prefixes": [
                    "74",
                    "75",
                    "70"
                ]
            }
        ]
    }
}
Parameter
Type
Description

provider_code

string

The unique code for the payment option. It is required for the transaction requests

provider_name

string

The name of the option

transaction_type

string

The transaction type

transaction_method

string

The transaction method supported by this option

transaction_currency

string

The currency in which the option transacts

min_amount

float

The minimum amount allowed per transaction when using this option

max_amount

float

The maximum amount allowed per transaction when using this option

max_daily_amount

float

The maximum amount a single account number is allowed to transact in 24hrs

option_prefixes

array

String prefixes that validate the phone numbers. Applies to mobile money options

{
  "code": 400,
  "status": "error",
  "message": "transaction_type is required",
  "data": {}
}
PreviousBalance InquiryNextPayout Bank Codes

Last updated 10 months ago