Robokassa API: POST /Merchant/Payment/Cancel — Отменить холдирование

Отменяет платёж в состоянии HOLD. OutSum передаётся, но в подписи вместо суммы пустой сегмент: MerchantLogin::InvoiceID:Пароль#1. Итоговый статус проверяют через OpStateExt.

Параметр Где Тип Обяз. Описание
MerchantLogin body string да Идентификатор магазина
InvoiceID body integer да Номер счёта
OutSum body string да Сумма (не входит в подпись)
SignatureValue body string да Подпись

Базовые URL

Авторизация

Тип: Другое

Стандартной схемы авторизации нет: каждый запрос подписывается контрольной суммой, состав которой зависит от метода. В личном кабинете магазина берутся MerchantLogin, Пароль#1, Пароль#2 (и Password3 для API возвратов), там же выбирается алгоритм хэша (в примерах документации — MD5). Пароль#1 используется для подписи запросов на оплату, Пароль#2 — для проверки уведомлений и XML-интерфейсов. Invoice API и Refund API принимают тело в виде JWT, подписанного HMAC.

Подпись запуска оплаты: MerchantLogin:OutSum:InvId:модификаторы:Пароль#1:Shp_*. Пример из документации (PHP, MD5):

$signature = md5("$merchantLogin:$outSum:$invId:$password1");

Нюансы

Сценарии с этим методом


Если этого недостаточно — официальная документация: https://docs.robokassa.ru/ru/quick-start Вся интеграция одним документом: https://mcp-everything.ru/integrations/robokassa.md