Skip to main content

Credit a customer wallet

POST /wallet/credit Transfers funds from your merchant settlement wallet to a customer wallet. The merchant wallet is debited the transfer amount plus any applicable wallet-to-wallet transfer fees.
The customer wallet must be ACTIVE and must not have post-no-credit (PNC) mode enabled. Credits are also subject to the customer’s tier maximum balance limit — if the credit would push the wallet over its tier cap, the request is rejected.

Request

string
required
Bearer token.
string
required
The UUID of the customer whose wallet you are crediting.
number
required
Amount to credit, in kobo. Must be greater than 0.
string
Your unique transaction reference. If omitted, one is auto-generated. Minimum 10 characters. Duplicate references are rejected.
object
Arbitrary key-value data attached to the transaction. Returned in webhook payloads.

Response

boolean
true on success.
string
"Transaction successfully completed." or "Transaction successfully submitted for approval." (for web-initiated requests that require maker-checker approval).
object
Present on successful API-initiated transactions.

Examples

Response

Debit a customer wallet

POST /wallet/debit Withdraws funds from a customer wallet and credits them to your merchant settlement wallet. The net amount received by the merchant is the debited amount minus any applicable transfer fees.
Customer debit must be explicitly enabled on your merchant account. If canDebitCustomer is false, all debit requests return an error. Contact TagPay support to enable this feature.

Request

string
required
Bearer token.
string
required
The UUID of the customer whose wallet you are debiting.
number
required
Amount to debit, in kobo. Must be greater than 0.
string
Your unique transaction reference. Minimum 10 characters. Duplicate references are rejected.
object
Arbitrary key-value data attached to the transaction.

Response

boolean
true on success.
string
"Transaction successfully completed" on success.
object

Examples

Response

Get merchant wallet balances

GET /wallet/balance Returns the total combined balance across all customer wallets under your merchant account. This is the sum of availableBalance for every customer wallet.

Request

string
required
Bearer token.

Response

boolean
true on success.
object

Examples

Response

Get settlement balance

GET /wallet/settlement-balance Returns the total unsettled balance owed to customers — the difference between bookedBalance and availableBalance across all customer wallets. Use this before calling POST /wallet/settle-customer-balance to understand how much you need to fund.

Request

string
required
Bearer token. Requires MANAGE_BALANCE_SETTLEMENT permission.

Response

boolean
true on success.
number
Total pending settlement amount in kobo.

Examples

Response

Settle customer balances

POST /wallet/settle-customer-balance Transfers funds from your merchant settlement wallet to cover the outstanding balances of all customers who have a bookedBalance greater than their availableBalance. Settlement is processed smallest-balance-first until your merchant wallet is exhausted.
This is an irreversible batch operation. Ensure your merchant wallet has sufficient funds before calling this endpoint. Check the settlement balance first using GET /wallet/settlement-balance.

Request

string
required
Bearer token. Requires MANAGE_BALANCE_SETTLEMENT permission.

Response

boolean
true on success.
string
"Your customers wallet has been settled"

Examples

Response

Error responses

400 Insufficient Balance
400 Post-No-Credit Enabled