Sandbox
Every seeded store in all six markets, the real order machine, and rails that answer the way the real ones do — including the awkward ones. Nothing is charged and no courier is ever dispatched.
Try it
Run a call
The answer is the seed, formatted exactly as the API formats it. The ids you copy out of here work in your next request.
Request
Two of the store's first offer, delivery, the market's default rail.
One seeded store per market, with that market's currency and rails.
POST /v1/orderssandboxResponse · 201 Created
Answered from the sandbox seed in 43 ms
{ "id": "ord_sandbox_3003d179", "short_code": "3601", "market": "pt-lis", "merchant_id": "m-pt-001", "state": "PAYMENT_PENDING", "phase": "PAYMENT_PENDING", "currency": "EUR", "lines": [ { "item_id": "it-pt-001-01", "name": "Cachupa rica", "qty": 2, "unit_price_minor": 1100, "line_total_minor": 2200 } ], "totals": { "subtotal_minor": 2200, "delivery_fee_minor": 249, "total_minor": 2449 }, "payment": { "method": "mbway", "state": "INITIATED" }, "aggregate_version": 1, "created_at": "2026-10-07T12:45:00+01:00"}Simulate
Create a test order and advance it
Only the transitions the machine allows are offered. Every step emits the event your endpoint would receive, with the version that orders them.
Test order
The order starts in the market's default rail and runs the real machine. Nothing is charged and no courier is ever dispatched.
Payments
The callbacks that are hard to reproduce
A push that confirms, a push that expires, and a push that confirms seven minutes late when the order has already been cancelled.
# confirm the push immediately https://api.palopgo.com/v1/sandbox/payments/pay_01JBV8/confirm \ -H "Authorization: Bearer $PALOPGO_KEY" # let the five-minute window close instead https://api.palopgo.com/v1/sandbox/payments/pay_01JBV8/expire \ -H "Authorization: Bearer $PALOPGO_KEY" # confirm late, after the order already moved on https://api.palopgo.com/v1/sandbox/payments/pay_01JBV8/confirm \ -H "Authorization: Bearer $PALOPGO_KEY" \ -d '{ "delay_seconds": 420 }'Markets
What the sandbox seeds
One store per market, with that market's currency, rails and address style. Couriers, customers and events are seeded too.
- Cantinho da Tia Nha Lurdes
m-pt-001Lisboa · EUR · Cova da Moura - Mamã Dinha — Comida Caseira
m-ao-001Luanda · AOA · Maianga - Casa da Matapa — Dona Amélia
m-mz-001Maputo · MZN · Malhangalene - Kaza di Cachupa — Nha Bia
m-cv-001Praia · CVE · Plateau - Cozinha da Tia Aua
m-gw-001Bissau · XOF · Bandim - Roça Comida — Calulu da Dona Fátima
m-st-001São Tomé · STN · Riboque - Nha Terra — Cozinha Cabo-verdiana
m-uk-001Londres · GBP · Stockwell - Kaza di Nha Tita — Cozinha Cabo-verdiana
m-fr-001Paris · EUR · Château Rouge - Sabor di Kriolu
m-es-001Madrid · EUR · Lavapiés - Casa Matapa — Cozinha Moçambicana
m-de-001Berlim · EUR · Lichtenberg - Kitanda Angolana — República
m-br-001São Paulo · BRL · República - Nha Kaza — Cozinha Cabo-verdiana
m-nl-001Roterdão · EUR · Delfshaven - Sabores de Bonnevoie
m-lu-001Luxemburgo · EUR · Bonnevoie - Kaza di Nha Betinha
m-us-001Boston · USD · Bowdoin-Geneva
Limits
What sandbox does not do
- No money moves
- Rails answer instantly unless you ask them not to.
- No couriers
- Fulfilment events are emitted; nobody rides anywhere.
- Data resets
- Orders you create live for 7 days, then are swept.
- Same limits
- Rate limits and scopes behave exactly as in production.