Payment widget

The widget allows you to accept payments on your site without redirecting the client to a separate payment page. The customer chooses the payment method and confirms the payment in the widget.

Examples:

Demo of built-in widget

Demo of popup widget

Description

To show widget on your page you have to call init method of PMWidget object. After the initialization of the widget is completed, the callback function ready is called. Prior to payment acceptance "предварительный запрос". После совершения платежа вызывается одна из объявленных с помощью метода метода on функций (success, fail, close, error). Заказ считается успешно оплаченным только после получения "оповещения о платеже".

<div id="divId"></div>
<script type="text/javascript">
    window.PMWidgetCallback = function() {
        PMWidget.init({
                    embedTarget: '#divId',
                    mode: 'embed',
                    params: {
                        "LMI_MERCHANT_ID":"1412",
                        "LMI_PAYMENT_NO":"o-2193987",
                        "LMI_PAYMENT_AMOUNT":"10.99",
                        "LMI_PAYMENT_DESC":"Order description"
                    },
                    language: 'en'
                })
                .on('ready', function() {
                    console.log('READY');
                })
                .on('success', function() {
                    console.log('SUCCESS');
                })
                .on('fail', function(params) {
                    console.log('FAIL ' + params.message);
                })
                .on('close', function() {
                    console.log('CLOSE');
                })
                .on('error', function() {
                    console.log('ERROR');
                })
        ;
    };
</script>
<script type="text/javascript" src="https://lmi.paysoft.solutions/js/widget/initScript.js" async></script>

Параметры метода init

Название Название параметра Обязательный? Описание
Режим отображения mode Да embed - виджета встроен в страницу,
popup - всплывающий виджет
Язык виджета language Нет ru – русский язык
uk – украинский язык
en – английский язык
HTML элемент вставки embedTarget Нет Только для mode=embed. Селектор HTML элемента в который будет встроен виджет.
Параметры заказа params да Массив параметров
Идентификатор продавца LMI_MERCHANT_ID Да Идентификатор магазина. Идентификатор Продавец может получить в Кабинете(https://merchant.paysoft.solutions).
Сумма платежа LMI_PAYMENT_AMOUNT Да Сумма платежа, которую Продавец желает получить от Клиента. Сумма должна быть больше нуля, дробная часть отделяется точкой.
Внутренний номер заказа в системе учета Продавца LMI_PAYMENT_NO Нет В этом поле Продавец определяет номер заказа в соответствии со своей системой учета. Несмотря на то, что параметр не является обязательным, рекомендуется всегда задавать его, поскольку он нужен для корректной работы других интерфейсов. Желательно использовать уникальный номер для каждого платежа. Номер может содержать буквы английского алфавита, цифры и знак дефиса «-». Максимальная длина - 64 символов.
Назначение платежа LMI_PAYMENT_DESC Да* Описание товара или услуги. Формируется на стороне продавца. Если присутствует, добавляется в назначение платежа транзакции PaySoft. Максимальная длина - 255 символов, кодировка UTF-8.
Назначение платежа LMI_PAYMENT_DESC_BASE64 Да* Описание товара или услуги в UTF-8 с последующим кодированием с помощью алгоритма Base64. Формируется на стороне продавца. Если присутствует, то результат декодирования будет подставлен вместо LMI_PAYMENT_DESC. Позволяет не зависеть от кодирования на сайте Продавца.
Срок оплаты заказа LMI_EXPIRES Нет Срок, в течение которого заказ может быть оплачен. Передается в формате YYYY-MM-DD hh:mm:ss. Если параметр пустой, время оплаты является неограниченным.
Идентификатор платежного инструмента LMI_PAYMENT_SYSTEM Нет Идентификатор платежного инструмента, который Клиент выбрал для оплаты при формировании заказа на сайте продавца. Посмотреть перечень платежных инструментов можно в Кабинете.
Признак тестового режима LMI_SIM_MODE Нет Указывает, как проводить транзакцию после оплаты: 0 - всегда успешно, 1 - всегда неуспешно (возврат средств клиенту), 2 - вариативно (80% успешно, 20% не успешно)
Номер телефона Клиента LMI_PAYER_PHONE_NUMBER Нет** Номер телефона Клиента в формате 380xxxxxxxxx.
Электронный адрес Клиента LMI_PAYER_EMAIL Нет** Электронный адреса Клиента
Идентификатор клиента на стороне Продавца LMI_PAYER_ID Нет Может содержать буквы английского алфавита, цифры и знак дефиса «-». Максимальная длина 25 символов.
Сохранение реквизитов карты LMI_CREATE_TOKEN Нет Флаг, принимает значение 0 или 1. Если равен 1, то после успешной оплаты реквизиты карты, будут сохранены и возвращен параметр LMI_PAYMENT_TOKEN. См Списание по сохраненной карте
Контрольная подпись LMI_HASH Нет Контрольная подпись запроса. Если в Кабинете Продавца установлены соответствующие настройки «Включить проверку подписи формы запроса платежа», эта подпись будет использоваться для проверки целостности полученной информации и однозначной идентификации отправителя. Подпись является результатом шифрования строки, полученной путем склеивания (без разделителей) значений следующих параметров точно в указанном порядке:
LMI_MERCHANT_ID
LMI_PAYMENT_NO
LMI_PAYMENT_AMOUNT
secretKey

Алгоритм шифрования и Secret Key устанавливаются Продавцом в настройках его Кабинета, и известен только продавцу и системе PaySoft. Рекомендуемый алгоритм шифрования есть SHA256.
Дополнительные параметры Определяются Продавцом Нет Все поля формы, не имеющие в названии префикса "LMI_", принимаются сервисом PaySoft Merchant Interface и передаются (транслируются) без изменений на веб-сайт Продавца во всех других html-формах PaySoft Merchant Interface.

* - Лишь один из параметров LMI_PAYMENT_DESC или LMI_PAYMENT_DESC_BASE64 обязательно должен присутствовать!

** - Обязательность поля определяется настройками в Кабинете продавца.

Параметры метода on

Название Обязательный? Описание
Событие Да ready - при инициализации виджета,
success - при успешной оплате,
fail - при неуспешной оплате,
close - при закрытии виджета (только для mode=popup),
error - при ошибке
Функция Да Пользовательская функция, вызываемая при наступлении события

results matching ""

    No results matching ""