doit
Product · Platform

Open payments to your customers through one API

For SaaS, billing vendors, and aggregators: register each of your customers as a sub-merchant from the dashboard or through the API, let us handle their verification and settlement, and keep your app as the only interface they ever see.

Capabilities

Sub-merchants without building anything

One integration for all of your customers. Four things you would normally build yourself, already done.

Register from the dashboard or the API

One click in the dashboard or one API request creates a sub-merchant account: sandbox active instantly, production unlocked once verification completes. Businesses and individuals alike (just an ID card, a selfie, and proof of bank account; tax number optional).

Verification handled by us

Each sub-merchant gets a verification link to display inside your app. Data entry, document upload, and review are handled by doit.id. Status changes are delivered to your server as webhooks.

Headless by default

Your sub-merchants never have to see doit.id: pull transactions and payout status through the API and render them in your own app. A dashboard for sub-merchants is available as an option, never a requirement.

Payouts with zero code

There is no balance for you to withdraw. Settlement runs automatically to each sub-merchant's bank account; your app simply reads the status through the API. Accounts lock after registration, so the destination of funds can never be quietly redirected.

Not a platform, but you own several companies? You do not need sub-merchants. Any doit.id account can add its own additional business entities from the Business entities menu: KYC and payout account per entity, one integration.
Money flow

Straight to bank accounts, no idle balances

We deliberately avoid the wallet model. The net of every transaction goes to the sub-merchant's bank account on the settlement cycle, with no withdrawal step and no funds parked with a third party. Sub-merchants can always see their own deductions, so "where is my money" questions never land on your team.

Platform commission, frozen when paid

Set a flat and/or percentage commission per sub-merchant, from the dashboard or the API. The amount is locked on each transaction the moment it is paid, so changing your rate today does not move yesterday's transactions. Commission reduces the sub-merchant's net, never increases what the buyer pays, and is paid out to your bank account in the same settlement cycle.

One API key for every sub-merchant

Send the for-sub-merchant header and the request runs on behalf of that sub-merchant: their invoice, methods, and webhooks. Point every sub-merchant's callbacks at a single endpoint; each payload carries its origin. All testable in sandbox right now.

Name on the QRIS

Whose name the buyer sees

Two options, and sub-merchant documents are verified by doit.id in both. The only difference is whether the sub-merchant needs its own identity on the payment network.

Your name

The sub-merchant operates under your identity, and buyers see your platform's name on the QRIS. No application to the payment provider is needed, so it can go live quickly. The easiest option to scale.

The sub-merchant's own name

The sub-merchant gets its own identity on the payment network, and its name is what buyers see. This requires an application to our partner payment provider, so there is a waiting time per sub-merchant.

Activated per account, not self-service

Platform involves onboarding third parties, so we enable it case by case: your account gets verified, a platform agreement is signed, then the feature is switched on. Tell us about your flow and we will stay with you until your first integration works.

Contact us API documentation