init

Инициализация платежа (авторизация не требуется)

POST https://pro.selfwork.ru/merchant/v1/init

Инициализация страницы оплаты

Запрос необходимо отправлять с заголовками Content-Type: application/x-www-form-urlencoded Origin: https://домен-вашего-сайта/ Referer: домен-вашего-сайта

Request Body

NameTypeDescription

order_id*

string

Уникальный идентификатор заказа вашего магазина. Создается на вашей стороне. (Максимум 50 символов)

amount*

string

Стоимость платежа, в копейках

info[0][name]*

string

Наименование товара. Будет отображаться в чеке.

info[0][quantity]*

integer

Количество позиций по товару. Будет отображаться в чеке.

info[0][amount]*

integer

Стоимость одного товара. Будет отображаться в чеке.

signature*

string

Подпись запроса. Создается на вашей стороне.

info[1..5][(name|quantity|amount)]

Другие покупки из списка. Всего допустимо не более 6 элементов

Сервер отправит HTML-страницу для оплаты заказа. Если подпись запроса некорректная, магазин заблокирован или произошла ещё какая-то ошибка, она отобразится внутри HTML-страницы

Подпись запроса

Для формирования подписи используются параметры:

Никому не сообщайте секретный ключ. Он не должен фигурировать в запросе, в Javascript или внутри HTML-страницы. Секретный ключ не должен быть виден в браузере магазина. Если есть подозрение, что секретный ключ скомпрометирован, тогда сгенерируйте новый ключ в личном кабинете.

От полученной строки вычисляется хэш по алгоритму SHA-256, это значение нужно передать в параметр signature.

Пример:

order_id: "97e196c0-a344-4230-a028"
amount: "400000"
info:
    "name":"Cвитер ручной работы", "quantity":"2", "amount":"100000"
    "name":"Штаны ручной работы", "":"1", "amount":"200000"
api_key: "UxYjU5ZDMxOGU1ZmFjYzE3"

Тогда в signature нужно передать:
sha256 от (97e196c0-a344-4230-a028400000Cвитер ручной работы2100000Штаны ручной работы1200000UxYjU5ZDMxOGU1ZmFjYzE3)

В итоге получим (sha256):
bb79c263a69ccbd616c11e94c53c47399a32d9a103797839726ba661d374a551

Last updated