Introduction to Payment APIs in Modern Software Architecture
A Payment API (Application Programming Interface) allows developers to programmatically process customer deposits, issue virtual bank accounts, execute automated payouts, and verify transaction statuses directly from their application backend without manual human intervention.
Core Capabilities of the FimPay Payment API
- Dynamic Checkout Initialization: Create hosted checkout sessions supporting cards, USSD, and virtual accounts in a single API call.
- Instant Virtual Account Generation: Request dedicated 10-digit NUBANs tied to specific customers or orders with custom expiry windows.
- Automated Interbank Payouts: Transfer funds directly to 780+ Nigerian financial institutions using the Transfer API.
- Cryptographic Webhook Telemetry: Receive signed JSON payloads with automatic exponential backoff retries.
Quickstart Code Example: Initializing a Payment Session (Node.js & PHP)
// Example PHP cURL Request to FimPay Checkout API
$payload = [
"amount" => 15000.00,
"customer_email" => "[email protected]",
"customer_name" => "Chidi Okafor",
"reference" => "INV-" . time(),
"callback_url" => "https://yourapp.com/payment/callback"
];
$ch = curl_init("https://api.fimpay.com/api/v1/checkout/initialize");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer YOUR_SECRET_KEY",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
// Redirect user to $result['checkout_url']
Webhook Security Best Practices (HMAC-SHA512 Verification)
Always verify the X-Fimpay-Signature header on all incoming webhooks using your API secret key before updating order records in your database to protect against spoofing attacks.
Explore full interactive endpoint references, testing sandbox keys, and multi-language SDKs on our Developer Hub or read our Payment API Specifications.