Key Takeaways
- Shopify ↔ Android SMS Gateway is not a closed marketplace app — you glue Shopify webhooks/Flow/HTTP to REST send.
- Troubleshoot in layers: Shopify delivery, your bridge, API auth, device online, operator credit.
- HMAC on Shopify webhooks and gateway webhooks are different secrets — verify both.
- Order SMS still needs consent/STOP where marketing; transactional alerts still need a live phone.
- 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. Service pricing is based on device count and total SMS sent through the gateway. Free includes 300 SMS lifetime.
Shopify android sms gateway troubleshooting almost always means the HTTP glue broke somewhere between store events and the handset. Product context: Android SMS gateway. API: SMS API documentation. Shopify webhooks (nofollow): Shopify webhook docs.
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. Service pricing is based on device count and total SMS sent through the gateway. Pricing. Starter, Professional, and Business list Unlimited SMS as platform send volume; that is not unmetered carrier SMS.
Shopify is HTTP glue
Typical pattern: Shopify webhook or Flow HTTP request hits your middleware; middleware calls POST /api/v1/messages with Bearer auth. There is no requirement for a magical private Shopify SDK from us — HTTPS JSON is enough.
If Shopify never called you, the phone is innocent. Fix the webhook first; then chase SIM airtime.
Symptom → layer
“Customer got no SMS” splits into: event not fired, bridge 5xx, 401 from gateway, queued on offline device, or carrier reject. Instrument each hop with request ids.
Troubleshooting table
| Symptom | Likely layer | First check |
|---|---|---|
| No bridge logs | Shopify webhook/Flow | Webhook delivery log; URL HTTPS; topic subscribed |
| 401/403 from gateway | Auth | ENV key; staging vs prod |
| Accepted, never leaves phone | Device ops | Online status; setup; OEM battery |
| Failed after radio | Carrier / content | DLR reason; airtime; template filters |
| Duplicate SMS | Retries | Idempotency-Key; Shopify at-least-once delivery |
| Works in Postman, not Shopify | Bridge mapping | Phone field path; E.164 normalize |
Shopify webhooks
Verify Shopify HMAC before trusting payloads. Return 2xx fast; enqueue SMS work. Retries will duplicate without idempotency. Marketing SMS needs consent/STOP — transactional shipping texts still follow local rules.
Gateway send path
Confirm live JSON in Developer Center. Optional deviceIds on multi-device plans. Inbound replies: gateway webhooks with signature verify — separate from Shopify’s secret.
Fix checklist
- Replay a webhook from Shopify admin.
- cURL the same payload through your bridge.
- cURL the gateway with the same key.
- Confirm device last-seen and SIM balance.
- Compare DLR for the message id.
Next steps
Harden templates (OTP templates if auth SMS) and keep OTP pools off campaign blasts. Downloads: APK.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy
- download the Android gateway appGet the APK





