Appearance
Bill Presentment SDK
The Bill Presentment SDK is an embeddable component that lets client applications (banks, e-wallets) show Malaysian users their outstanding bills and select which to pay. The SDK handles bill discovery and selection; the client handles payment through their own rails.
How It Works
- Your backend creates a session via
POST /v2/sdk/sessions - Your frontend opens the SDK with the returned
session_token - SDK shows bills in an iframe/WebView, user selects which to pay
- SDK returns the selection to your app via
postMessage - Your app handles payment through its own rails
Supported Platforms
| Platform | Package | Display Mode |
|---|---|---|
| Web (browsers) | @iimmpact-sdn-bhd/billpresentment-sdk | Modal, fullscreen, or inline iframe |
| React Native | @iimmpact-sdn-bhd/billpresentment-sdk-react-native | Fullscreen or modal WebView |
What the SDK Does
- Creates a scoped bill-selection session from your backend using existing B2B API Key + HMAC auth
- Displays the user's registered bill accounts and loads outstanding amounts progressively
- Shows retry actions for bills whose outstanding lookup fails
- Returns selected bills with JomPAY payment fields (
billerCode,billerName,ref1,ref2,amount) and user details (fullName,icNumber)
What the SDK Does NOT Do
- Payment processing — the client app handles payment through its own rails
- User registration — bill accounts are pre-registered via IIMMPACT
- Separate SDK credential management — no
client_id/client_secret, no secret rotation flow - Custom origin allowlists — CORS is open; security relies on session scoping + token validation
Next Steps
- Quickstart — Get up and running in 10 minutes
- Authentication — Understand API Key + HMAC session auth and session token behavior
- Web SDK — Browser integration guide
- React Native SDK — Mobile integration guide
- Error Handling — Handle cancellation, expired sessions, and network errors
