API Integrations

Build powerful payment features into your product

IcadPay provides a clean, well-documented RESTful API that lets developers embed bill payments, payment gateways, and transaction management directly into their applications.

1Getting started in 4 steps

  • Create a free developer account at portal.icadpay.com
  • Navigate to Settings → API Keys to generate your test (sandbox) keys
  • Use the sandbox environment to build and test your integration
  • Request production access once testing is complete — your live keys are activated after review

2What the API supports

Our API endpoints cover the full range of IcadPay services:

  • Bill payments — airtime, data, electricity, cable TV, education
  • Customer / account validation (e.g. meter number lookup)
  • Transaction initiation and status polling
  • Webhook registration for real-time event notifications
  • Balance and account management

3Sandbox environment

The sandbox is a full-featured replica of the production environment using test credentials. No real money is moved. Use it to:

  • Simulate successful and failed transactions
  • Test your webhook endpoints
  • Verify customer validation flows
  • Load test within the sandbox rate limits

Sandbox API keys start with 'test_'. Never use test keys in production.

4Rate limits

  • Sandbox: 200 requests per minute
  • Production Standard: 100 requests per minute
  • Production Business: 500 requests per minute
  • Enterprise plans: custom limits available on request

Frequently Asked Questions

Common questions about api integrations

Full API documentation, including endpoint references, code samples in Node.js, PHP, and Python, and integration guides, is available at docs.icadpay.com.

All requests must include your API key in the Authorization header as a Bearer token: 'Authorization: Bearer YOUR_API_KEY'. Keep your keys secret — never expose them in client-side code.

Register a publicly accessible HTTPS URL in your dashboard. IcadPay will POST a JSON payload to that URL whenever a transaction event occurs (e.g. payment.success, payment.failed). Always verify the signature header to confirm the request came from IcadPay.

IcadPay retries failed webhook deliveries up to 5 times with exponential backoff (1min, 5min, 30min, 2hrs, 6hrs). You can also manually re-trigger any webhook from the dashboard.

Yes. Official SDKs are available for Node.js (npm), PHP (Composer), and Python (pip). Community SDKs may be available for other languages — check our GitHub organisation.

Open an issue on our GitHub repository or email api-support@icadpay.com. We aim to respond to all developer queries within one business day.

Still have questions?

Our support team is available every day from 8 am to 10 pm.

Live chat

Under 2 min

Email

Under 2 hrs

Phone support

Via portal