Introduction
Payve is a cross-border payments API built for African corridors. With a single integration you can collect payments, send payouts, and convert currencies across NGN, GHS, KES, ZAR, XOF, XAF, and more.
What you can build
- Collect payments from customers via bank transfer, card, or mobile money
- Send payouts to bank accounts, mobile wallets, or cards across Africa
- Convert currencies at competitive live rates with built-in FX margin
- Share payment links — no code required for one-time collection pages
- Receive real-time notifications via webhooks for every state change
Base URL
All API requests are made to:
https://api.payve.ioDuring development, point your integration at your sandbox environment. Sandbox and live credentials are separate — switching is instantaneous with no code changes.
API versioning
The current version is v1. All endpoints are prefixed with /v1/.
Breaking changes will be communicated with advance notice and a new version path. Non-breaking additions (new fields, new optional parameters) may be made at any time.
Request format
All requests must include:
Content-Type: application/jsonfor POST/PATCH bodiesAuthorization: Bearer <api_key>for authentication
Amounts are always expressed in minor units (kobo for NGN, pesewas for GHS, cents for USD, etc.). A value of 1000 represents ₦10.00 or $10.00.
Response format
All responses follow the same envelope:
{
"data": { ... }
}Errors follow:
{
"error": {
"code": "validation_missing_field",
"message": "Human-readable explanation",
"status": 422
}
}Pagination
List endpoints use cursor-based pagination. Pass cursor from the previous response's meta.cursor to fetch the next page.
GET /v1/payins?limit=25&cursor=eyJpZCI6Inse...{
"data": [ ... ],
"meta": {
"cursor": "eyJpZCI6Inse..."
}
}When meta.cursor is null, you have reached the last page.