You’ll need your API key, HMAC username, and HMAC secret to follow this guide. These are provisioned by your Ingo integration manager at onboarding. See Authentication for the full signing guide.
IngoPay + Banking work together. Inbound and outbound transactions — funding a sub-merchant’s account, issuing disbursements — are handled through the IngoPay API. The Banking Platform manages entity onboarding, account issuance, internal book transfers, and ledger reporting. Both APIs use the same HMAC-SHA512 signing.
Environments
| Environment | Base URL |
|---|---|
| Sandbox | https://api.sdev.banking.ingopayments.tech/api/v4 |
| Production | https://api.banking.ingopayments.tech/api/v4 |
Steps
Step 1 — Authenticate your requests
Step 1 — Authenticate your requests
Every Banking Platform request requires two things: your API key and an HMAC-SHA512 signature. The API key identifies your program; the signature proves the request body hasn’t been tampered with. Both are required on every call — a valid API key alone will not work.Pass your API key in the request body alongside your other fields:Then sign the request using HMAC-SHA512. The signing process is identical to the IngoPay API — see Authentication for the full step-by-step guide.
Step 2 — Create a user
Step 2 — Create a user
Create an individual user entity. This establishes the entity in your program and returns a Successful response:Store the
user_id you’ll use in all subsequent calls. The entity is created with kyc_status: "not_started" — no accounts or transactions are available yet.user_id — you’ll need it for every subsequent call.Step 3 — Submit for KYC verification
Step 3 — Submit for KYC verification
Submit the user for identity verification. Ingo routes the request to a third-party verification provider. In most cases verification completes same-day. In some cases, Ingo may reach out to your team to request additional documentation or corrections before the entity can be cleared.A successful submission returns an updated
kyc_status:Step 4 — Check verification status
Step 4 — Check verification status
Poll for the verification result, or listen for the Response once verified:
user.kyc.success / user.kyc.failed webhook. Do not proceed to account issuance until kyc_status is "verified".kyc_status | Meaning |
|---|---|
not_started | Verification not yet submitted |
in_review | Submitted, awaiting result |
verified | Confirmed — entity can receive accounts |
failed | Verification failed — contact your integration manager |
Prefer webhooks over polling in production. Configure your endpoint with your Ingo integration manager and handle
user.kyc.success to avoid unnecessary polling.Step 5 — Issue a routable bank account
Step 5 — Issue a routable bank account
Once Successful response:
kyc_status is "verified", issue a routable bank account. The account receives real account and routing numbers capable of accepting external ACH transfers and wires.What’s next
Business Onboarding
The business KYB flow — create a business, add owners, upload documents, and submit for verification.
Internal Transfers
Move funds between entities within your program using book transfers.
Authentication
Full two-layer auth guide — API key placement and HMAC-SHA512 signing.
Webhooks
Real-time event notifications for KYC/KYB, account issuance, and transaction updates.