Physical Network Payments
"I have hundreds of kiosks across Visayas and Mindanao. Each one needs its own QR code. I collect from customers and pay my operators and suppliers."
If you operate a network of physical endpoints — vending machines, PisoWifi hotspots, e-loading kiosks, bill payment stations — NextAPI gives every endpoint its own collection account and handles both sides of the money flow: collecting from walk-up customers and paying operators and suppliers.
The problem
You have 500+ machines that need to accept QR Ph. Your current options are:
- GCash/Maya merchant account — locks everyone into one wallet, no per-machine accounts
- Per-endpoint account fees — other platforms charge per-endpoint fees that add up to tens of thousands of pesos monthly at 500+ machines
- Manual bank transfers — impossible to reconcile across hundreds of machines
- Bank-by-bank integration — months per bank, breaks when one bank goes down
You also need to pay the operators who own the machines and your suppliers (e-loading providers, telcos, FMCG distributors). Both sides must work, or the business stops.
The two-sided money flow
Physical networks have a distinct pattern: money comes in from customers at the machine, and money goes out to the operator who owns it.
Customer scans QR → Machine account receives funds
↓
Network owner settles to operator account
↓
Operator receives via InstaPay (real-time)
Supplier receives via PESONet (batch)
NextAPI handles both sides through the same hierarchy:
Your Network (Partner)
├── Operator A (Merchant)
│ ├── Machine 001 (Account)
│ ├── Machine 002 (Account)
│ └── Machine 003 (Account)
├── Operator B (Merchant)
│ └── Machine 004 (Account)
└── Supplier accounts (for PESONet payouts)
Key timing consideration
Supplier payments often depend on PESONet batch cutoffs. PESONet runs twice daily (10:00 AM and 3:00 PM Manila time). If your supply chain depends on same-day settlement to suppliers, time your POST /v2/payout-requests calls before the cutoff. Machine load replenishment stops if supplier settlement is late.
→ See Disbursement Channels for InstaPay vs PESONet timing.
What to build
Endpoint provisioning: When an operator installs a new machine, create a merchant (operator) and account (machine) pair. Generate a static QR code via POST /v2/accounts/{id}/funding-methods — this QR lives on the machine permanently.
Real-time collection: When a customer pays, the webhook fires within seconds. Your platform knows immediately that the machine collected — no polling required.
Operator settlement: At the end of each day (or on demand), sweep funds from machine accounts to the operator's bank account via POST /v2/payout-requests with InstaPay routing for real-time credit.
Supplier payment: Batch your supplier payouts before the PESONet cutoff using POST /v2/payout-requests/batch. One API call, hundreds of payouts.
Network dashboard: Use GET /v2/accounts/{id}/postings per machine to show operators their collections in real time. Use the merchant-level view to show the operator their total across all machines.
Key API endpoints
| Action | Endpoint |
|---|---|
| Onboard an operator | POST /v2/merchants |
| Create a machine account | POST /v2/accounts |
| Generate static machine QR | POST /v2/accounts/{id}/funding-methods |
| Check machine balance | GET /v2/accounts/{id}/balances |
| Pay operator (InstaPay) | POST /v2/payout-requests |
| Pay suppliers (PESONet batch) | POST /v2/payout-requests/batch |
| Check payout service status | GET /v2/payout-requests/service-health |
Scale without per-endpoint fees
NextAPI charges on transaction volume, not on number of accounts. A network with 1,800 endpoints pays the same per-account rate as a network with 10.
Getting started
- Get sandbox credentials
- Follow Your First API Call to verify auth and create your first merchant
- Follow Transfer Between Accounts to understand fund movement between endpoints
- Read Wallet Structure — the hierarchy maps directly to your operator/machine structure
- Read Disbursement Channels for rail selection
- Build endpoint provisioning, then test collection and settlement end-to-end in sandbox