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
| Widget | Description | Integration |
|---|---|---|
| Account Balance | Real-time balance display with currency formatting | <idb-balance> |
| Payment Form | Pre-built payment initiation with rail selection | <idb-pay> |
| Transaction History | Paginated, filterable transaction list | <idb-transactions> |
| KYC Flow | Guided identity verification with document upload | <idb-kyc> |
| Card Management | Virtual/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
| Tier | Monthly API Calls | Revenue Share | Support |
|---|---|---|---|
| Builder | Up to 10,000 | — | Community |
| Scale | 10,001 – 500,000 | 70/30 (partner/platform) | Priority email |
| Enterprise | 500,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
| Standard | Jurisdiction | Status |
|---|---|---|
| PSD2 / PSD3 | EU (passported) | Compliant |
| FSCA Conduct Standard | South Africa | Compliant |
| Open Banking Nigeria | Nigeria (CBN) | In progress |
| Ghana Open API | Ghana (BoG) | Planned |
Consent Management
// 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