Slikpay v1.0.0 API Docs
Console
Slikpay Documentation
SECTION 1 ARCHITECTURE

Unified Banking-as-a-Service API Reference

Slikpay BaaS provides unified, institutional financial infrastructure for modern African builders. Connect to dedicated virtual NUBANs, instant NIP clearing, multi-currency card issuing, automated utility vending, and corporate compliance verification through a single normalized REST API.

NIP Settlement
< 2.5s
T+0 Instant Clearing
Card Networks
Visa & MC
USD & NGN Issuance
Platform SLA
99.98%
Multi-Rail Redundancy
Data Standard
AES-256
TLS 1.3 Strict Vault
Canonical Live & Sandbox Base URL All /v1 REST Endpoints
https://api.slikpay.online/v1
Live vs. Sandbox mode is controlled automatically by your API key (sk_live_... vs sk_test_...) against https://api.slikpay.online/v1 (alias: https://business.slikpay.online/v1).
ZERO FRICTION QUICKSTART

Integrate in Just 3 Lines of Code

Make your first API request in under 90 seconds against https://api.slikpay.online/v1. All endpoints accept and return UTF-8 JSON payloads with standardized envelopes.

curl -X POST https://api.slikpay.online/v1/accounts/virtual \
  -H "Authorization: Bearer sk_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "accountName": "Acme FinTech Ltd",
    "bvn": "22119988776",
    "customerEmail": "dev@company.com"
  }'
SECURITY AUTHENTICATION

API Key Authentication

Every request to the Slikpay BaaS API must include your secret API key in the HTTP Authorization header using the standard Bearer authentication scheme (or via the X-API-Key header). Generate and manage your keys in the Developer Console.

Authorization: Bearer sk_live_9a8b7c6d5e4f...
Live API Keys sk_live_...

Executes real money movement, debiting and crediting live bank accounts, issuing real payment cards, and vending live telco airtime.

Sandbox Test Keys sk_test_...

Routes to isolated mock banking simulator on the exact same base URL. Safely test edge cases, error codes, and webhook subscriptions without moving money.

Deterministic Sandbox Magic Values

Category Test Value Simulated Outcome
Virtual Card PAN 5123 4567 8901 2345 Always Authorize (HTTP 200, 3DS Approved).
Virtual Card PAN 5123 4567 8901 0002 Decline: Insufficient Balance (INSUFFICIENT_FUNDS).
Bank Director BVN 22222222222 Verified Director identity (Passes KYB Tier 2/3).
Inbound NUBAN Credit POST /v1/test/simulate-inbound Dispatches simulated NIP credit alert & webhook.
SECTION 4 BASE URLS & ENVIRONMENTS

Official Base URLs & Environment Routing

Slikpay uses a unified production gateway architecture. You do not need to change your base URL when switching between Sandbox testing and Live production β€” simply swap sk_test_... for sk_live_... in your Authorization header.

Service / Rail Canonical URL Purpose & Notes
REST API Base URL (Live & Sandbox) https://api.slikpay.online/v1 Primary base URL for all /v1/* BaaS & Gateway endpoints. (https://business.slikpay.online/v1 is also supported as a direct alias).
Hosted Checkout & PayLinks https://pay.slikpay.online Customer-facing checkout portal, dynamic QR ingress, and inline JS SDK host (/v1/slikpay.js).
Merchant & Developer Console https://business.slikpay.online Web dashboard for generating API keys, managing webhooks, KYB onboarding, and viewing ledgers.
Developer Documentation Hub https://api.slikpay.online/docs Interactive API reference & endpoint tester (also accessible at https://business.slikpay.online/docs).
Postman v2.1 Collection https://api.slikpay.online/v1/postman.json Import directly into Postman (pre-configured with {{baseUrl}} = https://api.slikpay.online/v1).
OpenAPI 3.0 Spec https://api.slikpay.online/v1/openapi.json Machine-readable OpenAPI 3.0 specification for automated SDK codegen and Swagger tooling.
RELIABILITY IDEMPOTENCY

Idempotency & Replay Protection

Financial transactions must be resilient to network timeouts, server re-transmissions, and client retries. Send an optional Idempotency-Key header on POST requests to guarantee that operations like payouts or card funding are executed exactly once.

# Send a UUID v4 idempotency token
Idempotency-Key: "idemp_91a0b3c5-f8e2-416d-8e42-cb79802a4329"
REAL-TIME EVENTS WEBHOOKS

Webhook Notifications & HMAC Verification

Slikpay dispatches real-time webhooks whenever money enters a dedicated virtual NUBAN, when an NIP payout completes, or when a virtual card transaction occurs. Every dispatch contains the header X-Slikpay-Signature computed via HMAC SHA-256 using your webhook secret.

verify_webhook.js (Node.js) HMAC SHA-256
import crypto from 'crypto';

function verifySlikpayWebhook(rawPayload, headerSignature, webhookSecret) {
  const expected = crypto
    .createHmac('sha256', webhookSecret)
    .update(rawPayload)
    .digest('hex');

  return crypto.timingSafeEqual(Buffer.from(headerSignature), Buffer.from(expected));
}

Supported Webhook Event Types

Event Identifier Trigger Description Typical Payload Data
virtual_account.credited Inbound bank transfer delivered to dedicated NUBAN via NIP rail. accountNumber, amount, senderName, sessionId, reference
payment.succeeded Checkout gateway charge authorized and settled on ledger. reference, amount, currency, channel, customerName
payout.successful Instant outbound transfer delivered to recipient bank. reference, nipSessionId, amount, recipientAccount, fee
card.transaction.approved Virtual Visa/Mastercard online purchase authorization. cardId, amount, merchantName, mcc, authCode
kyb.approved Compliance desk completed corporate registry & BVN approval. merchantId, kycTier, approvedAt, verifiedDirectors
LIVE SDK SLIKPAY PAYMENT GATEWAY

Slikpay Inline & Drop-in Checkout SDK

Accept instant bank transfers (auto-detected on NIBSS with audio chime), Nigerian debit/credit cards (Mastercard, Visa, Verve with 3D Secure), USSD dial strings, OPay, and mobile wallets (Apple Pay & Google Pay) directly on your website or web app with zero redirection.

Client-Side Drop-in JavaScript (slikpay.js)
Zero Dependencies

Include the Slikpay SDK script tag on your payment page or checkout form:

<script src="https://pay.slikpay.online/v1/slikpay.js"></script>

Trigger seamless inline modal checkout anywhere in your JavaScript:

function payWithSlikpay() {
  Slikpay.setup({
    key: 'pk_live_your_public_api_key',
    email: 'customer@company.com',
    amount: 5000, // Amount in Naira (₦5,000.00)
    currency: 'NGN',
    name: 'Adewale Adeleke',
    channels: ['transfer', 'card', 'ussd', 'opay'],
    onSuccess: function(response) {
      console.log('Payment Settled!', response.reference);
      // Auto-verified on NIBSS rail with crystal chime
      window.location.href = '/order-success?ref=' + response.reference;
    },
    onClose: function() {
      console.log('Customer dismissed checkout modal');
    }
  });
}
POST /v1/gateway/initialize

Initialize Gateway Checkout Session

Generates a hosted authorization URL or iframe checkout session. Returns dedicated dynamic bank transfer coordinates, unique session reference, and USSD dial strings.

Field Type Required Description
amount number Yes Payment amount in NGN (e.g. 5000)
email string Yes Customer email address
channels string[] No ["transfer", "card", "ussd", "opay"]
reference string No Unique merchant tracking reference
{
  "success": true,
  "message": "Checkout session created successfully.",
  "data": {
    "authorization_url": "https://pay.slikpay.online/t?ref=PAD_GW_17913...&amount=5000",
    "reference": "PAD_GW_1791311707_34AB",
    "access_code": "acc_87e1a3b5c4",
    "account_number": "7943128784",
    "bank_name": "Wema Bank",
    "account_name": "slikpay Global Ltd (via Slikpay)",
    "ussd_codes": {
      "GTBank": "*737*2*5000*7943128784#",
      "ZenithBank": "*966*5000*7943128784#"
    }
  }
}
POST /v1/gateway/global/intent

Initialize Global Acquiring Intent (USD, EUR, GBP, CAD, AUD)

Initializes a white-labeled global checkout intent supporting international cards (Visa, Mastercard, American Express with 3DS2), Apple Pay, Google Pay, Buy Now Pay Later (Klarna, Afterpay, Affirm), and automatic local virtual bank transfer coordinates (US ACH/Fedwire, EU SEPA IBAN, UK Bacs). Settles directly into the merchant's multi-currency treasury wallet.

Field Type Required Description
amount number Yes Amount in major units (e.g. 150.00 for $150.00)
currency string Yes 3-letter ISO code: USD, EUR, GBP, CAD, AUD
customerEmail string Yes Customer email for payment confirmation and receipt
customerName string No Full name of the payer (e.g. Jonathan Edwards)
reference string No Unique merchant tracking reference (auto-generated if omitted)
paymentMethods string[] No ["card", "apple_pay", "google_pay", "bank_transfer", "klarna", "afterpay"]
{
  "success": true,
  "message": "Slikpay Global Payment Intent initialized.",
  "data": {
    "intent_id": "pi_pad_94a08bc71e",
    "client_token": "tok_pad_sec_87e1a3b5c4",
    "reference": "PAD_GLB_1792348120_A1",
    "amount": 150.00,
    "currency": "USD",
    "status": "REQUIRES_PAYMENT_METHOD",
    "checkout_url": "https://pay.slikpay.online/t?ref=PAD_GLB_1792348120_A1&currency=USD&amount=150",
    "supported_methods": ["card", "apple_pay", "google_pay", "bank_transfer", "klarna"],
    "bank_transfer_instructions": {
      "rail": "US ACH / Fedwire Wire Transfer",
      "account_number": "0284719283",
      "routing_number": "021000021",
      "bank_name": "JPMorgan Chase / Slikpay Federal Rail"
    },
    "statement_descriptor": "SLIKPAY* SLIKPAY"
  }
}
POST /v1/gateway/bank-debit/charge

Direct Bank Debit (US ACH, EU SEPA & UK Bacs)

Authorizes and pulls funds directly from customer bank accounts globally with compliant mandate tracking. Supports US ACH (Routing/Account), EU SEPA Core Direct Debit (IBAN), and UK Bacs (Sort Code/Account).

Field Type Required Description
amount number Yes Amount to debit
currency string Yes USD (ACH), EUR (SEPA), or GBP (UK Bacs)
customerEmail string Yes Customer email for debit notification
routingNumber string Conditional Required for USD ACH: 9-digit ABA routing number
accountNumber string Conditional Required for USD ACH and GBP Bacs
iban string Conditional Required for EUR SEPA: International Bank Account Number
sortCode string Conditional Required for GBP Bacs: 6-digit UK bank sort code
{
  "success": true,
  "message": "US_ACH_DIRECT_DEBIT authorization mandate accepted.",
  "data": {
    "debit_id": "ach_pad_31f7ac981b",
    "mandate_reference": "MND_ACH_US_1792348120",
    "reference": "PAD_DBT_1792348120_01",
    "rail": "US_ACH_DIRECT_DEBIT",
    "amount": 250.00,
    "currency": "USD",
    "status": "PROCESSING",
    "estimated_settlement": "1-2 Business Days"
  }
}
POST /v1/gateway/card/charge

Nigerian Card & 3D Secure Acquiring

Initializes a direct 3D Secure authorization flow for Mastercard, Visa, and Verve debit/credit cards with bank OTP authentication.

POST /v1/gateway/pan-africa/charge

Pan-African Multi-Currency Acquiring (35 African Countries)

Charge customers seamlessly across Kenya (M-Pesa STK Push), Ghana (MTN MoMo, Telecel), South Africa (Ozow EFT, Capitec), Uganda, Rwanda, CΓ΄te d'Ivoire, Senegal, Cameroon, and Egypt. The gateway auto-detects payment options and currency symbols based on the order currency.

Field Type Required Description
amount number Yes Charge amount in target currency (e.g. 1500)
currency string Yes KES, GHS, ZAR, UGX, RWF, XOF, XAF, TZS, ZMW, EGP, USD
country string Yes 2-letter ISO country code (KE, GH, ZA, UG, RW, CI, SN, CM, TZ, ZM, EG)
customerPhone string Yes Phone number for instant STK Push prompt (e.g. 254712345678)
network string No MPESA, AIRTEL, MTN, TELECEL, WAVE, OZOW, CAPITEC
customerEmail string Yes Customer email for receipt dispatch
curl -X POST https://api.slikpay.online/v1/gateway/pan-africa/charge \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 1500,
    "currency": "KES",
    "country": "KE",
    "network": "MPESA",
    "customerPhone": "254712345678",
    "customerEmail": "customer@nairobi.ke"
  }'
POST /v1/gateway/refunds

Instant Multi-Currency Refunds

Issue full or partial refunds for settled transactions across any currency (USD, EUR, GBP, NGN, KES, GHS, ZAR). Atomically adjusts double-entry ledgers, deducts merchant wallet balance, and executes upstream payment reversal to the customer.

Field Type Required Description
reference string Yes The original transaction reference (e.g. PAD_GLB_1792348120_A1)
amount number No Partial refund amount. If omitted, full transaction amount is refunded.
reason string No requested_by_customer, duplicate, fraudulent
{
  "success": true,
  "message": "Refund processed and settled successfully.",
  "data": {
    "refund_id": "re_pad_78dae39c",
    "transaction_reference": "PAD_GLB_1792348120_A1",
    "amount_refunded": 150.00,
    "currency": "USD",
    "status": "SUCCEEDED",
    "reason": "requested_by_customer",
    "created_at": "2026-10-18T15:20:00.000Z"
  }
}
GET /v1/gateway/verify/:reference

Verify Payment Settlement (Server-to-Server)

Call from your backend using your Secret Key (Authorization: Bearer sk_live_...) to confirm genuine ledger settlement before delivering goods or services.

{
  "success": true,
  "message": "Transaction verified successfully.",
  "data": {
    "reference": "PAD_GW_1791311707_34AB",
    "amount": 5000,
    "currency": "NGN",
    "channel": "BANK_TRANSFER",
    "status": "SUCCESSFUL",
    "customer_name": "Patrick Achua",
    "settled_at": "2026-10-06T18:35:07.000Z"
  }
}
POST /v1/accounts/virtual

Issue Dedicated Customer Virtual NUBAN

Instantly creates a dedicated 10-digit Nigerian NUBAN (Wema Bank or Providus Bank) linked to a specific customer or merchant account. Inbound NIP transfers settle automatically in real time.

Request Body Parameters
Field Type Required Description
accountName string YES Customer or business name appearing on NIP settlement screens.
bvn string OPTIONAL Optional 11-digit customer BVN. If omitted (or when useMerchantBvn: true is passed), the account is automatically issued under your verified Merchant BVN / KYB so your users do not need to enter a BVN.
useMerchantBvn boolean OPTIONAL Set to true (default when bvn is omitted) to issue the virtual account directly under the Merchant's own verified BVN.
customerEmail / email string OPTIONAL Customer email for payment receipts, webhook attribution, and statement dispatches.
customerPhone / phone string OPTIONAL Customer phone number (+234 format).
bank / preferredBank string OPTIONAL Optional preferred bank channel (wema, gtb, sterling, globus). Defaults to automatic priority cascade: Wema Bank → GTBank → Sterling Bank.
201 Created β€” Normalized Response
{
  "success": true,
  "data": {
    "accountNumber": "7947823483",
    "accountName": "Acme FinTech Ltd",
    "bankName": "Wema Bank",
    "bankCode": "035",
    "currency": "NGN",
    "bvnSource": "MERCHANT_BVN",
    "status": "ACTIVE",
    "accountReference": "6ad2a3552505c971873cfd9d",
    "createdAt": "2026-10-16T22:06:37.715Z"
  }
}
POST /v1/payouts

Instant NIP Express Payout Disbursement

Transfers funds instantly from your treasury balance to any Nigerian bank account via NIP instant rails with sub-3 second settlement. When called from your backend server using your Secret API Key (Authorization: Bearer sk_live_...), payouts are authorized directly by your secret keyβ€”no interactive PIN or 2FA prompt is forced.

Request Body Parameters
Field Type Required Description
destinationBankCode (or bankCode) string YES 3-digit CBN bank code (e.g. "058" for GTBank, "035" for Wema Bank, "232" for Sterling).
destinationAccountNumber (or accountNumber) string YES 10-digit NUBAN account number of the recipient.
amount number YES Disbursement amount in Naira (e.g. 50000).
destinationAccountName (or accountName) string OPTIONAL Verified name of the recipient account holder.
narration string OPTIONAL Transfer narration / description (max 100 characters).
withdrawalPin (or pin / transactionPin) string OPTIONAL Optional on server-to-server sk_live_... requests. If omitted, your Secret API Key authorizes the payout automatically. If you choose to include a 4-digit PIN (e.g. "withdrawalPin": "1234" or "pin": "1234", or header X-Withdrawal-Pin: 1234), the server verifies it (or auto-enrolls it if you haven't set one yet).
# Server-to-Server Instant NIP Payout (withdrawalPin is optional with sk_live_...)
curl -X POST https://api.slikpay.online/v1/payouts \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "destinationBankCode": "058", "destinationAccountNumber": "0123456789", "destinationAccountName": "Oluwaseun Adeleke", "amount": 5000, "narration": "Vendor Settlement", "withdrawalPin": "1234" }'
200 OK β€” Payout Result
{
  "success": true,
  "data": {
    "reference": "PO-884120-A9F21C",
    "amount": 5000,
    "currency": "NGN",
    "country": "NG",
    "status": "SUCCESSFUL",
    "destinationBankCode": "058",
    "destinationAccountNumber": "0123456789",
    "destinationAccountName": "Oluwaseun Adeleke",
    "nipSessionId": "99905826100506001298471",
    "transferredAt": "2026-10-16T18:05:12.000Z"
  }
}
POST /v1/cards

Instant Virtual Card Issuing (USD / NGN)

Programmatically issues virtual Visa or Mastercard debit cards for cross-border SaaS, advertising spend (Google/Facebook Ads), and corporate vendor procurement.

200 OK β€” Issued Card Schema
{
  "success": true,
  "data": {
    "id": "crd_8819b2c019",
    "cardholderName": "Babatunde Adeleke",
    "currency": "USD",
    "brand": "VISA",
    "maskedPan": "4111 11** **** 1111",
    "expiry": "10/29",
    "status": "ACTIVE",
    "balance": 250.00
  }
}
POST /v1/cards/physical/order POST /v1/cards/physical/:cardId/activate

Physical EMV Debit Card Issuance & Doorstep Delivery

Produce, laser-engrave, and courier physical Visa or Mastercard chip & PIN debit cards (USD and NGN) via certified EMV card bureaus (SecureID Lagos). Supports doorstep delivery with real-time DHL Express tracking and secure in-app 4-digit ATM PIN activation.

Physical USD Card Fee
$5.00 (₦7,750)
Includes EMV chip & laser engraving
Physical NGN Card Fee
₦1,500 ($1.00)
Interbank Verve/Mastercard chip card
Courier Shipping Options
₦3,000 (Std) / ₦10,000 (DHL)
1-2 days priority with live GPS tracking
POST /v1/cards/physical/order β€” Order & Transmit to Bureau
curl -X POST https://api.slikpay.online/v1/cards/physical/order \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "cardholderName": "Patrick Achua",
    "currency": "USD",
    "brand": "VISA",
    "cardDesign": "OBSIDIAN_BLACK",
    "shippingMethod": "EXPRESS_DHL",
    "amount": 50,
    "recipientName": "Patrick Achua",
    "recipientPhone": "+2348026990956",
    "street": "14 Admiralty Way",
    "city": "Lekki Phase 1",
    "state": "Lagos",
    "country": "NG"
  }'
POST /v1/cards/physical/:cardId/activate β€” In-App Hardware PIN Setup
curl -X POST https://api.slikpay.online/v1/cards/physical/crd_phy_1792493390839/activate \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "last4": "7875",
    "pin": "4829"
  }'
GET /v1/accounts/banks POST /v1/accounts/resolve

Commercial Bank Directory & NIP Name Inquiries

Resolve 10-digit NUBAN account numbers to verified recipient names before initiating payouts to eliminate misdirected funds.

POST /v1/accounts/resolve β€” 200 OK
{
  "success": true,
  "data": {
    "accountNumber": "0123456789",
    "accountName": "CHUKWUEMEKA CHIDIEBERE OKONKWO",
    "bankCode": "058",
    "bankName": "Guaranty Trust Bank"
  }
}
POST /v1/payouts/bulk

Bulk Batch Disbursements & Automated Payroll

Execute hundreds of instant disbursements in a single atomic batch payload with automatic fee deduction and per-recipient tracking.

200 OK β€” Batch Summary
{
  "success": true,
  "data": {
    "batchReference": "BULK_1791180400_A1",
    "totalItems": 120,
    "totalAmount": 4500000.00,
    "successfulDisbursements": 120,
    "failedDisbursements": 0
  }
}
POST /v1/cards/:cardId/controls

Card Spend Velocity & MCC Category Controls

Granularly configure daily spending ceilings, monthly limits, and toggle authorization channels (e-commerce, SaaS, travel, ATM).

curl -X POST https://api.slikpay.online/v1/cards/crd_8819b2c019/controls \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "dailyLimit": 1000, "monthlyLimit": 15000, "allowOnline": true, "allowAtm": false }'
POST /v1/bills/airtime/topup

Instant VTU Airtime & High-Speed Mobile Data

Vend airtime and corporate data bundles across all Nigerian telco networks (MTN, Glo, Airtel, 9mobile) with up to 3% wholesale margin discounts.

200 OK β€” VTU Result
{
  "success": true,
  "data": {
    "reference": "VTU_1791180512_MTN",
    "operator": "MTN",
    "phone": "+2348031234567",
    "amount": 2000.00,
    "discountedCost": 1940.00,
    "status": "DELIVERED"
  }
}
POST /v1/bills/electricity/recharge

Prepaid Electricity Token Generation (DisCos)

Recharge prepaid and postpaid electricity meters across all Nigerian distribution companies (IKEDC, EKEDC, AEDC, IBEDC, EEDC, KEDCO) with instant 20-digit token generation.

200 OK β€” DisCo Token
{
  "success": true,
  "data": {
    "disco": "IKEDC",
    "meterNumber": "01482938102",
    "token": "9482-1049-3829-1048-2918",
    "units": "142.4 kWh",
    "amount": 10000.00
  }
}
GET /v1/bills/cable/plans POST /v1/bills/cable/renew

Cable TV Subscriptions (DSTV, GOTV, Startimes, Showmax)

Validate customer IUC/Smartcard numbers and instantly renew cable television bouquets with automatic decoder error clearing.

curl -X POST https://api.slikpay.online/v1/bills/cable/renew \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "provider": "DSTV", "smartcardNumber": "7028192831", "planCode": "dstv-compact", "amount": 15700 }'
GET /v1/bills/betting/operators POST /v1/bills/betting/fund

Sports Betting Wallet Funding

Validate customer bettor IDs and instantly fund gaming balances across SportyBet, Bet9ja, BetKing, 1xBet, and BangBet.

curl -X POST https://api.slikpay.online/v1/bills/betting/fund \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "operator": "SPORTYBET", "customerId": "8031234567", "amount": 5000 }'
GET /v1/bills/giftcards POST /v1/bills/giftcards/order

Global Digital Gift Cards Catalog & Instant Issuance

Purchase global digital gift cards (Apple, Amazon, Google Play, Steam, PlayStation, Netflix, Xbox) with instant voucher PIN delivery.

curl -X POST https://api.slikpay.online/v1/bills/giftcards/order \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "productId": "apple-us-50", "amount": 50, "currency": "USD", "recipientEmail": "customer@company.com" }'
NDC / GDS RAIL 300+ AIRLINES WHOLESALE PRICING

Global Flight Search & Electronic Ticketing

Query real-time flight inventory across 300+ global airlines (Emirates, Qatar Airways, British Airways, RwandAir, Kenya Airways, United, KLM, Lufthansa, Air France, Delta, etc.) with live baggage allowances, cabin tiers, and wholesale partner rates. Issue confirmed airline PNRs and 13-digit e-tickets atomically debited from your Available Spend Wallet.

Spend Wallet Equity Enforcement: Flight bookings require pre-funded cleared equity in your business Spend Wallet (USD or NGN). Before issuing any ticket, the system atomically verifies that your Available Spend Balance is greater than or equal to the fare amount. If balance is insufficient, the request returns 402 INSUFFICIENT_WALLET_EQUITY. In the event of an upstream airline decline, the held fare is automatically refunded back to your spend balance with zero friction.
POST /v1/flights/search

Initiate a multi-airline live search. By default, waitForResults: true will poll the NDC network and return aggregated offers directly in the response.

Request Body (JSON)
{
  "origin": "LOS",
  "destination": "LHR",
  "departureDate": "2026-11-20",
  "returnDate": "2026-11-28",
  "adults": 1,
  "cabinClass": "economy",
  "waitForResults": true
}
Sample Response (200 OK)
{
  "success": true,
  "data": {
    "searchId": "c40728e1-8b6d-4513-8e31-f72565dec13c",
    "status": "succeeded",
    "flightsCount": 10,
    "flights": [
      {
        "id": "off_034ka1V9eHUwPMiTVmqMC0",
        "owner": { "name": "RwandAir", "iata_code": "WB" },
        "total_amount": "439.62",
        "total_currency": "USD",
        "slices": [...]
      }
    ]
  }
}
POST /v1/flights/orders

Issue an electronic airline ticket for a selected offer. Automatically debits your spend wallet.

Request Body (JSON)
{
  "offer_id": "off_034ka1V9eHUwPMiTVmqMC0",
  "amount": 439.62,
  "currency": "USD",
  "clientReference": "PDL-FLT-10029",
  "passengers": [
    {
      "title": "mr",
      "given_name": "Tunde",
      "family_name": "Adekunle",
      "born_on": "1992-04-18",
      "gender": "m",
      "email": "tunde.adekunle@example.com",
      "phone_number": "+2348031234567"
    }
  ]
}
Success Response (200 OK)
{
  "success": true,
  "message": "Flight ticket issued successfully",
  "data": {
    "bookingId": "ord_0000A1234B",
    "reference": "PDL-FLT-10029",
    "status": "confirmed",
    "ticketNumbers": ["085-2412891230"],
    "passengers": [
      { "name": "Tunde Adekunle", "email": "tunde.adekunle@example.com" }
    ]
  }
}

Insufficient Spend Wallet Equity (402 Payment Required)

If your Available Spend Wallet balance is below the total required ticket fare, the issuance is safely blocked with a transparent breakdown:

{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_WALLET_EQUITY",
    "message": "Insufficient USD wallet equity to issue flight ticket. Required: $439.62, Available: $0.00. Please fund your USD Available Spend Wallet."
  }
}
POST /v1/identity/cac

CAC Advance Corporate Registry Lookup

Real-time querying of the Corporate Affairs Commission (CAC) database. Returns registered business status, incorporation date, active directors, and registered address.

200 OK β€” CAC Entity
{
  "success": true,
  "data": {
    "rcNumber": "RC-1928471",
    "companyName": "SLIKPAY TECHNOLOGIES LIMITED",
    "registrationDate": "2022-04-14",
    "status": "ACTIVE",
    "city": "Lagos",
    "directors": [
      { "name": "BABATUNDE ADELEKE", "role": "Managing Director" }
    ]
  }
}
POST /v1/identity/bvn POST /v1/identity/nin

BVN, NIN & Pan-African Identity Verification

Verify 11-digit Bank Verification Numbers (BVN), National Identity Numbers (NIN), and Pan-African KYC documents (Ghana Card, Kenya KRA PIN / National ID, South Africa Smart ID) with AML/PEP watchlist screening.

curl -X POST https://api.slikpay.online/v1/identity/bvn \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "bvn": "22222222222" }'
POST /v1/otp/send

Dual-Channel 2FA Authentication (SMS & Voice Call)

Dispatch 4 or 6 digit verification tokens with automatic DND bypass. Supports both high-speed SMS delivery and interactive text-to-speech Voice calls.

# Send OTP with Voice phone call channel fallback
curl -X POST https://api.slikpay.online/v1/otp/send \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "to": "+2348012345678", "channel": "voice", "pinLength": 6 }'
POST /v1/open-banking/auth GET /v1/open-banking/accounts

Open Banking Account Linking & Statement Sync

Link customer commercial bank accounts to retrieve real-time balances, authenticated 12-month bank statements, and verified account holder identity for credit underwriting.

curl -X GET https://api.slikpay.online/v1/open-banking/accounts \
  -H "Authorization: Bearer sk_live_..."
POST /v1/escrow/create GET /v1/escrow

Programmable Multi-Milestone Smart Escrow

Lock buyer funds in an audited escrow vault and release disbursements programmatically across verified delivery milestones, with built-in dispute arbitration and refund protection.

curl -X POST https://api.slikpay.online/v1/escrow/create \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "title": "B2B Equipment Supply", "buyerEmail": "buyer@company.com", "sellerEmail": "vendor@supplier.ng", "amount": 500000, "currency": "NGN", "inspectionDays": 3 }'
CORE ARCHITECTURE LIQUIDITY RAILS & CLEARING

Treasury Wallet vs. Available Spend Wallet

Slikpay BaaS operates on an institutional dual-balance liquidity model. It strictly differentiates between Direct Bank Top-Ups (T+0 Instant Cleared Cash) and Payment Gateway Acquiring (T+3 Interchange Clearing), paired with Developer Operational Liquidity Pools for 100% API uptime.

Component Settlement Inflow Rails Clearing Timeline Chargeback / Reversal Risk Capabilities & Utilization
Available Spend Wallet
walletBalance / balance
Direct Interbank Wires (Wema NIP, Fedwire, ACH Push, UK FPS, SEPA Instant, On-Chain USDT) T+0 (Instant Finality) None (Irrevocably Cleared Bank Cash) Immediately spendable: API Card Issuing, Real-Time Payouts, Airtime/Utilities, Service debits.
In-Clearing Vault
pendingBalance
Payment Gateways, Visa/Mastercard 3DS, Apple Pay, Google Pay, BNPL (Klarna/Affirm) T+3 Business Days High (60-120 day card scheme dispute window) Protected reserve. Auto-sweeps to Spend Wallet at maturity. Can be accelerated via express cashout.
Treasury Vault (Total)
Spend + In-Clearing + Reserves
Consolidated Portfolio across all 11 global currency rails Continuous Real-Time Fully collateralized Total capital base, developer safety float sentinel, and FX auto-sweep liquidity buffer.

Developer Liquidity Pools & Sentinel Alerts

Developers building fintech apps (cards, wallets, payouts) on our API maintain pre-funded operational liquidity pools. The Treasury Sentinel monitors balances in real-time. If available spend float drops below your configured minThreshold, automated webhook alerts and emails are triggered before transactions decline.

πŸ‡³πŸ‡¬ NGN Operational Pool
Powers instant NIP payouts, airtime, and DisCo power recharge.
Default Buffer: ₦250,000.00
πŸ‡ΊπŸ‡Έ USD Card Float
Powers virtual Visa/Mastercard creation and real-time merchant debits.
Default Buffer: $250.00
🌐 USDT Stablecoin Pool
Powers crypto deposit address generation and sub-second fiat swaps.
Default Buffer: 500 USDT
GET /v1/wallet/balance β€” Check Spend vs. In-Clearing Balances
curl -X GET https://api.slikpay.online/v1/wallet/balance
  -H "Authorization: Bearer sk_live_..."
View Response Payload
{
  "success": true,
  "data": {
    "currency": "NGN",
    "availableBalance": 8689.50,
    "pendingBalance": 0.00,
    "totalTreasury": 8689.50,
    "clearingRail": "T+0 Instant Cleared Bank Cash",
    "multiCurrency": [
      { "currency": "USD", "balance": 0.00, "pendingBalance": 0.00 },
      { "currency": "GBP", "balance": 0.00, "pendingBalance": 0.00 },
      { "currency": "EUR", "balance": 0.00, "pendingBalance": 0.00 },
      { "currency": "USDT", "balance": 0.00, "pendingBalance": 0.00 }
    ]
  }
}
GET /v1/treasury/pools β€” Developer Float Health & Thresholds
curl -X GET https://api.slikpay.online/v1/treasury/pools
  -H "Authorization: Bearer sk_live_..."
POST /v1/treasury/thresholds β€” Configure Safety Threshold Watermarks
curl -X POST https://api.slikpay.online/v1/treasury/thresholds
  -H "Authorization: Bearer sk_live_..."
  -H "Content-Type: application/json"
  -d '{ "NGN": { "minThreshold": 50000, "targetBuffer": 250000, "autoRebalance": false }, "USD": { "minThreshold": 50, "targetBuffer": 250, "autoRebalance": true }, "USDT": { "minThreshold": 100, "targetBuffer": 500, "autoRebalance": false } }'
POST /v1/treasury/sweep-clearing β€” Execute Maturity Sweep of T+3 Gateway Funds
curl -X POST https://api.slikpay.online/v1/treasury/sweep-clearing
  -H "Authorization: Bearer sk_live_..."
GET /v1/wallet/balance GET /v1/ledger/statements

Treasury Wallets & Double-Entry General Ledger

Query real-time multi-currency treasury balances, immutable double-entry journal postings (Debits = Credits), and cryptographic trial balance proofs.

curl -X GET https://api.slikpay.online/v1/wallet/balance \
  -H "Authorization: Bearer sk_live_..."
SPECIFICATION STATUS CODES

Standard Error Handling

All client and server errors follow RFC 7807 problem details with normalized error codes.

HTTP Status Error Code Meaning
200 OK SUCCESS Request processed successfully.
400 Bad Request INVALID_PAYLOAD Required attributes missing or failed type validation.
401 Unauthorized INVALID_API_KEY Missing or revoked Bearer secret token.
402 Payment Required INSUFFICIENT_FUNDS Treasury wallet balance is below transaction requirement.
429 Too Many Requests RATE_LIMIT_EXCEEDED Request velocity exceeded plan tier ceiling (e.g. 50 req/sec).

Rate Limit Headers

Every response includes RFC 6585 headers detailing current quota:

X-RateLimit-Limit: 600 // Requests permitted per rolling window
X-RateLimit-Remaining: 584 // Available requests left
X-RateLimit-Reset: 1791478900 // Epoch seconds until quota resets
POST /v1/accounts/global

Foreign & Domiciliary Accounts (USD, EUR, GBP, GHS, KES)

Programmatically issue multi-currency accounts with local routing details (ACH / ABA for USD, SEPA IBAN for EUR, Sort Code for GBP, GHIPSS for GHS, PesaLink for KES). Funds credit automatically to your enterprise treasury.

# Provision a dedicated US Dollar account
curl -X POST https://api.slikpay.online/v1/accounts/global \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "currency": "USD", "accountName": "Acme Global Ventures LLC", "country": "US" }'
{
  "success": true,
  "data": {
    "accountNumber": "9821034928",
    "routingNumber": "021000021",
    "bankName": "Evolve Bank & Trust",
    "currency": "USD",
    "accountName": "Acme Global Ventures LLC",
    "status": "ACTIVE"
  }
}
POST /v1/crypto/address

Crypto Stablecoin Wallets (USDT, USDC)

Generate dedicated on-chain deposit addresses across TRC-20 and Polygon networks with real-time settlement and QR payloads.

# Generate a TRC-20 USDT deposit address
curl -X POST https://api.slikpay.online/v1/crypto/address \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "currency": "USDT", "network": "TRC20" }'
POST /v1/crypto/swap

Instant Crypto-to-Fiat Swap Desk

Execute atomic liquidation of incoming crypto into settled NGN or USD treasury balances with zero market slippage.

# Liquidate 500 USDT into NGN wallet
curl -X POST https://api.slikpay.online/v1/crypto/swap \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "fromCurrency": "USDT", "toCurrency": "NGN", "amount": 500 }'
POST /v1/payouts/tuition

Cross-Border University Tuition Rail

Direct student tuition settlement to universities in the UK, US, Canada, and Europe matching Flywire and Convera institutional wire protocols.

# Disburse university tuition payment (UK / US / Canada)
curl -X POST https://api.slikpay.online/v1/payouts/tuition \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "institutionName": "University of Manchester", "studentId": "STU-901284", "studentFullName": "Oluwaseun Adeleke", "amount": 2500, "destinationCurrency": "GBP", "country": "GB", "beneficiaryIbanOrAccount": "GB29NWBK60161331926819", "swiftBic": "NWBKGB2L" }'
{
  "success": true,
  "data": {
    "reference": "TUT-849201-9F2A1B",
    "status": "SUCCESSFUL",
    "institutionName": "University of Manchester",
    "studentId": "STU-901284",
    "studentFullName": "Oluwaseun Adeleke",
    "amount": 2500,
    "destinationCurrency": "GBP",
    "trackingReference": "TUT-849201-9F2A1B"
  }
}
POST /v1/bills/remita/pay

Remita RRR & FIRS Statutory Tax Payments

Lookup and settle Remita Retrieval Reference (RRR) invoices, MDAs, TSA collections, and Federal Inland Revenue Service (FIRS) tax assessments programmatically.

# Validate and pay Remita RRR
curl -X POST https://api.slikpay.online/v1/bills/remita/pay \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "rrr": "1100-2918-3819", "amount": 25000 }'
GET / POST /v1/security/scoped-keys

Scoped API Keys & Production IP Whitelisting

Enforce institutional security policies by pinning API credentials to authorized CIDR blocks and issuing granular scoped keys (e.g. read-only ledgers, payout-only runners).

# Whitelist production IP range
curl -X POST https://api.slikpay.online/v1/security/ip-whitelist \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "ips": ["197.210.84.12", "102.89.23.0/24"] }'
GET / POST /v1/counterparties

Counterparties & Saved Beneficiaries Directory

Store verified supplier, vendor, and payroll bank accounts to automate repetitive bulk disbursements without recurring name lookups.

# Create a reusable counterparty beneficiary
curl -X POST https://api.slikpay.online/v1/counterparties \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "Dangote Cement Logistics", "bankCode": "058", "accountNumber": "0123456789" }'
GET / POST /v1/disputes

Disputes, Chargebacks & Evidence Defense

Track customer chargebacks raised on card or NIP rails. Accept refunds or upload proof of delivery to overturn claims.

# Resolve dispute with defense proof
curl -X POST https://api.slikpay.online/v1/disputes/DSP_98124/resolve \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "resolutionType": "DEFENDED", "notes": "Waybill signed by customer" }'
GET / POST /v1/team/invite

Team Management & Access Roles

Programmatically invite engineering and operations teammates, assign RBAC roles (ADMIN, DEVELOPER, FINANCE, AUDITOR), and enforce multi-user governance.

# Invite a developer or finance teammate
curl -X POST https://api.slikpay.online/v1/team/invite \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "Adaobi Nnaji", "email": "adaobi@company.com", "role": "DEVELOPER" }'
POST /v1/integrations/slack-discord

Real-Time Slack & Discord Alerts

Dispatch instant notifications to engineering or treasury channels when high-value payments settle, large payouts trigger, or KYC updates occur.

# Configure Slack incoming webhook
curl -X POST https://api.slikpay.online/v1/integrations/slack-discord \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "channel": "slack", "webhookUrl": "https://hooks.slack.com/services/...", "events": ["payment.succeeded", "payout.failed"] }'
TURNKEY ENGINEERING LAUNCH IN 14–28 DAYS

Build With Us β€” Turnkey FinTech & Product Engineering

Don't have an in-house engineering team, or want to launch your financial product 5x faster? Slikpay Build With Us pairs your business with our principal FinTech engineers to design, build, test, and deploy your complete web and mobile solution (iOS, Android & Web Admin Console) directly on top of Slikpay's licensed BaaS infrastructureβ€”with 100% source code ownership, white-label branding, and CBN/PCI-DSS compliance baked in.

3–4 WEEKS neobank-wallet

1. Digital Neobank & Wallet App

Full iOS/Android & Web digital bank with dedicated commercial Wema/GTBank/Sterling NUBANs, instant NIP transfers, USD/NGN virtual cards, and biometric KYC.

2–3 WEEKS vtu-bills-betting-superapp

2. VTU, Bills & Betting Super-App

High-margin consumer utility app with automated wallet funding, VTU airtime/data, prepaid DisCo electricity tokens, DSTV/GOTV, sports betting & gift cards.

3–5 WEEKS payment-gateway-pos

3. White-Label Payment Gateway & POS

Merchant acquiring platform with inline checkout modal, payment links, dynamic QR SoftPOS, voicebox audio alerts, and T+0 instant settlement.

3–4 WEEKS crypto-fx-remittance

4. Crypto & Cross-Border FX Desk

Multi-currency treasury & remittance app with USD/EUR/GBP accounts, USDT/USDC deposit wallets, instant crypto-to-NGN swap, and global tuition/supplier wires.

3–5 WEEKS escrow-marketplace-lending

5. Marketplace Escrow & Lending

Programmable multi-milestone escrow platform or digital credit/BNPL app with Open Banking bank statement underwriting and automated repayment sweeps.

1–3 WEEKS custom-enterprise-integration

6. Custom Enterprise & ERP Integration

Dedicated engineering squad to integrate Slikpay BaaS into your existing ERP, e-commerce store, hospital/school portal, or custom SaaS idea.

GET /v1/build-with-us/services
β€’
POST /v1/build-with-us/inquire

Programmatically query our turnkey engineering catalog, delivery SLAs, and tech stack via GET /v1/build-with-us/services, or submit a project scoping & quote request directly via POST /v1/build-with-us/inquire.

# Submit a Build With Us project scoping & engineering inquiry
curl -X POST https://api.slikpay.online/v1/build-with-us/inquire \
  -H "Content-Type: application/json" \
  -d '{ "fullName": "Tunde Bakare", "companyName": "NovaPay Africa Ltd", "email": "tunde@novapay.ng", "phone": "+2348031234567", "serviceId": "neobank-wallet", "timeline": "3-4 Weeks", "projectDescription": "We want to launch a mobile wallet app with Wema/GTB virtual accounts, virtual USD cards, and instant bill payments." }'
TEST RUNNER INTERACTIVE CONSOLE

Interactive Endpoint Runner

Execute real GET and POST requests against https://api.slikpay.online/v1 directly from your browser. Public endpoints work immediately without a key; paste your sk_test_... or sk_live_... key to test authenticated treasury, virtual accounts, payouts, cards, bills, identity, and escrow endpoints.

HTTP Status: Ready Latency: β€”
// Click "Send" to execute this request live against https://api.slikpay.online...