Песочница
Тестовая покупка
Симуляция покупки без денег.
POST
https://merchant.dbdlobby.com/sandbox/purchase/{productId}sandbox-success → 201, sandbox-insufficient-balance → 402, sandbox-unavailable → 409, любой другой ID → 404 с подсказкой.
idempotencyKey и webhookUrl работают так же, как в боевом API. Вебхук приходит только для успешного заказа, подписан тем же секретом и содержит "sandbox": true; до 3 попыток.
Тестовые заказы хранятся 24 часа. Лимит песочницы отдельный и строже боевого.
Заголовки
| Имя | Тип | Описание |
|---|---|---|
X-Entity-Keyобязателен | string | Ключ доступа клиента. См. «Аутентификация». |
Content-Typeобязателен | string | application/json — иначе 415. |
Параметры пути
| Имя | Тип | Описание |
|---|---|---|
productIdобязателен | string | ID товара песочницы. Пример: sandbox-success |
Тело запроса
JSON-объект, не больше 10 КБ. Все поля необязательны — можно отправить {}.
| Имя | Тип | Описание |
|---|---|---|
idempotencyKey | string | Как в боевом API, до 128 символов. Пример: order-7731 |
webhookUrl | string (URL) | Куда отправить уведомление об исходе заказа. Только https, до 2048 символов, без логина/пароля в URL, не localhost и не внутренние адреса. Пример: https://shop.example.com/hooks/merchant |
Ответы
201 Created
{
"status": "success",
"order": {
"id": "sandbox_px8cqEgyiFCA",
"clientId": 7,
"productId": "sandbox-success",
"quantity": 1,
"idempotencyKey": "sb-1",
"price": 100,
"currency": "RUB",
"status": "completed",
"failureReason": null,
"webhookUrl": null,
"webhookStatus": null,
"webhookAttempts": 0,
"sandbox": true,
"createdAt": "2026-11-13T12:36:52.979Z",
"updatedAt": "2026-11-13T12:36:52.980Z"
}
}