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.paid and payout.failed in 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-Key is implemented on every write

    Attach a unique Idempotency-Key header 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_number

    Set reference_number on 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 (the tr_ value), your reference_number, and the provider_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 than 409 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 using provider_reference_number. See Disbursements reconciliation.

Next steps

After Money Movement is set up, complete the surrounding work if you have not already: