README

Платежный виджет

Виджет позволяет принимать платежи на Вашем сайте без перенаправления клиента на отдельную платежную страницу. Клиент выбирает метод оплаты и подтверждает оплату в виджете.

Примеры:

Пример виджета встроенного в страницу

Пример всплывающего виджета

Описание

Для создания платежного виджета на странице необходимо вызвать метод init объекта PMWidget. После завершения инициализации виджета происходит вызов функции переданной в методе on с параметром ready. Перед приемом платежа вызывается "предварительный запрос". После совершения платежа вызывается одна из объявленных с помощью метода метода 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: 'ru'
                })
                .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.paymaster.ua/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.paymaster.ua).

Сумма платежа

LMI_PAYMENT_AMOUNT

Да

Сумма платежа, которую Продавец желает получить от Клиента. Сумма должна быть больше нуля, дробная часть отделяется точкой.

Внутренний номер заказа в системе учета Продавца

LMI_PAYMENT_NO

Нет

В этом поле Продавец определяет номер заказа в соответствии со своей системой учета. Несмотря на то, что параметр не является обязательным, рекомендуется всегда задавать его, поскольку он нужен для корректной работы других интерфейсов. Желательно использовать уникальный номер для каждого платежа. Номер может содержать буквы английского алфавита, цифры и знак дефиса «-». Максимальная длина - 64 символов.

Назначение платежа

LMI_PAYMENT_DESC

Да*

Описание товара или услуги. Формируется на стороне продавца. Если присутствует, добавляется в назначение платежа транзакции PayMaster. Максимальная длина - 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_PAYMENT_TOKEN

Нет

Передается уже сохраненый токен карты. Оплата будет производится с подтверждением CVV и 3DSecure

Контрольная подпись

LMI_HASH

Нет

Контрольная подпись запроса. Если в Кабинете Продавца установлены соответствующие настройки «Включить проверку подписи формы запроса платежа», эта подпись будет использоваться для проверки целостности полученной информации и однозначной идентификации отправителя. Подпись является результатом шифрования строки, полученной путем склеивания (без разделителей) значений следующих параметров точно в указанном порядке: LMI_MERCHANT_ID LMI_PAYMENT_NO LMI_PAYMENT_AMOUNT secretKey Алгоритм шифрования и Secret Key устанавливаются Продавцом в настройках его Кабинета, и известен только продавцу и системе PayMaster. Рекомендуемый алгоритм шифрования есть SHA256.

Дополнительные параметры

Определяются Продавцом

Нет

Все поля формы, не имеющие в названии префикса "LMI_", принимаются сервисом PayMaster Merchant Interface и передаются (транслируются) без изменений на веб-сайт Продавца во всех других html-формах PayMaster Merchant Interface.

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

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

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

Название

Обязательный?

Описание

Событие

Да

ready - при инициализации виджета, success - при успешной оплате, fail - при неуспешной оплате, close - при закрытии виджета (только для mode=popup), error - при ошибке

Функция

Да

Пользовательская функция, вызываемая при наступлении события

Last updated