Skip to main content
POST
Create bank transfer
Create a bank transfer using a previously resolved recipientCode. Transfers are debited from a Pasteaza wallet/source account.
Resolve the recipient account first. Pasteaza returns a reusable recipientCode that you can use for one or more transfers to the same recipient.

Endpoint

Headers

Request body

sourceAccountNumber identifies the Pasteaza account balance that funds the transfer. It is not the recipient’s bank account.

Example request

Successful response

Transfer flow

1

Resolve the recipient account

Send the account number and bank code to the Resolve Account endpoint.
2

Store the recipient code

Save the returned recipientCode for future transfers to the same recipient.
3

Create the transfer

Send the transfer request with recipientCode, amount, an idempotency key, and optionally sourceAccountNumber when you want to debit a specific Pasteaza source account.
4

Verify the transfer status

Confirm the final outcome using the Verify Transfer Status endpoint.

Notes

  • Always resolve an account before creating a transfer.
  • Use recipientCode instead of sending raw bank account details during transfer creation.
  • A recipientCode can be reused for multiple transfers to the same recipient.
  • sourceAccountNumber is optional. When provided, it must belong to one of your active Pasteaza wallet/source accounts in the same environment as your API key. If it is invalid, the API returns source_account_not_found.
  • If sourceAccountNumber is omitted, Pasteaza uses your primary active NGN source account, or creates and uses DEFAULT_NGN_WALLET when no primary source account exists.
  • Use an Idempotency-Key to prevent duplicate transfers. Idempotency is supported for transfer creation.
  • Transfers are NGN only in V1. Do not send a currency field.
  • The response includes sourceAccountNumber so you can reconcile which Pasteaza source account was debited.
  • A created transfer may return processing first.
  • Check the final status with the Verify Transfer Status endpoint.

Resolve account

Resolve a bank account and generate a recipient code.

Verify transfer status

Check the final status of a transfer.

Authorizations

Authorization
string
header
required

Use an sk_test_... key in the playground. Never enter a live key in shared environments.

Headers

Idempotency-Key
string
required

A unique key for safely retrying this request.

Example:

"2d3d82e4-70b8-4a1e-a78a-69415a601980"

Body

application/json
recipientCode
string
required
Example:

"rcp_7hK2j9xLmQ4"

amount
integer
required

Amount in kobo.

Required range: x >= 100
Example:

500000

sourceAccountNumber
string
narration
string
Example:

"Vendor payment"

merchantReference
string
Example:

"PAYOUT-1001"

metadata
object
Example:

Response

Bank transfer created.

status
boolean
required
message
string
required
data
object
required