Bank transfers and supported wallet destinations

PAYJN’s published Indonesia payout coverage includes supported bank transfers and DANA, OVO, GoPay, LinkAja and ShopeePay wallet destinations. Confirm which destinations and beneficiary types are enabled for your merchant setup before submitting orders.

This is separate from collections. DANA pay-in is not currently open for merchant onboarding, while DANA payouts are listed separately. A supported payout destination does not establish a direct partnership or imply that wallet collection is also available.

Prepare a bank or wallet payout request

IDR payout setup checklist
AreaConfirm with the team
BeneficiarySupported bank or wallet code and required destination fields
Amount and currencyDocumented IDR representation, fees and current payout limits
FundingRequired balance, applicable charges and funding arrangements
Order referenceStable merchant reference and supported retry rules
Status verificationCallback handling and the documented order-query process

Use the codes and field formats from your approved PAYJN integration documentation. Do not substitute a wallet display name for its documented code, or apply the virtual account pay-in limits to a payout request.

How an Indonesia payout API flow works

A reliable payout integration separates "the request was accepted" from "the money arrived". Plan each step and the record your system keeps at that step.

  1. Fund the balance: make sure the payout balance covers the amount and charges before you submit, according to your agreed funding arrangement.
  2. Validate the beneficiary: check the bank or wallet code and destination fields, and use account validation where the route supports it.
  3. Create the payout with a unique reference: one business payout, one merchant reference. Store it before sending the request.
  4. Record the immediate response: an accepted or processing response means the request is being handled, not that the recipient has been paid.
  5. Confirm the final state: rely on the verified callback, and query the order status if the callback is late.
  6. Reconcile: match each payout against the transaction record and balance movements, including charges and any returned transfers.

Beneficiary validation before sending

Incorrect or outdated destination data is a common, preventable reason for rejected payouts. Validation before submission is cheaper than investigating a failed or misdirected transfer afterwards.

  • Bank transfers: collect the bank code and account number in separate fields. Where the route offers an account inquiry, compare the returned account holder name with the name your user registered.
  • E-wallet transfers: collect the identifier the wallet route requires, usually the phone number registered to the wallet, in one consistent format.
  • Name mismatch: decide in advance whether a mismatch blocks the payout, sends it to manual review or is allowed for known cases. Do not silently correct names.
  • Changed details: treat a newly changed destination as higher risk. A short review or cooling-off period before the first payout to a new account protects against account takeover.

Payout states and what your system should do

The exact status names come from your approved documentation. The handling below is what matters for avoiding duplicate or lost payouts.

Payout states and recommended handling
StateMeaningWhat your system should do
Accepted / processingThe request is being handledWait for the callback or query; do not create a new payout
SuccessfulThe payout completed on the provider sideMark it paid, store the provider reference, notify the recipient
FailedA final failure was returnedRecord the reason; correct the data and create a new payout only after review
Pending for longer than expectedNo final state yetQuery the status, then escalate with the reference instead of retrying
Returned or reversedFunds came back after an earlier resultReconcile the balance, update the payout record and contact the recipient

Bank payouts compared with e-wallet payouts

Bank and e-wallet payouts compared
Bank transferE-wallet (DANA, OVO, GoPay, LinkAja, ShopeePay)
Destination identifierBank code and account numberThe identifier required by the wallet route, usually the registered phone number
Common rejection reasonsInvalid or closed account, name mismatch, unsupported bank codeUnregistered number, wallet account restrictions, recipient balance limits
Timing considerationsCan depend on the transfer route, bank operating hours and public holidaysDepends on the wallet route; confirm expected timing with the team
Typical fitSeller settlements, larger payouts, B2B transfersCreator rewards, smaller and frequent payouts to individuals

Indonesian e-wallet accounts carry balance limits that depend on the account's verification level, so a payout that would push a recipient over their limit can be rejected. Ask recipients to verify their wallet if they expect larger payouts.

Funding, balance and scheduling

Payouts fail predictably when the balance runs out. Set an alert threshold above your normal daily payout total, and check the balance before releasing a large batch. Schedule batches with enough time to resolve rejections in the same working day, and plan around Indonesian public holidays, when bank-side processing can take longer. Agree with the team how charges are deducted, how returned transfers are credited back, and which report you will use for daily balance reconciliation.

Controls for creator, seller and agent payouts

Platforms paying many individuals need operational controls as much as an API. Before going live, decide:

  • who approves payouts above a set amount, and whether large or first-time payouts need a second approval;
  • daily and per-recipient limits in your own system, separate from provider limits;
  • how a recipient changes their payout destination and how that change is verified;
  • how you handle a recipient who reports non-receipt, including what evidence you ask for;
  • which audit log records every payout request, approval, status change and support action.

The creator payout timeout and retry checklist applies these controls to live streaming, voice chat and social platforms. Licensed forex and futures-trading platforms should also read the forex broker onboarding checks before requesting withdrawal flows, and see client withdrawals for forex brokers for the supported setup.

Avoid duplicate payouts after a request timeout

A timeout means your application did not receive a conclusive response; it does not prove that the transfer failed. Preserve the existing order reference and follow the documented status-query and retry process before creating another instruction.

Confirm final transaction status on the backend. Repeated notifications must not trigger another payout, and a user refreshing a page must not create a second transfer.

For live streaming, voice chat and social platforms, the creator payout timeout and retry checklist covers pending transfer investigations, reconciliation and duplicate-payment tests.

Invalid fields and channel-unavailable responses

These messages need separate checks. An invalid-field response calls for reviewing the submitted value, required fields and expected format. A channel-unavailable response can require checking the approved method, merchant configuration or route status. The message alone does not establish bank maintenance or an incorrect bank code as the cause.

Send support the order reference, method, timestamp and sanitized error text. Share request details only through the agreed support process, with credentials and unrelated beneficiary information removed.

Successful payout, but the recipient has not received it

Ask PAYJN support to verify the recorded amount, destination, time and final order result, and to review the provider reference or transfer evidence where available. Agree the investigation steps and expected review timing for the specific route.

There is no single waiting period promised on this page for every bank and wallet. Further recipient-side evidence may be requested when necessary through the agreed channel; a full bank-history video is not a universal first requirement.

Request an Indonesia bank and wallet payout proposal

Provide your company website, registration jurisdiction, purpose of the payouts, beneficiary types, preferred bank or wallet destinations, average IDR amount and expected monthly volume and transaction count.

  • Review merchant eligibility, destination coverage and required beneficiary fields.
  • Request the payout fee schedule, funding arrangements, limits and handling of rejected or reversed transfers.
  • Agree status queries, retry rules, reconciliation and support responsibilities before testing.

Request a payout integration review with this brief so the team can assess your proposed flow.

For receiving funds, compare virtual account collections and QRIS API integration. The Indonesia payment troubleshooting guide explains how to prepare an investigation brief.

Explore the integration approach · Chat on WhatsApp · Telegram

PAYJN provides payment technology and operational services, not banking services. Coverage, fees and operating terms depend on the approved merchant setup.