Tsara's fiat APIs help businesses collect, hold, and move NGN without building separate bank-account, transfer, payout, and refund integrations.
Base URL: /v1/fiat
Authentication: Authorization: Bearer <secret_key>
Choose the right fiat resource
| Resource | Use it when |
|---|---|
| Reserved Account | A customer or business needs a long-lived collection account linked to a validated identity |
| Virtual Account | One transaction needs temporary payment instructions for an expected amount |
| Transfer | You are sending NGN to one bank beneficiary immediately |
| Payout | You need tracked, asynchronous single or bulk disbursement processing |
| Refund | You are returning all or part of a successful incoming transaction |
Payouts use the related base URL /v1/payouts; refunds use /v1/refunds.
Typical collection flow
- Create the appropriate account type.
- Store its Tsara identifier, account number, status, and expiry where applicable.
- Show the account details to the payer.
- Receive the transaction webhook when funds arrive.
- Query Transactions as a reconciliation fallback.
Typical money-out flow
- Fetch the bank list and perform name enquiry.
- Create a transfer, payout, or refund with a business-owned source account where required.
- Treat
pendingandprocessingas non-final. - Process signed status webhooks and reconcile in-flight records.
All resources are scoped to the authenticated business. Account ownership, available balance, and resource state are validated before money movement is accepted.