Создание платежа (виджет)
Виджет - это всплывающее окно с формой оплаты.
Для использования виджета вам достаточно добавить его код на страницу сайта, настроить передачу параметров и создать событие его вызова (например, нажатие на кнопку).
Код примера и описание используемых параметров виджета расположены в личном кабинете 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) будет передан в методе PAY на ваш обработчик платежа. Использование подписок возможно только после согласования со Службой безопасности Unitpay. |
subscriptionId | число | Идентификатор подписки, по которой требуется произвести списание средств. Данный параметр должен быть предварительно получен в методе PAY на ваш обработчик платежа |
preauth | 0,1 | Используйте этот флаг для создания платежа с преавторизацией, по умолчанию флаг выключен и значение равно 0 |
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' }]; btoa(JSON.stringify(cashItems)) Подробнее тут |
customerEmail | строка | Электронная почта клиента, на которую будет отправлен чек |
customerPhone | строка | Телефон плательщика в международном формате без "+" (чек на него не будет отправлен) |
Если возникнут какие-то дополнительные вопросы по ходу интеграции, вы можете задать их в чате Юнит.Помощь или адресовать вопрос на partners@unitpay.ru
Last updated