Prefunding
Prefunding is required before initiating any payout transactions. You must have a positive balance before creating payout orders. Three prefunding methods are available, plus the option of reusing unsettled payin balances.
Crypto Prefunding
Deposit cryptocurrency to fund your payout balance. The response returns a wallet address where you send the funds.
| Parameter | Type | Required | Description |
|---|---|---|---|
| amount | number | Required | Prefund amount |
| cryptoTicker | string | Required | Crypto symbol (e.g., "USDC") |
| walletAddress | string | Required | Sender's wallet address |
| currency | string | Required | Settlement currency |
| balanceCurrency | string | Required | Balance currency (e.g., "EUR") |
| partnerId | string | Optional | Your internal reference |
The response returns an orderId and the wallet address where you should deposit the cryptocurrency.
Fiat Prefunding
Fund your payout balance via fiat bank transfer. PayItFast provides payment details based on the selected currency and payment method. Transfer funds directly to the provided account.
Sandbox Prefunding
A sandbox-only endpoint for adding dummy balances in test environments. Use this during development to simulate prefunding without real funds.
This endpoint is only available in the sandbox environment and cannot be used in production. It is intended for testing payout flows without real currency.
Using Payin Balance as Prefunding
If configured, unsettled payin order balances can be used directly as payout prefunding. This means you do not need to create a separate prefund — the funds collected from payin orders are automatically available for payouts.
The endpoint POST /v2/prefunds/crypto-prefund is deprecated and does not support USDCBASE. Use /v2/prefunds/create-crypto-prefund instead.
Balance / Multi-Currency Accounts
PayItFast automatically provides Multi-Currency Accounts (MCA) to all customers, enabling management of various currencies without immediate conversion. Use the balance endpoint to view your current holdings across all categories.
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
| MID | string | Optional | Merchant ID. Omit for aggregated balances across all entities. |
Balance Categories
The response breaks down your balance into the following categories.
| Category | Description |
|---|---|
| Total Collections Amount | Funds received from fiat and crypto payin orders |
| Total Payout Amount | Funds disbursed through fiat and crypto payout orders |
| Total Payout Fees | Fees deducted for payout transactions |
| Total Settled Amount | Funds that have been fully settled to customers |
| Total Unsettled Amount | Funds pending settlement |
| Total Available Prefunding Balance | Balance currently available for initiating payouts |
| Total Payout In Transit Balance | Payouts currently being processed by the banking network |
Refunds
Refunds are handled by the PayItFast support team and are not initiated via the API. Understanding when and how refunds occur is important for your integration.
When Refunds Occur
Refunds are triggered in three scenarios.
| Scenario | Description |
|---|---|
| No Order Found | User completes payment but no associated order exists in the system |
| Funds Not Received | Order exists but funds never arrived at the destination |
| Compliance Rejection | Order found and funds received, but the transaction fails compliance review |
Refund Process
- Refunds are initiated by the PayItFast support team (not via API).
- The customer must provide valid payment confirmation proof.
- PayItFast may request the bank account number and original payment method used.
Name Verification for Compliance
PayItFast performs name-matching between the sender's bank account name and the registered user name. The similarity score determines the outcome.
| Similarity Score | Action |
|---|---|
| Below 0.45 | Transaction is automatically declined and refunded |
| 0.45 – 0.70 | Compliance team requests supporting documents from the user |
| No response to document request | Order is rejected after 3–4 business days |
Scores above 0.70 pass automatically. Ensure your users register with the same name that appears on their bank account to avoid delays.
Orders & Payments
Create payin, payout, and crypto orders that draw from your prefunded balance.
View endpointsWebhooks
Receive real-time notifications when balance changes, payments settle, or refunds occur.
View guideError Reference
Understand error codes like INSUFFICIENT_BALANCE and how to handle them.
View reference