Сценарий из mcp-everything. Актуально на 2026-10-24.
Деньги замораживаются при заказе и списываются после сборки — или возвращаются на карту, если товара нет.
# Подтвердить списание (сумма — не больше заблокированной)
curl -X POST https://api.cloudpayments.ru/payments/confirm \
-u '<Public ID>:<API Secret>' \
-H 'Content-Type: application/json' \
-d '{"TransactionId": 455, "Amount": 65.98}'
# Или отменить блокировку
curl -X POST https://api.cloudpayments.ru/payments/void \
-u '<Public ID>:<API Secret>' \
-H 'Content-Type: application/json' \
-d '{"TransactionId": 455}'
https://api.cloudpayments.ruТип: Basic Auth
HTTP Basic Auth: логин — Public ID, пароль — API Secret. Оба значения есть в личном кабинете. Без заголовка авторизации или с неверными данными API возвращает HTTP 401 Unauthorized. API Secret нужно хранить в защищённом месте.
Параметры передаются методом POST в теле запроса: application/x-www-form-urlencoded («ключ=значение») или application/json. Ответ всегда JSON и содержит как минимум Success и Message.
{ "Success": false, "Message": "Invalid Amount value" }
Те же параметры и ответы, что у /payments/cards/charge. Деньги блокируются и списываются только после вызова /payments/confirm.
Те же параметры, что у /payments/tokens/charge; требует последующего подтверждения через /payments/confirm.
Подтверждение платежа, проведённого по двухстадийной схеме.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
TransactionId |
body | Long | да | Номер транзакции в системе |
Amount |
body | Number | да | Сумма подтверждения в валюте транзакции |
JsonData |
body | Json | нет | Данные транзакции, в том числе для онлайн-чека |
Пример запроса:
{"TransactionId":455,"Amount":65.98}
Пример ответа:
{"Success":true,"Message":null}
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
TransactionId |
body | Long | да | Номер транзакции в системе |
Пример запроса:
{"TransactionId":455}
Пример ответа:
{"Success":true,"Message":null}
Success в ответе показывает только успешность запроса, а не статус транзакции. Статус транзакции смотрят в поле Model.Status или в уведомлениях.X-Request-ID с уникальным значением; результат хранится 1 час, новый запрос требует нового значения.Payer.Phone (только цифры, например +71234567890), иначе банки отклоняют операции.X-Content-HMAC и Content-HMAC: HMAC-SHA256 от тела запроса (для GET — от строки параметров) в UTF-8, ключ — API Secret, результат в base64.{"code":0} — принять платёж; коды 10, 11, 12, 13, 20 отклоняют его (неверный InvoiceId, AccountId, сумма, платёж не принят, просрочен).Если этого недостаточно — официальная документация: https://developers.cloudpayments.ru/#api Вся интеграция одним документом: https://mcp-everything.ru/integrations/cloudpayments.md