⚙️
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
  • Sample Balance Inquiry Request
  • Wallet Types
  • Balance Descriptions
  1. Utility Functions

Balance Inquiry

The API allows the merchant to check the balance(s) for the different currencies they might hold.

GET https://sandboxapi.dusupay.com/data/wallet-balances

The endpoint retrieves the balance(s) by currency. It returns currency wallets belonging to the merchant account

Query Parameters

Name
Type
Description

currency

String

The currency whose balances should be retrieved (Optional)

Headers

Name
Type
Description

public-key*

String

The merchant account Public Key

secret-key*

String

The merchant account Secret Key

Sample Balance Inquiry Request

curl https://sandboxapi.dusupay.com/data/wallet-balances \
   -H "Accept: application/json" \
   -H "x-api-version: 1" \
   -H "public-key: your-public-key" \
   -H "secret-key: your-secret-key"
{
    "code": 200,
    "status": "success",
    "message": "Request completed successfully.",
    "data": {
        "merchant_wallets": [
            {
                "available_balance": 40000,
                "actual_balance": 40000,
                "currency": "UGX",
                "uncleared_balance": 40000,
                "reserve_balance": 0,
                "wallet_type": "MERCHANT_COLLECTION"
            },
            {
                "available_balance": 0,
                "actual_balance": 0,
                "currency": "UGX",
                "uncleared_balance": 0,
                "reserve_balance": 0,
                "wallet_type": "MERCHANT_PAYOUT"
            }
        ]
    }
}
{
  "code": 400,
  "status": "error",
  "message": "secret-key is required",
  "data": {}
}
{
  "code": 401,
  "status": "error",
  "message": "Unauthorized API access. Invalid Merchant Secret Key",
  "data": {}
}

Wallet Types

Wallet Type
Description

MERCHANT_COLLECTION

This wallet holds funds accumulated from funds collection of a specific currency. Funds directly deposited into the merchant account for a given currency would also live in a wallet of this type.

MERCHANT_PAYOUT

All the funds the merchant account wishes to designate for disbursements will be stored in a special wallet of this type. The merchant will be allowed to provision funds here by transferring from the collection account to this one.

Balance Descriptions

Balance Name
Description

available_balance

The amount/balance available for use. This the amount the merchant account has access to for any other platform operations

actual_balance

This is the total balance of a given currency for a certain merchant account wallet. It's the summation of all the balances in the given wallet.

uncleared_balance

This is the amount yet to be made available to the merchant account for use.

reserve_balance

In the event transactions are done using payment options for which a rolling reserve is implemented (e.g. card options), the accumulated rolling reserve amounts would be deposited under this balance

PreviousDusuPay Public KeysNextPayment Options

Last updated 10 months ago