Sandbox

API Documentation · Zypher Global

Generate credentials

The Sandbox lets you validate your entire integration (create a charge, receive the webhook, check status) WITHOUT moving real money. Nothing is actually confirmed, it is 100% isolated.

A request with the Test Key NEVER touches a real acquirer, balance or transaction. Responses have the same format as production (+ the "sandbox": true field).

Test Key (public)

Use these ready-to-go credentials, no need to generate anything. They are public on purpose (the sandbox moves no money).

Headers
X-Client-Id: xpagsandbox_00000000
X-Client-Secret: 202620262026202620262026

1) Create a test charge

POST /cashin · same route as production. Change currency to BRL · MXN to test each currency.

Body
{
  "currency": "BRL",
  "amount": 100.00,
  "external_id": "TESTE-001",
  "webhook_url": "https://seusistema.com/webhooks/zypherglobal"
}
Response
{
  "sandbox": true,
  "ok": true,
  "status": "pending",
  "currency": "BRL",
  "amount": 100,
  "fee": 3,
  "request_number": "sbx_...",
  "transaction_id": "SBX-...",
  "copy_paste": "00020101...TEST...",
  "expire_minutes": 30
}

Keep the transaction_id, you use it to simulate the payment in the next step. Each currency returns its matching payment instruction in the response (e.g. clabe for MXN, payee_data for COP).


2) Simulate the payment (fires the webhook)

POST /sandbox/simulate · confirms (or fails) the test charge and fires the webhook to your webhook_url, identical to production.

Body
{
  "transaction_id": "SBX-...",
  "outcome": "paid"
}

outcome: paid · failed · expired — test every scenario of your handler.

Webhook sent to your URL
{
  "sandbox": true,
  "type": "cashin",
  "status": "confirmed",
  "amount": 100,
  "fee": 3,
  "transaction_id": "SBX-...",
  "external_id": "TESTE-001",
  "e2e": "E...",
  "provider": "Zypher Global"
}

Test balance and withdrawal

In the sandbox the /balance returns a high test balance, so you can test /cashout (withdrawal) without real funds. The test withdrawal also accepts /sandbox/simulate to simulate settlement.

Currency conversion is NOT yet available in the sandbox (it moves real balance). Everything else, cash in, cash out, status, balance and webhook, works.
Was this page helpful?