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.
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.
GET https://mybundlepay.com/ng/api/card/customer/{customer_id}
This endpoint retrieves an enrolled customer by customer_id. You must pass your secret key and call from a whitelisted IP.
HEADERS
Authorization * string
Pass your {secret_key} as a Bearer token in the request header to authorize this call.
Content-Type * application/json
IP WHITELISTING
IP must be whitelisted, otherwise you get a 403.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://mybundlepay.com/ng/api/card/customer/{customer_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Authorization: Bearer {secret_key}"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
curl --request GET \
--url "https://mybundlepay.com/ng/api/card/customer/{customer_id}" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer {secret_key}"
Success Response
{
"status": "success",
"message": "Customer retrieved successfully",
"data": {
"status": true,
"message": "Successfully fetched customer",
"data": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"phone_country_code": "234",
"phone_number": "9087654321",
"status": "COMPLETED",
"dob": "01-07-1985",
"identity": {
"type": "PASSPORT",
"number": "A12345678",
"country": "NG"
},
"address": {
"street": "123 Example Street",
"city": "Lagos",
"state": "Lagos State",
"postal_code": "100001",
"country": "NG"
},
"tier": 2,
"photo": "https://example.com/document.pdf",
"created_at": "2025-09-28T15:34:17.54201Z"
}
}
}
Error Responses
Customer not found — 404
{
"status": "failed",
"message": "Customer not found"
}
Missing or invalid token — 401
{
"status": "failed",
"message": "Invalid or missing authorization token"
}
IP not whitelisted — 403
{
"status": "failed",
"code": "IP_NOT_WHITELISTED",
"message": "Your IP is not authorized for API access."
}
MyBundlePay error — 400
{
"status": "failed",
"message": "Exception contacting MyBundlePay",
"data": {
"status": false,
"message": "Validation error from upstream",
"error": "HTTP request returned status code 400"
}
}