API reference
Sandbox simulations
Device-free test scenarios for sandbox keys. Simulations are separate resources: they never change real payments or financial totals.
Create a simulation
/v1/sandbox/simulationsCreates an isolated simulated payment with the outcome you choose and sends its signed sandbox.simulation.* webhook. Sandbox keys only; simulations never change real payments.
Auth Secret API key as Authorization: Bearer. Call from your server only.
Headers
Idempotency-Keyrequiredstring16–128 chars
Request body
scenariorequiredstringOne of
paiddeclinedrequiresActionexpiredreferencerequiredstring1–255 charsamountCentsrequiredinteger500–100000000currencyrequiredstringAlways
USDmethodstringOne of
cardwalletDefault
"wallet"
Responses
Isolated simulation resource; do not use for real fulfillment.
dataobjectidstring <uuid>environmentstringAlways
sandboxsimulationbooleanAlways
truestatusstringOne of
paidfailedrequiresActionexpiredscenariostringOne of
paiddeclinedrequiresActionexpiredmethodstringOne of
cardwalletreferencestringamountCentsintegercurrencystringAlways
USDcreatedAtstring <date-time>expiresAtstring <date-time>failureCodestringcan be nullfailureMessagestringcan be nullwebhookStatusstringOne of
pendingprocessingdelivereddead
Sanitized error.
Error codesinvalid_request
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesunauthorized
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codessandbox_required
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesnot_found
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesidempotency_key_reused
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesvalidation_failed
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesrate_limited
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesservice_unavailable
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
See errors and idempotency for how to handle each error code.
curl -X POST "https://api.wegopay.tech/v1/sandbox/simulations" \
-H "Authorization: Bearer $WEGOPAY_API_KEY" \
-H "Idempotency-Key: order-1042-create" \
-H "Content-Type: application/json" \
-d '{
"scenario": "requiresAction",
"method": "wallet",
"amountCents": 500,
"currency": "USD",
"reference": "SIM-order-1"
}'{
"data": {
"id": "7d5c2f1e-4b8a-4c3e-9f21-6a0b8e4d1c55",
"environment": "sandbox",
"simulation": true,
"status": "paid",
"scenario": "paid",
"method": "card",
"reference": "order-1042",
"amountCents": 1500,
"currency": "USD",
"createdAt": "2026-10-11T12:00:00Z",
"expiresAt": "2026-10-11T12:00:00Z",
"failureCode": "string",
"failureMessage": "string",
"webhookStatus": "pending"
}
}Retrieve a simulation
/v1/sandbox/simulations/{id}Retrieves a simulation and the delivery status of its webhook.
Auth Secret API key as Authorization: Bearer. Call from your server only.
Path parameters
idrequiredstring <uuid>
Responses
Isolated simulation resource; do not use for real fulfillment.
dataobjectidstring <uuid>environmentstringAlways
sandboxsimulationbooleanAlways
truestatusstringOne of
paidfailedrequiresActionexpiredscenariostringOne of
paiddeclinedrequiresActionexpiredmethodstringOne of
cardwalletreferencestringamountCentsintegercurrencystringAlways
USDcreatedAtstring <date-time>expiresAtstring <date-time>failureCodestringcan be nullfailureMessagestringcan be nullwebhookStatusstringOne of
pendingprocessingdelivereddead
Sanitized error.
Error codesinvalid_request
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesunauthorized
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codessandbox_required
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesnot_found
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesidempotency_key_reused
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesvalidation_failed
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesrate_limited
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesservice_unavailable
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
See errors and idempotency for how to handle each error code.
curl "https://api.wegopay.tech/v1/sandbox/simulations/7d5c2f1e-4b8a-4c3e-9f21-6a0b8e4d1c55" \
-H "Authorization: Bearer $WEGOPAY_API_KEY"{
"data": {
"id": "7d5c2f1e-4b8a-4c3e-9f21-6a0b8e4d1c55",
"environment": "sandbox",
"simulation": true,
"status": "paid",
"scenario": "paid",
"method": "card",
"reference": "order-1042",
"amountCents": 1500,
"currency": "USD",
"createdAt": "2026-10-11T12:00:00Z",
"expiresAt": "2026-10-11T12:00:00Z",
"failureCode": "string",
"failureMessage": "string",
"webhookStatus": "pending"
}
}Complete a simulation
/v1/sandbox/simulations/{id}/completeCompletes a requiresAction simulation as paid or declined.
Auth Secret API key as Authorization: Bearer. Call from your server only.
Path parameters
idrequiredstring <uuid>
Headers
Idempotency-Keyrequiredstring16–128 chars
Request body
outcomerequiredstringOne of
paiddeclined
Responses
Isolated simulation resource; do not use for real fulfillment.
dataobjectidstring <uuid>environmentstringAlways
sandboxsimulationbooleanAlways
truestatusstringOne of
paidfailedrequiresActionexpiredscenariostringOne of
paiddeclinedrequiresActionexpiredmethodstringOne of
cardwalletreferencestringamountCentsintegercurrencystringAlways
USDcreatedAtstring <date-time>expiresAtstring <date-time>failureCodestringcan be nullfailureMessagestringcan be nullwebhookStatusstringOne of
pendingprocessingdelivereddead
Sanitized error.
Error codesinvalid_request
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesunauthorized
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codessandbox_required
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesnot_found
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesidempotency_key_reused
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesvalidation_failed
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesrate_limited
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
Sanitized error.
Error codesservice_unavailable
errorobjectcodestringOne of
invalid_requestunauthorizedsandbox_requiredmerchant_requirednot_foundidempotency_key_reusedsimulation_not_actionablewebhook_not_configuredvalidation_failedrate_limitedservice_unavailablemessagestring
See errors and idempotency for how to handle each error code.
curl -X POST "https://api.wegopay.tech/v1/sandbox/simulations/7d5c2f1e-4b8a-4c3e-9f21-6a0b8e4d1c55/complete" \
-H "Authorization: Bearer $WEGOPAY_API_KEY" \
-H "Idempotency-Key: order-1042-create" \
-H "Content-Type: application/json" \
-d '{
"outcome": "paid"
}'{
"data": {
"id": "7d5c2f1e-4b8a-4c3e-9f21-6a0b8e4d1c55",
"environment": "sandbox",
"simulation": true,
"status": "paid",
"scenario": "paid",
"method": "card",
"reference": "order-1042",
"amountCents": 1500,
"currency": "USD",
"createdAt": "2026-10-11T12:00:00Z",
"expiresAt": "2026-10-11T12:00:00Z",
"failureCode": "string",
"failureMessage": "string",
"webhookStatus": "pending"
}
}