Transit
Collect every fare, even where the route has no signal.
A passenger opens a payment window in your app and taps the conductor's POS. Neither device needs a network. The fare comes from value your app issued from your own float, and it settles to your account when the bus reaches signal.
Bus 14 · Route 7
Fare
₦500
Ask the passenger to tap
Offline · 23 fares held · ₦11,500
Policy valid for 18 h
Payment window open
- Up to ₦500
- 1 tap
- Offline balance ₦4,500
The rails a fare runs on.
On board, the offline tap. To buy fare value, the passenger pays you by transfer or QR, and by USSD or card once they arrive. Wallet here is the purse your app issues.
On the bus
Take the fare in the time it takes to board.
Most bus POS devices cannot act as a card, so the POS asks and the phone answers. Before boarding, the passenger opens a payment window in your app with their PIN: a ceiling, one tap, two minutes. The conductor's POS requests the fare and the phone signs it automatically inside the window. You set each bus's limits: the most a single fare may be, how much one POS may hold unsettled, and how many taps it may take in an hour. When the bus reaches signal, the POS uploads one signed batch and the fares settle, dated at the moment of each tap.
Your fares
Offline balance
₦5,000
Ready to tap · valid 24 h
- Fare bundle · ₦5,000 · bought by transfer · 07:12
- Bus 14 · ₦500 · settled · yesterday
{
"amount": 500000,
"currency": "NGN",
"source": "merchant_float",
"external_reference": "FARE-BUNDLE-20931",
"device": "dev_01J9Q…"
}
→ 200 { "purse": { "balance": 500000 },
"assertion": { "expires_at": "…+24h" } } In your app
Sell fare value in your own app.
Your passengers buy a fare bundle from you, paying by transfer or QR, or at your counter, with USSD and cards coming. Your server then issues a purse to the passenger's phone from your float: the value sits on the ledger, and the phone holds a signed claim on it for 24 hours at a time. Passengers you have already verified can be onboarded on your attestation, without a second OTP. PediWave holds funds for you, never for the passenger, and the purse stays in your own app and your brand.
Monthly pass · Chiamaka Eze
₦20,000 / month
- 1 SepPaid by wallet autodebit · pass issued ₦20,000
- 1 OctFailed · insufficient funds
- 4 OctPaid on retry · pass issued ₦20,000
- 1 NovUpcoming · invoice sent by SMS
Passes
Weekly and monthly passes that renew themselves.
Sell a pass as a subscription. The passenger chooses how it is paid each cycle: a direct debit mandate, a wallet autodebit, or an invoice they pay by transfer from any phone, with USSD and saved cards coming. When the cycle's invoice is paid, your server issues the pass value to their purse. Failed payments are retried on a schedule that follows payday, and you decide what happens when a pass lapses.
Questions operators ask
What if a bus has no signal for a whole shift?
What stops a passenger spending the same balance twice?
Do passengers need a smartphone?
What happens if a conductor's POS is stolen?
Does PediWave hold our passengers' money?
Products used
-
Offline payments
Taps with no network, pull mode with payment windows, per-bus limits, and purses in your own app.
Learn more -
Accept payments
Fare bundles and top-ups paid by transfer or QR on one payment object, with USSD and cards coming.
Learn more -
Billing & subscriptions
Weekly and monthly passes on the rail each passenger chooses, with payday-aware retries.
Learn more
Tell us about your routes.
Fleet size, routes and how fares are taken today. We will come back with an offline setup to pilot on one route.