Key Takeaways
- Send SMS from Laravel via HTTPS JSON to the Android SMS gateway — not a packaged multi-language Laravel SMS SDK from us.
- Queue jobs; keep HTTP controllers thin; store API keys in env.
- Idempotency keys prevent duplicate OTP on retries.
- Verify webhook HMAC in a dedicated route; return 2xx fast.
- Developer Center owns live REST fields; /codebase-php is samples only.
- BYO Android and operator credit. We meter devices and volume (Free 300 lifetime; paid from $19/mo).
Summary
Send SMS with Laravel through an Android SMS gateway using REST HTTPS/JSON and queues. Hub: Android SMS Gateway API. Samples: PHP language samples. Docs: Developer Center.
A Composer package titled “Unlimited SMS for Laravel” is marketing. Your SIM and plan caps still decide throughput.
REST from Laravel, not an SDK
Use Http::withToken(env(...))->post(...) (or Guzzle) against documented endpoints. Confirm fields in Developer Center. Pair the phone via setup.
// Conceptual — confirm URL/fields in Developer Center
Http::withToken(config('services.sms_gateway.key'))
->timeout(15)
->post($sendUrl, [
'to' => $e164,
'text' => $body,
'client_ref' => $idempotencyKey,
]);Context
Laravel makes queueing easy — use it. OTP and marketing should be separate jobs and device pools.
Send design
- Controller authorizes; job performs HTTP.
- Idempotency / client_ref on OTP and alerts.
- Timeouts + limited retries; do not retry all 4xx.
- Persist gateway message id on the model.
- Webhook route verifies HMAC then updates status.
Layer table
| Layer | Owns | Must not |
|---|---|---|
| Controller | AuthZ + dispatch | Blocking outbound HTTP |
| Job | REST send + backoff | Log OTP plaintext |
| Webhook | HMAC + status map | Trust unsigned POSTs |
| Phone | Radio + airtime | Hold API keys |
Jobs spend airtime
Each accepted send meters platform volume and carrier credit. Free 300 lifetime; paid from $19/mo. Pricing.
Operations
Horizon/queue metrics plus device last-seen. Canary before customer OTP.
HMAC and queues
Verify webhook signatures on the raw body. Failed signature → 401, no job fan-out.
Decision guide
Prefer Laravel HTTP + queues over inventing an SDK. For MCP agents, harden separately — securing SMS MCP tools.
Checklist
- Env key; queued send; idempotency.
- HMAC webhook; no SDK product claim.
- OTP pool isolated.
- No Unlimited SMS titles.
Next steps
CodeCanyon buyer expectations: what buyers expect from CodeCanyon SMS scripts.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS API documentationLive endpoint reference
- PHP REST send samplesPHP code examples
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy





