Docs / API Reference / API Overview

API Overview

The PayItFast API is a REST API platform providing businesses, marketplaces, and financial platforms with compliant fund transfer solutions supporting local fiat currencies and cryptocurrency. Use it to collect payments, process payouts, and enable crypto on/off-ramp flows across 69 countries, 47+ fiat currencies, and 70+ crypto tokens.

Version

All endpoints described in this documentation use API version v2.

Base URLs

PayItFast provides two environments. Use the Sandbox for development and testing, and Production for live transactions.

Environment Base URL
Sandbox https://sandbox-api.payitfast.com
Production https://api.payitfast.com

Authentication

The API uses HTTP Basic Authentication. Every request must include an Authorization header containing your base64-encoded credentials.

HTTP Header
Authorization: Basic <base64(username:password)>

API credentials are obtained from the dashboard at dashboard.payitfast.com. Keep your credentials secure and never expose them in client-side code.

Security

Never expose your API credentials in front-end code, public repositories, or client-side applications. All API calls should be made from your server.

Common Headers

Include these headers with every API request.

Header Type Required Description
Authorization string Required Basic Auth credentials (Basic <base64>)
Content-Type string Required application/json for most requests, or multipart/form-data for file uploads
MID string Optional Merchant/sub-merchant identifier. Used for multi-entity context. If omitted, applies to the default entity.

Request Format

The API accepts two request formats depending on the HTTP method:

Response Format

All responses are returned in JSON format. Successful responses typically include a status field or the requested data directly.

Success Response

200 OK Success
JSON
{
  "data": [
    {
      "currency": "EUR",
      "logoUrl": "https://common-fiat-logos.s3.ap-southeast-1.amazonaws.com/eur.svg",
      "decimalPrecision": 2
    }
  ],
  "pages": 3,
  "status": "success",
  "total": 15
}

Error Response

400 Bad Request Error
JSON
{
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "The 'direction' parameter is required and must be 'deposit' or 'withdraw'."
  }
}

HTTP Status Codes

The API uses standard HTTP status codes to indicate the success or failure of a request.

Code Description
200 Success — The request completed successfully.
201 Resource Created — A new resource (user, order, etc.) was created.
400 Bad Request — Invalid or missing parameters in the request.
403 Forbidden — Access restricted (KYC pending, account blocked, or limits reached).
404 Not Found — The requested resource does not exist.
409 Conflict — Duplicate resource (e.g., user already exists with this email).
422 Unprocessable Entity — Validation failed (e.g., invalid token details for KYC sharing).
500 Internal Server Error — An unexpected error occurred on the server.

Endpoint Summary

The table below lists all 33 available API endpoints. Click any endpoint path to navigate to its detailed documentation.

# Method Path Description
1 GET /v2/supported-currencies List supported fiat currencies
2 GET /v2/payment-methods List payment methods by currency
3 GET /v2/config/list-tokens List crypto tokens and networks
4 GET /v2/exchange-rates/live-rates Live deposit/withdraw rates
5 GET /v2/exchange-rates/fiat-to-crypto Onramp conversion quote
6 GET /v2/exchange-rates/crypto-to-fiat Offramp conversion quote
7 GET /v2/exchange-rates/gaming Gaming conversion quote
8 GET /v2/exchange-rates/deposit Payin rates (fiat to stablecoin)
9 GET /v2/exchange-rates/withdraw Payout rates (stablecoin to fiat)
10 POST /v2/users/individual Create individual user
11 GET /v2/users/individuals List individual users
12 POST /v2/users/business Create business user
13 GET /v2/users/business List business users
14 POST /v2/kyc/standard Submit standard KYC (Level 1)
15 POST /v2/kyc/advanced Submit advanced KYC (Level 2)
16 POST /v2/kyc/share/same-vendor Share KYC via Sumsub token
17 POST /v2/kyc/share/third-vendor Share KYC from third-party provider
18 POST /v2/kyc/share/add-docs Submit additional KYC documents
19 GET /v2/kyc/user Get KYC status
20 POST /v2/kyb/standard Submit standard KYB
21 POST /v2/kyb/advanced Submit advanced KYB
22 GET /v2/kyb/user Get KYB status
23 POST /v2/invoices/create Upload invoice (PDF)
24 POST /v2/orders/deposit Create fiat payin order
25 POST /v2/orders/gaming Create gaming payin order
26 POST /v2/payout/orders Create fiat payout order
27 GET /v2/orders/{orderId} Get order details
28 POST /v2/crypto/payin Create crypto payin order
29 POST /v2/crypto/payout Create crypto payout order
30 POST /v2/prefunds/create-crypto-prefund Create crypto prefund
31 POST /v2/prefunds/create-fiat-prefund Create fiat prefund
32 POST /v2/sandbox/prefunds/create-prefund Sandbox prefund (test only)
33 GET /v2/balance Get account balance

Configuration

Discover supported currencies, payment methods, and crypto tokens available for your integration.

View endpoints

Exchange Rates

Fetch live rates, conversion quotes, and lock prices with quoteId for payin and payout flows.

View endpoints

User Management

Create and manage individual and business users before initiating transactions.

View endpoints