Handling Underpayments and Overpayments
Overview
When creating a temporary NGN funding account, merchants submit a principalamount. The create response returns an amount that is the exact amount the customer must transfer. The response value may be higher because the payment provider can add a collection charge.
Always use the response amount as the payment instruction. Do not calculate the provider charge yourself or use the request value. This page explains what happens when a customer sends an amount that does not match the response amount.
This behavior applies only to temporary NGN funding accounts.Permanent NGN funding accounts do not enforce a specific amount and process any transfer received.
Underpayments
If a customer sends less than the responseamount, the deposit is automatically refunded to the sender’s bank account.
Example
- API response
amount: ₦50,000 - Customer sends: ₦45,000
- Result: ₦45,000 is refunded to sender’s bank account
Overpayments
If a customer sends more than the responseamount:
- The correct amount is processed normally
- The excess amount is refunded to the sender
Example
- API response
amount: ₦50,000 - Customer sends: ₦55,000
- Result:
- ₦50,000 is processed and converted to stablecoin
- ₦5,000 is refunded to sender’s bank account
Fidelity Bank Exception
Why This Happens
This is due to technical constraints specific to Fidelity Bank’s transfer processing system.Recommendation
When displaying bank details to customers, always emphasize the exact amount if there’s a possibility they are using Fidelity Bank.How Refunds Work
Refunds are processed automatically by Daya and typically arrive within:- 1-2 business days for most banks
- May take longer depending on the sender’s bank
Refunds are handled transparently. No merchant action is required.
API Behavior
When an amount mismatch occurs:
The deposit object reflects only the processed amount, not the refunded portion (for overpayments).
Which Banks Are Affected?
This automatic refund behavior applies to transfers from all Nigerian banks except Fidelity Bank.Common Banks (Automatic Refund)
- Access Bank
- GTBank
- UBA
- Zenith Bank
- First Bank
- Kuda
- Opay
- And all others except Fidelity
Fidelity Bank (Transaction Fails)
Exact amount match is required.Best Practices
Always display the exact amount prominently
Always display the exact amount prominently
When showing bank details to customers, make the create response
amount highly visible and emphasize that the transfer must match it exactly. Do not substitute the request value or calculate the provider charge yourself.Warn about Fidelity Bank behavior
Warn about Fidelity Bank behavior
If you know or suspect a customer is using Fidelity Bank, explicitly warn them that the amount must be exact.
Test in sandbox
Test in sandbox
Sandbox mirrors production behavior for amount mismatches. Test your flow with under/overpayments to see how your system handles refunds.
Monitor deposit.failed webhooks
Monitor deposit.failed webhooks
Set up webhook listeners for
deposit.failed events to catch Fidelity Bank mismatches and notify customers to retry.Related Pages
Funding Accounts
Learn about temporary NGN funding accounts
Deposit Concepts
Understand deposit lifecycle and statuses
Limits Overview
See other merchant-facing limits