Key Takeaways
- Laravel SMS gateway scenario 574 is NGO USSD for cash-agent float before a beneficiary PIN SMS — not laminated menus (34), airtime (94), dual-SIM (154), wallets (214), KYC (274), vouchers (334), feeding (394), water queues (454), or clinic referrals (514).
- If the agent menu says no float, do not fire the PIN. You will SMS a code for cash that is not in the till.
- Priced by devices and SMS send volume. You use your own phone and operator SMS credit.
- Free is 300 SMS lifetime, 300 contacts, 1 device. Developer is 25,000 SMS per year.
- Never log PINs from a USSD screen. Appeals never share the agent radio.
- Developer Center owns live SMS fields; agent menus are operator-specific.
Summary
Laravel SMS gateway scenario 574 is NGOs using USSD to confirm cash-agent float before a beneficiary PIN SMS leaves a labeled Android. Service pricing is based on device count and total SMS sent through the gateway. You need a working Android phone with a SIM and SMS credit from your mobile operator. Operator message costs are yours—we do not sell carrier SMS balance.
An empty till plus a sent PIN is two failures: the household queues for cash that is not there, and you taught them a dead code. Hold the SMS until the menu says funded.
Earlier NGO USSD pieces covered laminated menus, airtime, dual-SIM, wallets, KYC, vouchers, feeding, water trucks, and clinic referrals. This article stays on float-then-PIN.
Key takeaways
- Laravel SMS gateway scenario 574 is NGO USSD for cash-agent float before a beneficiary PIN SMS — not laminated menus (34), airtime (94), dual-SIM (154), wallets (214), KYC (274), vouchers (334), feeding (394), water queues (454), or clinic referrals (514).
- If the agent menu says no float, do not fire the PIN. You will SMS a code for cash that is not in the till.
- Priced by devices and SMS send volume. You use your own phone and operator SMS credit.
- Free is 300 SMS lifetime, 300 contacts, 1 device. Developer is 25,000 SMS per year.
- Never log PINs from a USSD screen. Appeals never share the agent radio.
- Developer Center owns live SMS fields; agent menus are operator-specific.
Related reading
Laravel Android SMS pattern, USSD gateway, OTP-style codes, USSD overview.
Agent-liquidity context
Cash-out points still use operator menus for float. Lists go stale. Laravel can enqueue a PIN; only the radio knows if the till can pay.
Cross-link hub cornerstones. Confirm SMS shapes in Developer Center.
USSD float then PIN SMS
Sequence: USSD float on the agent ID → hold on empty/timeout → PIN SMS only on pass → short TTL.
Log result codes, never PIN digits from the screen.
Write acceptance criteria: hold on fail, override reason, fundraising excluded, spare charged.
Cash-out steps
| Step | Channel | Note |
|---|---|---|
| Agent float | USSD on labeled SIM | Empty/timeout = hold PIN |
| Beneficiary PIN | SMS after pass | Short TTL; no amount in logs |
| Staff OTP | Other pool | Never cash-out radio |
| Appeal | Marketing pool | STOP; other device |
Cost and ownership
Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Developer is 25,000 SMS per year. USSD and SMS both cost the operator. Do not title this “Unlimited SMS.”
Assign who may override a hold. Free 300 lifetime SMS is a lab.
Operations
Pay days: pairing, battery, USSD canary, hold switch, PIN TTL.
After carrier menu changes, re-walk the float tree.
Name an in-country owner who can reach the handset.
Security and compliance
Protect API keys. PINs do not belong in Slack screenshots of USSD.
STOP applies to appeals. Never auto-reply into cash-out sessions. Verify SMS webhook signatures.
Decision guide
Ship laravel sms gateway scenario 574 when empty tills cannot enqueue a PIN. Delay if HQ can bypass with no reason.
If zero phone ops is mandatory, evaluate CPaaS for PIN SMS and keep USSD human.
Checklist
- Hold on empty/timeout.
- Override logged.
- No PIN digits in logs.
- Fundraising off agent phone.
- Menu re-tested after carrier changes.
- Developer Center checked.
- Airtime for checks + PINs.
- In-country on-call named.
Next steps
Return to Laravel pattern, compare device and SMS volume pricing, open device setup guide, and confirm APIs in SMS API documentation.
Deep dive: production hardening
Float-USSD hardening is a till ritual. If HQ “just sends PINs,” you will fund queues the agent already rejected.
Battery exemptions and OEM killers still win overnight before a morning pay list.
Spare charged devices beat brochure SLAs. Airtime surprise bills happen when PIN retries ignore radio pace.
Never claim unlimited free cloud SMS credits with no device or volume meter. Name an on-call owner before unattended lists go live.
Canary on staff numbers before household PIN. Cross-link Setup, Pricing, Developer Center.
Document who owns SIM top-ups. Webhook signature verification is non-negotiable.
Prefer honest latency over global SLA claims. If zero phone ops is mandatory, evaluate CPaaS for SMS.
OTP and marketing must stay on separate lanes. Contact lists need consent metadata.
Dual-SIM routing fails when slot maps drift after reboot. Multi-device failover only helps if spare phones stay charged and paired.
Scheduled PIN waves must re-run float at fire time, not only at import time.
Deep dive: scaling and failure modes
Scale lists by holds, not by implying we sold carrier packs.
Agent outages are queue events. Pause appeals when PINs are held.
Retry storms burn credit. Cap PIN resends in Laravel.
Roaming SIMs break USSD more often than SMS. Plan a local prepaid swap.
Do not load-test against beneficiary lists. Use staff cohorts.
Raise OEM/Android SMS rate ceilings carefully. Carrier fair-use still applies.
Measure USSD-funded rate separately from PIN DLR.
A second ops phone is cheaper than a wave of dead PINs.
Watch prepaid during two-way keywords. Inbound is another surface.
Document the hold runbook where HQ and field leads can find it. If only one contractor knows the pairing PIN, you do not have a program.
Deep dive: integration discipline
Hold the Bearer in the Laravel worker, never in a volunteer laptop. Idempotent payout IDs prevent duplicate PINs after a re-check. MCP, if used, wraps the same REST — it is not a second SMS network.
Store gateway message IDs on the payout row. HQ should not grep the phone.
Confirm live SMS parameters in Developer Center. USSD is not that contract.
Prefer feature flags. Enable gated cash-out for one agent first.
Keep examples conceptual until Developer Center confirms live request shapes. Budget airtime for retries.
Radio reality still wins. Cross-link hub cornerstones instead of rewriting the product overview.
Isolate household PIN from promotional appeals. Verify webhooks before community traffic.
Scenario success needs owners for phones, SIMs, templates, and on-call. That is laravel sms gateway scenario 574.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- USSD balance and menu automationOperator USSD codes
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- PHP REST send samplesPHP code examples




