Developer Resources

  • Home
  • Developer Resources


UfitPay Wallet API is designed for developers to easily interact with various UfitPay wallet functionality from any application using any software programing technology or development platform

Access to this API is available to all registered UfitPay customers and agents (wallet accounts). You will likely need access to a web developer or programmer (if you’re not one) to get the most use out of UfitPay API.

Obtaining Wallet API credentials

In order to interact with UfitPay Wallet APIs, you need to enable API access on your account. To do this, go to Account Settings on the UfitPay Mobile App then click the Generate API Keys link. We will generate and send new API credentials to your registered email address;

Once generated, you will be able to retrieve your API credentials at any time by the View API keys link.

For added security, we recommend you restrict access to your API credentials to only white-listed IP addresses. You can do this by clicking the Restrict API Access link under Account Settings on UfitPay Mobile App.


All requests to this API require HTTP Header Authentication over TLS (HTTPS).

To authenticate your request, you need to pass the following parameters as part of your HTTP request headers;

Api-Key: Your wallet API key
API-Token: Your wallet API token

Test API Credentials

The following API Credentials can be used for development and test purpose only. Transactions done using these credentials are not treated as live

Test Wallet API Key: TSVLWCB5TO5RfJFCNkwSX8z0F8ZwD91
Test Wallet API Token: TS66uEwtekJEcWiwzC1gDdiDzKcJFk1

Available APIs

e-Wallet Balance Enquiry API POSY » /balance

This API allows you to fetch your UfitPay e-wallet balance. This endpoint is accessed by making an HTTP GET request to

Request Body Parameters
currency (string) (optional) This is the currency to return the balance in. Supported value is NGN

Sample success response (json)
{ "resource": "balance", "status":"success", "data":{ "balance": "123", "currency": "NGN" } }

Response parameters
balance (string) This is the current wallet balance
currency (string) This is the returned balance currency

Generate Scan-to-Pay QR Code POST » /get_qr

This API allows you to generate a UfitPay Scan-to-Pay QR code, which other UfitPay users can use to send payments to your UfitPay wallet using the Scan2Pay feature. This endpoint is only available to Ufitpay wallet account and is accessed by making an HTTP POST request to

Request Body Parameters
phone_number (string) (required) Your UfitPay registered account phone number
amount (int) (optional) This is the expected payment amount (in naira) to receive. If supplied, the payer will not be able to change the value on the amount field in UfitPay app during payment
narration (string) (optional) This is the payment description to set for the payment

Sample success response (json)
{ "resource": "get_qr", "status":"success", "data":[{ "qr_link": "", "qr_html": "" } ] }

Response parameters
qr_link (string) This is a link to the generated QR code
qr_html (string) This is an embedable HTML version of the QR code

Wallet Virtual Account Statement API POST » /search_wallet_bank_statement

This API allows you to search your UfitPay wallet virtual bank account statement for deposits/payments received. This endpoint is only available to Ufitpay wallet account and is accessed by making an HTTP POST request to

Request Body Parameters
source_accountnumber (string) (optional) This is the payer or originating account number to search for
originator_name (string) (optional) This is the originating account name, depositor's name or payment narration to search for
amount (int) (optional) This is the expected payment amount (in naira) to search for
datetime (string) (optional) This is the payment date to search for (YYYY-MM-DD. eg 2024-04-25)

Note: If more than one of the four parameters above are supplied, only records that matched the supplied parameters will be returned. If none of the four parameters is supplied, all payment records will be returned

Sample success response (json)
{ "resource": "search_bank_credits", "status":"success", "records":"1", "data":[{ "amount": "2600", "paymentreference": "5725692722", "source_accountnumber": "0123456789", "source_bankname": "FIRST BANK OF NIGERIA", "credit_sessionid": "1234567889906", "depositor_name": "JOHN DOE", "datetime": "2024-04-25 10:22:26" } ] }

Response parameters
datetime (string) This is the actual date and time the payment was received (YYYY-MM-DD HH:MM:SS)
credit_sessionid (string) This is the unique bank credit session ID
paymentreference (string) This is the unique credit reference from the originating bank
source_accountnumber (string) This is the NUBAN bank account number which originated the payment
source_bankname (string) This is the name of the bank that originated the payment
depositor_name (string) This is the depositor's name or originating bank account name
amount (string) This is the actual transaction amount paid.