Перейти к содержимому
API
Открыть .md
На странице

Симуляция оплаты

Переводите тестовый инвойс в выбранный платёжный результат и проверяйте тот же жизненный цикл и вебхуки, что при подтверждённой транзакции.

POST/v1/sandbox/invoices/:invoice_id/simulate-payment

API-ключ: Payment · Окружение: только тестовое

Симулирует подтверждённую оплату без движения реальных средств. Инвойс должен принадлежать авторизованному мерчанту и тестовому окружению. Ключ рабочего режима отклоняется.

Тело запроса

Обязательное поле stage принимает ровно одно значение:

  • paid — оплатить оставшуюся сумму;
  • overpaid — оплатить остаток со случайной положительной переплатой;
  • underpay — оплатить случайную положительную часть остатка. Если разрешены несколько платежей, вызовы можно повторять, а платежи складываются; иначе инвойс закрывается со статусом underpaid;
  • cancel — отменить инвойс, если его состояние ещё допускает отмену.
  • paid_late — оплатить полную ожидаемую сумму после срока. Инвойс без денег (awaiting_payment) закроется как expired, частично оплаченный (underpaid_waiting) — как underpaid, а уже закрытый как expired или underpaid свой статус сохранит. В payment.paid остаётся только то, что пришло до срока, — как в рабочем режиме, где платёж после срока зачисляется на баланс отдельно от инвойса. Инвойс получает отметку поздней оплаты, и вебхук приходит один — invoice.paid_late.

Для underpay запрос отклоняется без изменения инвойса, если из-за точности токена или допуска нельзя выбрать положительную частичную сумму ниже порога автоматического подтверждения. Вебхук статуса отправляется только при изменении статуса.

{
  "stage": "paid"
}

Все суммы сервер вычисляет сам, по данным инвойса. Клиент их не рассчитывает.

Ответ (200 OK)

Возвращает обновлённый ресурс инвойса и создаёт те же события жизненного цикла и вебхуки, что соответствующий реальный результат. Поля ответа описаны в разделе Получение инвойса.