Go-live checklist
Set up how funds leave PayMongo. Covers Payouts, Wallet, and Disbursements through InstaPay or PESONet.
Use this checklist when you are setting up how funds leave PayMongo. It covers three sub-areas:
- Payouts: automatic settlement of your acceptance proceeds
- Wallet: closed-loop versus enabled state, and balance monitoring
- Disbursements: sending funds to third parties through InstaPay or PESONet
Most merchants need Payouts. Wallet and Disbursements apply based on your use case.
Who this checklist is for
Every merchant who accepts payments through PayMongo (for Payouts), plus merchants who send funds to external bank accounts or e-wallets (for Wallet enablement and Disbursements).
Before you start: Complete the Get Started go-live checklist. For Disbursements and the send-money flow, your PayMongo Wallet must be Enabled (not Closed-loop).
Payouts
Payouts are the automatic settlement of your acceptance proceeds. They apply to every merchant who accepts payments.
Required for launch
-
Confirm your payout schedule
The default schedule is Weekly on Wednesday. To change to Bi-Weekly, Monthly, Daily, or Custom, update the schedule in the Dashboard. Daily and Custom schedules require emailing [email protected]. See Payouts.
-
Confirm you understand the payout clearing timelines
Clearing times by source: Cards settle in 3 banking days. E-wallets settle in 2 banking days. BPI, UnionBank, QR Ph, and BillEase settle in 1 banking day. Payments accepted after 5 PM are processed the next banking day. Holidays delay clearing.
-
Confirm you know the minimum payout thresholds
Minimum to a bank account: PHP 80.00. Amounts below the threshold roll over to the next payout cycle.
-
Confirm your account details are recorded on your side
Keep an internal record of your destination account details (bank name, account name, account number, or e-wallet handle) in your own business records. PayMongo generates and stores these correctly in the Dashboard, but having them on your side speeds up reconciliation, dispute handling, and any future destination changes.
-
Confirm your payout reconciliation process
Export payout history from the Dashboard. Each payout record includes total sales, adjustments, refunds, and disputes. Match it against your own records. See Payouts reconciliation.
-
Confirm payout webhook events arrive correctly
Subscribe to
payout.paidandpayout.failedin your webhook endpoint. After your first live payout, confirm the event arrived with a valid signature and that the resource data matches the Dashboard view. The webhook handler setup is in the Developer Tools go-live checklist.
Best practices
-
Confirm your payout destination
Payouts land in your PayMongo Wallet by default. If you want them auto-forwarded to a bank or e-wallet, set up a Workflow in the Dashboard. Skip this item if keeping proceeds in your PayMongo Wallet is fine for your use case.
-
Confirm payout status monitoring is in place
Decide who watches the payout statuses (In Transit, Deposited, On Hold, Returned) in the Dashboard. On Hold notifications need a fast response to avoid downstream delays.
Wallet
The Wallet is your PayMongo balance. It must be Enabled (not Closed-loop) before you can send funds out.
Required for launch (if sending funds out)
-
Confirm your wallet enablement status
Required to send funds to external banks or e-wallets through InstaPay or PESONet. Check the banner on Money Movement → Wallets. Mark this item N/A if your integration does not send funds out. See Wallets.
-
Confirm the send-money flow works
Run a small InstaPay or PESONet test send. Confirm the transfer completes and reconciles against your records. See Send money. Mark this item N/A if you do not use the send-money flow.
Best practices
-
Confirm wallet balance monitoring is set up
Decide how you will monitor the balance: through the Dashboard view, through periodic API polling, or through a workflow alert on low balance. See Manage your balance.
Disbursements
Disbursements move funds to third parties through InstaPay or PESONet. They apply to use cases such as supplier payouts, payroll, or refunds outside of PayMongo payments. Skip this section if your integration does not disburse.
Required for launch (if you disburse)
-
Confirm the disbursement destination scope
Review the list of available banks and e-wallets. Confirm your target rails (InstaPay or PESONet) and the limits that apply to each. See List of available banks and e-wallets.
-
Confirm
Idempotency-Keyis implemented on every writeAttach a unique
Idempotency-Keyheader to every POST, PUT, or PATCH that creates or updates a transfer or wallet. Same operation, same key. Different operation, different key. Retries become safe. See Money Movement best practices. -
Confirm your internal ID is passed as
reference_numberSet
reference_numberon each transfer to your canonical internal ID (payout ID, invoice number, payroll row ID). Keep it unique on your side, short, and free of spaces and special characters. -
Confirm all three transfer identifiers are stored
Persist all three on your side: PayMongo's
id(thetr_value), yourreference_number, and theprovider_reference_number(the rail-issued ID that appears later and matches bank statements). -
Confirm your retry policy is implemented
Retry on network errors, timeouts, and 5xx responses with exponential backoff (1s, 2s, 4s) using the same
Idempotency-Key. Do not retry on 4xx responses other than409 idempotency_in_progress. -
Confirm the transfer test cases pass
Walk through the Transfer Test Cases page in test mode. Cover success, failure, and edge cases such as insufficient balance, invalid destination, and retries. See Transfer test cases.
-
Confirm your disbursement reconciliation process
Match each transfer to your internal record using
reference_number. Match it to bank statements usingprovider_reference_number. See Disbursements reconciliation.
Next steps
After Money Movement is set up, complete the surrounding work if you have not already:
- Developer Tools go-live checklist: webhook signature verification, API key security, idempotency patterns
- Get Started go-live checklist: the high-level launch flow if you have not run through it yet
Updated about 10 hours ago