Documentation status:
If a section is unclear or missing, contact support.
Send Money & Transfers
Send Money & Transfers
Detailed endpoints for moving funds to recipients:
🚀 Getting Started
Base URL:
https://api.payvessel.comSandbox URL: https://sandbox.payvessel.com📊 Rate Limits
Live: 100 requests per minuteSandbox: 1000 requests per minute
Authentication
All API requests must be authenticated with your API key and secret key. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.API Categories
Our API is organized into logical groups of functionality, matching the navigation:💳 Transactions
💳 Transactions
Initialize and verify payments, and retrieve transaction lists.Key Endpoints:
POST /transaction/initialize- Initialize a paymentGET /transaction/verify/{reference}- Verify transaction statusGET /transaction/list- List transactions
💸 Send Money & Transfers
💸 Send Money & Transfers
Send money to bank accounts and mobile money users with instant transfers.Key Endpoints:
POST /transfer/recipient- Create transfer recipientPOST /transfer/initiate- Initialize transfer
👛 Wallets
👛 Wallets
Create and manage digital wallets, check balances, and generate statements.Key Endpoints:
POST /wallets/create- Create new walletGET /wallets/{wallet_id}/balance- Check wallet balanceGET /wallets/{wallet_id}/statement- Generate statement
🏦 Virtual Accounts
🏦 Virtual Accounts
Create and manage reserved virtual accounts for automated collections.Key Endpoints:
POST /reserved-account/create- Create virtual accountGET /reserved-account/{account_number}- Get account details
🔗 Checkout
🔗 Checkout
PayVessel Hosted Checkout operations for verifying and confirming transactions.Key Endpoints:
POST /checkout/initialize- Initialize hosted checkoutPOST /checkout/confirm- Confirm transaction
Request & Response Format
Request Headers
All requests should include these headers:Response Structure
All API responses follow a consistent structure:HTTP Status Codes
| Code | Description |
|---|---|
200 | OK - The request was successful |
201 | Created - The resource was successfully created |
400 | Bad Request - The request was invalid or malformed |
401 | Unauthorized - Authentication credentials were missing or invalid |
403 | Forbidden - The request is understood, but not authorized |
404 | Not Found - The requested resource could not be found |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error - An error occurred on PayVessel’s servers |
Idempotency
The PayVessel API supports idempotency for safely retrying requests without accidentally performing the same operation twice. When creating or modifying objects, provide an additionalIdempotency-Key: <key> header to the request.
Best Practice: Use a UUID or other random string as your idempotency key. PayVessel will return the same response for repeated requests with the same key for 24 hours.
Webhooks
PayVessel uses webhooks to notify your application when events occur in your account. Learn more about webhook integration in our webhook documentation. Common webhook events:transaction.success- Payment completed successfullytransaction.failed- Payment failed or was declinedtransfer.success- Transfer completed successfullyverification.completed- Identity verification completed
Testing
Use our sandbox environment to test your integration without real money. The sandbox mirrors the production API but with test data. Sandbox Base URL:https://sandbox.payvessel.com
Ready to start building? Explore the endpoint documentation below or jump to our quickstart guide for step-by-step integration instructions.
