Создаёт одноразовую или многоразовую ссылку на оплату (хост services.robokassa.ru). Тело — строка JWT; секрет для HMAC — MerchantLogin:Пароль#1 (для тестового счёта с AdditionalParameters.IsTest=1 — тестовый Пароль#1). Ниже — поля payload.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
MerchantLogin |
body | string | да | Логин магазина |
InvoiceType |
body | string | да | OneTime или Reusable |
Culture |
body | string | нет | ru, en |
InvId |
body | integer | нет | Номер счёта |
OutSum |
body | number | нет | Сумма |
ExpirationDate |
body | string | нет | Окончание действия счёта |
Description |
body | string | нет | Описание |
InvoiceItems |
body | array | нет | Позиции для чека |
Aliases |
body | array | нет | Доступные способы оплаты |
Sno |
body | string | нет | Система налогообложения |
AdditionalParameters |
body | object | нет | Доп. параметры формы: IsTest, IncCurrLabel, PaymentMethods, Email, ResultURL2, StepByStep и др. |
Пример ответа:
{"id":"01234567-89ab-4cde-8f01-23456789abcd","invId":1234567890,"url":"https://auth.robokassa.ru/merchant/Invoice/AbCdEfGhIjKlMnOpQrStUv","isSuccess":true}
https://auth.robokassa.ruhttps://services.robokassa.ruТип: Другое
Стандартной схемы авторизации нет: каждый запрос подписывается контрольной суммой, состав которой зависит от метода. В личном кабинете магазина берутся 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");
OutSum, InvId, Fee, EMail, SignatureValue, PaymentMethod, IncCurrLabel и параметры Shp_*. Подпись проверяют по формуле OutSum:InvId:Пароль#2:Shp_* и только потом меняют статус заказа.OK + номер заказа (например OK12), иначе уведомление считается недоставленным.Shp_ возвращаются в уведомлениях без изменений и включаются в подпись в алфавитном порядке.StepByStep=true) в строку подписи добавляется модификатор true: MerchantLogin:OutSum:InvId:true:Пароль#1.Result.Code или isSuccess.Если этого недостаточно — официальная документация: https://docs.robokassa.ru/ru/quick-start Вся интеграция одним документом: https://mcp-everything.ru/integrations/robokassa.md