Build With MyBundlePay
One integration for payments, cards, bills and payouts.
MyBundlePay gives developers a clean payment gateway, virtual account funding, payout rails, card issuing tools, bill payments, webhooks and merchant-ready checkout experiences.
REST APIs
JSON based
Webhooks
Real time events
Sandbox
Test first
API Test Console
Test the current endpoint directly from the documentation. Secret keys stay inside this browser session.
Enter your test key, review the sample body for this page, then send a request.
Errors
MyBundlePay uses conventional HTTP response codes to show whether an API request succeeded. Codes in the 2xx range indicate success, 4xx codes indicate a request or authorization issue, and 5xx codes indicate a server-side issue.
| Status Code | Meaning | Recommended Action |
|---|---|---|
| 200 - OK | Everything worked as expected. | Process the response data. |
| 400 - Bad Request | The request is invalid, often because a required parameter is missing. | Check the request body, endpoint and field types. |
| 401 - Unauthorized | No valid API key was provided. | Confirm the Authorization bearer token. |
| 402 - Request Failed | The parameters were valid, but the request could not be completed. | Show the returned message and retry only when safe. |
| 403 - Forbidden | The key does not have permission to perform this action. | Check account permissions or contact support. |
| 404 - Not Found | The requested resource does not exist. | Confirm the route, reference, transaction ID or account ID. |
| 409 - Conflict | The request conflicts with an existing operation. | Use a unique reference and verify before retrying. |
| 429 - Too Many Requests | Too many requests were sent too quickly. | Use exponential backoff and reduce retry loops. |
| 500, 502, 503, 504 - Server Errors | Something went wrong on MyBundlePay's end. | Retry with backoff or contact support if it persists. |
Error response format
Validation, authorization and insufficient balance errors use a JSON response like this:
{
"status": "failed",
"message": "Insufficient funds, please add funds to your account",
"data": null
}