Создание платежа (виджет)
Last updated
Last updated
Виджет - это всплывающее окно с формой оплаты.
Для использования виджета вам достаточно добавить его код на страницу сайта, настроить передачу параметров и создать событие его вызова (например, нажатие на кнопку).
Код примера и описание используемых параметров виджета расположены в личном кабинете Unitpay в настройках проекта на вкладке "Виджет оплаты" (на скриншоте ниже).
Обязательные параметры:
Значение
Описание
publicKey
строка
Публичный ключ проекта (PUBLIC KEY)
sum
число
Сумма платежа (например, 10.00);
account
строка
Идентификатор абонента в вашей системе (например, email абонента или номер заказа)
domainName
строка
unitpay.ru
signature
строка
Цифровая подпись запроса. Они защищает вас от злоумышленников - подмены описания или стоимости заказа, размещения ссылки на оплату на ресурсах мошенников. Образуется как sha256( account + "{up}" + currency + "{up}" + desc + "{up}" + sum + "{up}" + secretKey), где sha256 - метод хеширования; "{up}" - разделитель параметров в хеш-функции; secretKey - секретный ключ проекта (доступен в личном кабинете) Важно! Если вы не передаете currency на форму оплаты, то этот параметр не должен участвовать в формировании подписи.
desc
строка
Описание заказа для покупателя
Дополнительные параметры:
Значение
Описание
locale
ru, en
Принудительное назначение языка виджета.
currency
строка
Валюта суммы оплаты, допустимые значения: "RUB", "UAH", "BYR", "EUR", "USD" (по умолчанию RUB). Если платежная система не поддерживает требуемую валюту, то сумма будет сконвертирована в валюту по умолчанию.
paymentType
строка
hideMenu
true, false
Скрывает меню с выбором способов оплаты.
hideOtherMethods
true, false
Скрывает окно выбора других способов оплаты
subscription
true
subscriptionId
число
preauth
0,1
preauthExpireLogic
число
Поле для логики блокировки платежей с преавторизацией:
0 - При отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет подтвержден;
1 - При отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет отменен.
Если параметр не будет использован, платеж будет отменен по истечении срока.
Если вы подключили онлайн-кассу в личном кабинете Unitpay, то для формирования чеков необходимо дополнительно передать ряд параметров:
Значение
Описание
cashItems
строка
Может быть сформирован, как в примере или следующими способами: btoa(unescape(encodeURIComponent(JSON.stringify([{"name":"Шаверма", "count": 1, "price":10.00, "type":"commodity"}])))) ________________________
const cashItems = [{ name: 'Shaverma', count: 1, price: this.amount, type: 'commodity' }];
customerEmail
строка
Электронная почта клиента, на которую будет отправлен чек
customerPhone
строка
Телефон плательщика в международном формате без "+" (чек на него не будет отправлен)
Если возникнут какие-то дополнительные вопросы по ходу интеграции, вы можете задать их в чате Юнит.Помощь или адресовать вопрос на partners@unitpay.ru
, через которую будет идти оплата.
Используйте данный флаг, если требуется создать подписку по карте плательщика. Идентификатор подписки (subscriptionId) будет передан в методе PAY на ваш . Использование подписок возможно только после согласования со Службой безопасности Unitpay.
Идентификатор , по которой требуется произвести списание средств. Данный параметр должен быть предварительно получен в методе PAY на ваш
Используйте этот флаг для создания платежа с , по умолчанию флаг выключен и значение равно 0
btoa(JSON.stringify(cashItems)) Подробнее