Capturing foodpanda SMS codes with an API, webhooks or the dashboard

OTP Gateway from $0.20 per code198 countriesAPI id: foodpandaDedicated US/CA numbers from $1.95/month
Quick answer

A team receives a foodpanda verification code by ordering a one-time OTP Gateway number from OTP Route for the right country, entering it in the foodpanda flow under test, and collecting the code by webhook, API polling or the dashboard. Prices start from $0.20 per code, and an order with no SMS inside the 20-minute window is refunded in full.

Which API calls retrieve a foodpanda code?

The foodpanda verification code API flow uses the service id foodpanda and five calls against https://otproute.com/api/v1, each authenticated with a Bearer key starting or_live_.

  1. GET /api/v1/countries gives you country ids; cache the result.
  2. GET /api/v1/prices?country=<id>&service=foodpanda returns the live price and tells you whether that market can be served at this moment.
  3. POST /api/v1/activations with {"service": "foodpanda", "country": "<id>"} creates the order and hands back an activation id and a phone number.
  4. Your test enters that number in the foodpanda screen being exercised, and the code is captured by webhook or by GET /api/v1/activations/{id}.
  5. POST /api/v1/activations/{id}/cancel closes an order your test no longer needs.

Add GET /api/v1/balance to the setup step so a suite stops cleanly on an empty wallet. Keys come from the Developer console, up to 10 per account, and the limit is 300 requests per minute. The developer docs list request and error formats.

How should the webhook handler be written?

Push delivery is the tidier choice once several tests run at once. Point one of your five allowed endpoints at a route in your test harness, then subscribe it to activation.sms_received, activation.expired and activation.cancelled for foodpanda orders.

Every delivery includes X-OTPRoute-Signature: t=<unix>,v1=<hex>. Compute HMAC-SHA256 over <t>.<raw body> with the endpoint secret, compare it with v1 in constant time, and reject requests whose timestamp is too old. Do this on the raw bytes before any JSON parsing alters them.

Make the handler idempotent: key each event on its activation id and ignore repeats, because retries can deliver the same event twice. Respond quickly and push the code to whatever your test is waiting on. For quick scripts, polling the activation endpoint every few seconds is a reasonable alternative. The HMAC webhook guide covers edge cases.

What does foodpanda verify a phone number for?

foodpanda is a food and grocery delivery platform best known across South and Southeast Asia. Like most delivery apps, it ties an account to a mobile number: the number is typically confirmed with a one-time SMS code at sign-up, may be checked again when logging in on a new device, and gives riders and support a way to reach the customer about an order.

For partner teams, agencies and developers working around the platform, that means a receive foodpanda OTP step sits inside many real journeys: onboarding a new customer, testing a localised sign-up screen, or reproducing a login issue a user reported. Having a controllable foodpanda phone number for each test removes the need to borrow a colleague's personal SIM.

Which countries can supply a foodpanda number?

The foodpanda route is available in 198 countries. Examples include Pakistan, Bangladesh, Malaysia, the Philippines, Taiwan, Singapore, Hong Kong, Thailand, Cambodia, Laos, Myanmar, Germany, the United Kingdom and the United States.

Country choice is not cosmetic. Delivery apps localise by market, so a test of the Bangladeshi sign-up screen should use a Bangladeshi number, and an account meant to order in Kuala Lumpur should match Malaysia. A mismatched country can lead to a rejected number or an unrelated regional flow. Live availability per country shifts during the day, which is why the prices endpoint is the source of truth. The country routing guide explains how to pick and fall back between markets.

Can a non-developer do this from the dashboard?

Yes, and it takes about as many clicks as ordering lunch:

  1. Open the OTP Gateway, choose foodpanda as the service and select the country.
  2. Review the price shown and confirm the order.
  3. Copy the number into the foodpanda app or website you are testing.
  4. Watch the activation card; the code appears there when the SMS arrives.

The activation window is 20 minutes. If foodpanda never sends a code, or you cancel, the charge returns to your wallet automatically, so you only pay for codes that arrive.

Why might a foodpanda code not arrive?

A few causes cover nearly every miss. foodpanda, like many consumer apps, may refuse virtual numbers in some markets or for some actions. It may also limit how often one device, IP or account can request a code. And individual routes can be congested at times.

Useful habits for foodpanda SMS verification for testing:

  • Wait out the full window before cancelling.
  • Space retries out instead of ordering again in a tight loop.
  • Try another country route if the test case allows it.
  • Use sandbox mode on a development account while building the pipeline, so you aren't spending real orders on plumbing bugs.

No route can force a service to accept a number; the automatic refund exists for exactly that situation.

When is a Dedicated Number the better fit, and what are the ground rules?

A one-time Gateway number cannot receive a second code later. If a staging or QA account has to log in again weeks from now, a virtual number for foodpanda that you keep makes more sense: Dedicated Virtual Numbers are available in the United States and Canada, from $1.95/month, with inbound SMS in the dashboard and on your webhook. Elsewhere there is no self-serve long-term number; email [email protected] to ask. See virtual numbers for details.

Use OTP Route only for your own products and legitimate accounts: one account per real person or business, and always within foodpanda's terms and OTP Route's Acceptable Use Policy. foodpanda is a trademark of its owner, and OTP Route is not affiliated with it. Funding is a prepaid USD wallet with no monthly fee, topped up by card or USDT/USDC, with a PDF invoice for every top-up.

Frequently asked questions

What is the service id for foodpanda in the OTP Route API?

It is foodpanda. Pair it with a country id in the prices query and the activation request.

Can I automate foodpanda sign-up tests in CI?

Yes. Create a key per environment, order through the API, and wait for the activation.sms_received webhook or poll the activation.

Which country should my foodpanda test number come from?

The market the account is meant for. foodpanda localises by country, so matching the number to that market avoids rejected numbers and wrong regional flows.

Do I pay if foodpanda never sends the code?

No. A foodpanda order that sees no SMS in its 20 minutes, or that you cancel, is refunded to the wallet in full.

Will foodpanda accept every OTP Route number?

Not necessarily. Some services reject virtual numbers, so acceptance can vary by country and action.

Can the same foodpanda phone number get a code again next month?

A Gateway number handles one verification only. For repeat logins, use a US or Canadian Dedicated Number.

How do I check a webhook really came from OTP Route?

Recompute HMAC-SHA256 over the timestamp and raw body with your endpoint secret, compare it with the signature header, and reject stale timestamps.

Service names are trademarks of their respective owners. OTP Route is not affiliated with them. Use numbers lawfully, follow each service's terms and our Acceptable Use Policy.

Route your first OTP in minutes

Create a free account, top up your USD wallet and order a number from the dashboard or the API. No monthly fee.