Introduction

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

ResourceUse it when
Reserved AccountA customer or business needs a long-lived collection account linked to a validated identity
Virtual AccountOne transaction needs temporary payment instructions for an expected amount
TransferYou are sending NGN to one bank beneficiary immediately
PayoutYou need tracked, asynchronous single or bulk disbursement processing
RefundYou 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

  1. Create the appropriate account type.
  2. Store its Tsara identifier, account number, status, and expiry where applicable.
  3. Show the account details to the payer.
  4. Receive the transaction webhook when funds arrive.
  5. Query Transactions as a reconciliation fallback.

Typical money-out flow

  1. Fetch the bank list and perform name enquiry.
  2. Create a transfer, payout, or refund with a business-owned source account where required.
  3. Treat pending and processing as non-final.
  4. 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.