API Marketplace & BaaS

Developer Portal

The ID.Banking developer portal provides everything fintechs and partners need to build on our platform — from interactive API documentation to production-ready sandbox environments.

API Documentation

Full OpenAPI 3.1 specifications with interactive try-it-now capability:

# Authenticate and retrieve an API key
curl -X POST https://api.banking.iconicdev.co.za/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{"client_id": "your-app-id", "client_secret": "your-secret"}'
{
  "access_token": "eyJhbGciOiJSUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "accounts:read payments:write"
}

Sandbox Environment

Every developer account includes a fully isolated sandbox with:

  • Pre-seeded test accounts across multiple currencies (ZAR, KES, NGN, GHS)
  • Simulated payment rail responses with configurable latency and failure modes
  • Webhook testing console for real-time event inspection
  • Rate-limited production mirror for realistic load testing

Sample Integration

Initiate a cross-border payment in three API calls:

import { IDBanking } from '@idbanking/sdk';

const client = new IDBanking({
  apiKey: process.env.IDBANKING_API_KEY,
  environment: 'sandbox'
});

// 1. Get a quote for the corridor
const quote = await client.fx.getQuote({
  sourceCurrency: 'ZAR',
  destinationCurrency: 'KES',
  amount: 15000,
  rail: 'papss'
});

// 2. Initiate the payment
const payment = await client.payments.create({
  quoteId: quote.id,
  sender: { accountId: 'acc_sender_123' },
  beneficiary: {
    name: 'Jane Mwangi',
    mobile: '+254712345678',
    rail: 'mpesa'
  }
});

// 3. Monitor settlement status
const status = await client.payments.getStatus(payment.id);
// => { state: 'settled', settledAt: '2024-11-15T10:32:01Z' }

Widget Ecosystem

Embeddable, white-label banking components that partners can drop into their applications with minimal frontend effort.

Available Widgets

WidgetDescriptionIntegration
Account BalanceReal-time balance display with currency formatting<idb-balance>
Payment FormPre-built payment initiation with rail selection<idb-pay>
Transaction HistoryPaginated, filterable transaction list<idb-transactions>
KYC FlowGuided identity verification with document upload<idb-kyc>
Card ManagementVirtual/physical card issuance and controls<idb-cards>

Widget Integration

<!-- Drop-in banking widget with 3 lines of code -->
<script src="https://widgets.idbanking.co.za/v1/loader.js"></script>
<idb-pay
  api-key="pk_live_abc123"
  theme="dark"
  rails="payshap,mpesa,mtn-momo"
  currency="ZAR"
  on-complete="handlePaymentComplete"
/>

Widgets are:

  • Framework-agnostic — Web Components that work in React, Angular, Vue, or vanilla HTML
  • Themeable — match your brand with CSS custom properties
  • Accessible — WCAG 2.1 AA compliant out of the box
  • Localized — 12 African languages supported

API Monetization

Our revenue-sharing model aligns platform growth with partner success.

Pricing Tiers

TierMonthly API CallsRevenue ShareSupport
BuilderUp to 10,000Community
Scale10,001 – 500,00070/30 (partner/platform)Priority email
Enterprise500,000+80/20 (partner/platform)Dedicated CSM

Monetization Model

Partners earn revenue by:

  • Embedding widgets — per-transaction fee split on payments processed through partner widgets
  • API resale — white-label the platform APIs under partner branding with margin control
  • Value-added services — build and publish custom modules to the marketplace, earning per-activation fees

Developer Economics

  • Zero upfront integration cost on the Builder tier
  • Transparent, real-time revenue dashboard
  • Monthly automated payouts via the partner’s preferred rail
  • No minimum commitment or lock-in period

Open Banking Gateway

PSD2 and FSCA-compliant open banking infrastructure enabling account aggregation, payment initiation, and consent management.

Compliance Framework

StandardJurisdictionStatus
PSD2 / PSD3EU (passported)Compliant
FSCA Conduct StandardSouth AfricaCompliant
Open Banking NigeriaNigeria (CBN)In progress
Ghana Open APIGhana (BoG)Planned
// Request account access consent
const consent = await client.openBanking.createConsent({
  permissions: ['accounts:read', 'transactions:read', 'balances:read'],
  expiresIn: '90d',
  frequencyPerDay: 4,
  validAccount: { iban: 'ZA93ABSA0000001234567890' }
});

// Redirect user to authorize
// => https://auth.idbanking.co.za/consent/cns_abc123

Gateway Capabilities

  • Account Information Service (AIS) — aggregate balances and transactions across institutions
  • Payment Initiation Service (PIS) — initiate payments from third-party accounts with strong customer authentication
  • Confirmation of Funds (CoF) — verify sufficient balance without exposing account details
  • Event Notifications — real-time webhooks for account changes and payment status updates

Security

  • OAuth 2.0 with PKCE for public clients
  • Mutual TLS (mTLS) for server-to-server communication
  • Qualified certificates (QSeal/QWac) for TPP identification
  • Consent audit trail with immutable event log