Developer Platform

Build with Bridgenetic's APIs

Integrate powerful payment infrastructure into your applications — virtual accounts, bill payments with cashback, hosted checkout, and real-time webhooks. All via clean RESTful APIs.

RESTful API

A modern, versioned REST API with predictable JSON responses and comprehensive error handling.

JSON Responses

All API endpoints return structured JSON responses with consistent formatting, pagination metadata, and descriptive error messages.

Versioned Endpoints

API versioning via URL path (/api/v1/) ensures backward compatibility as we evolve the platform.

Resource-Based

Intuitive resource-oriented URLs following REST conventions. Create, read, update, and manage payment resources with standard HTTP methods.

Security

API Key + Signature Authentication

Every API request is secured with a two-layer authentication model combining API keys for identification and HMAC signatures for request integrity verification.

API Key Identification

Each request includes your unique API key in the header to identify your merchant account.

HMAC Signature Verification

Request payloads are signed with your secret key using HMAC-SHA256, preventing tampering and replay attacks.

TLS Encryption

All API communication is encrypted over HTTPS/TLS 1.2+ ensuring data privacy in transit.

Authentication Headers
// Required headers for every API request
X-API-Key: your_api_key_here
X-Signature: hmac_sha256(request_body, secret_key)
X-Timestamp: 1700000000
Content-Type: application/json
Webhook Payload Example
{
  "event": "bill.airtime.success",
  "data": {
    "reference": "BILL-A1B2C3D4E5F6",
    "category": "airtime",
    "amount": 500.00,
    "cashback_amount": 12.50,
    "status": "successful",
    "phone": "08012345678",
    "network": "MTN"
  }
}
Real-time Events

Webhook Integration

Receive real-time notifications for payment events — deposits, bill purchases, and more. Our webhook system ensures reliable delivery with automatic retries and signature verification.

Real-time Notifications

Instant HTTP POST callbacks for deposits, bill payments, withdrawals, and account events.

Automatic Retry Logic

Failed deliveries are retried with exponential backoff up to 5 times over 24 hours.

Bill Payment Events

Get notified with bill.{category}.success or bill.{category}.failed events including cashback info.

Available API Endpoints

Full-featured REST API covering payments, virtual accounts, bill payments, withdrawals, and more.

Virtual Accounts

  • POST /virtual-accounts/create
  • GET /virtual-accounts
  • GET /virtual-accounts/{id}

Bill Payments

  • GET /bills/categories
  • GET /bills/billers?category=
  • GET /bills/items?biller_code=
  • POST /bills/verify
  • POST /bills/purchase
  • GET /bills/{ref}/status

Transactions

  • GET /transactions
  • GET /transactions/{reference}
  • GET /bills/history

Customers

  • POST /customers/create
  • GET /customers
  • GET /customers/{id}

Withdrawals

  • POST /withdrawals/create
  • GET /withdrawals

Hosted Checkout

  • POST /checkout/initialize
  • GET /checkout/{ref}/verify
  • POST /payment-links/create
  • GET /payment-links

Code Examples

Get started quickly with examples in your preferred language. Create virtual accounts and initiate deposits in minutes.

create-virtual-account.php
<?php

$apiKey = 'your_api_key';
$secretKey = 'your_secret_key';

$payload = json_encode([
    'customer_name' => 'John Doe',
    'customer_email' => '[email protected]',
    'bank_code' => '058',
    'currency' => 'NGN',
]);

$signature = hash_hmac('sha256', $payload, $secretKey);

$ch = curl_init('https://api.bridgenetic.com/api/v1/virtual-accounts');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-API-Key: ' . $apiKey,
        'X-Signature: ' . $signature,
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);

echo $response['data']['account_number'];
// Output: "0123456789"
create-virtual-account.js
const crypto = require('crypto');

const apiKey = 'your_api_key';
const secretKey = 'your_secret_key';

const payload = JSON.stringify({
    customer_name: 'John Doe',
    customer_email: '[email protected]',
    bank_code: '058',
    currency: 'NGN',
});

const signature = crypto
    .createHmac('sha256', secretKey)
    .update(payload)
    .digest('hex');

const response = await fetch(
    'https://api.bridgenetic.com/api/v1/virtual-accounts',
    {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'X-API-Key': apiKey,
            'X-Signature': signature,
        },
        body: payload,
    }
);

const data = await response.json();
console.log(data.data.account_number);
// Output: "0123456789"
create_virtual_account.py
import hmac
import hashlib
import json
import requests

api_key = 'your_api_key'
secret_key = 'your_secret_key'

payload = json.dumps({
    'customer_name': 'John Doe',
    'customer_email': '[email protected]',
    'bank_code': '058',
    'currency': 'NGN',
})

signature = hmac.new(
    secret_key.encode(),
    payload.encode(),
    hashlib.sha256
).hexdigest()

response = requests.post(
    'https://api.bridgenetic.com/api/v1/virtual-accounts',
    headers={
        'Content-Type': 'application/json',
        'X-API-Key': api_key,
        'X-Signature': signature,
    },
    data=payload,
)

data = response.json()
print(data['data']['account_number'])
# Output: "0123456789"

Ready to Start Building?

Create your free account, generate API keys, and start integrating Bridgenetic's payment infrastructure in minutes.