Skip to main content

Disbursement Channels

NextAPI routes outbound payments across Philippine payment rails: InstaPay, PESONet, and QRPH payouts. Understanding these channels helps you set expectations with your users and design your integration correctly.

Available channels​

InstaPay​

InstaPay is a real-time low-value fund transfer system operated by BSP.

PropertyValue
Processing timeNear real-time (typically 5–30 seconds)
Maximum per transactionPHP 50,000
Availability24/7, including weekends and holidays
SettlementImmediate

Best for: Payroll disbursements to individuals, small vendor payments, gig economy payouts.

PESONet​

PESONet is a batch electronic fund transfer system for higher-value transactions.

PropertyValue
Processing timeSame banking day (if submitted before cutoff)
Maximum per transactionNo standard limit (bank-dependent)
AvailabilityBanking days only
SettlementEnd-of-day batch

Best for: Large supplier payments, corporate disbursements, amounts above PHP 50,000.

QRPH Payouts​

NextAPI can send funds to QRPH-linked accounts — bank accounts or e-wallets that have a registered QR code.

PropertyValue
Processing timeVaries by underlying rail
Recipient requirementMust have a QRPH-registered account
Use caseConsumer wallets, merchants with QR

Auto-routing​

NextAPI automatically selects the appropriate channel based on the transaction amount:

Amount ≤ PHP 50,000  →  InstaPay  (real-time)
Amount > PHP 50,000 → PESONet (same-day batch)

You do not need to specify a channel in your payout request — routing is handled automatically. However, you can influence routing by specifying the rail in your payout request if your use case requires it.

Routing diagram​

POST /v2/payout-requests
│
▼
Amount check
┌────┴────┐
≤ 50k > 50k
│ │
InstaPay PESONet
(real-time) (batch)

Split payouts​

A single payout request may be split into multiple payouts if the amount spans rail limits. For example, a PHP 75,000 disbursement could be split:

  • Payout 1: PHP 50,000 via InstaPay
  • Payout 2: PHP 25,000 via PESONet

Use GET /v2/payout-requests/{id}/payouts to list all payouts under a single request.

Checking available institutions​

To see all supported recipient banks and e-wallets:

curl https://api.partners.nextpay.world/v2/receiving_institutions \
-u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET"

The response includes institution codes, names, and supported rails. Use these codes in your payout requests for the recipient.institution_code field.

Service health​

Check real-time rail availability before submitting large batches:

curl https://api.partners.nextpay.world/v2/payout-requests/health/{service_name} \
-u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET"

This endpoint reports availability for the specified service (e.g., instapay or pesonet). If a rail is degraded, you can hold disbursements and retry when the rail recovers.

Timing considerations​

ScenarioChannelExpected completion
PHP 5,000 to GCash, 2pm MondayInstaPayWithin minutes
PHP 5,000 to GCash, 11pm SundayInstaPayWithin minutes (24/7)
PHP 80,000 to BDO, 9am MondayPESONetSame day (before EOD cutoff)
PHP 80,000 to BDO, 4pm FridayPESONetNext banking day

Always account for PESONet's banking-day-only schedule when designing payout SLAs for your users.