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

Виджет оплаты — это всплывающее окно (поп-ап), которое встраивается на сайт Продавца и появляется при нажатии на кнопку «Оплатить». Включает защищенные поля ввода платежных данных (данные обрабатывает Payture в соответствии со стандартами безопасности) и e-mail для отправки электронного чека в соответствии с требованиями 54-ФЗ. Платежный виджет оптимизирован для использования на мобильных устройствах и в различных браузерах.

На данный момент виджет работает только через InPay.

Установка

Пример раздела head на странице с виджетом:

<head>
    <script type="text/javascript" src="path/to/widget/payture-widget.min.js"></script>
    <link rel="stylesheet" type="text/css" href="path/to/widget/widgetStyles.css">
</head>

Пример вызова виджета при нажатии «Оплатить»:

<button id="start_widget" onclick="openWidget()">Оплатить</button>

Для установки виджета на сайт Продавцу необходимо выполнить следующие шаги:

  1. Запросить в службе поддержки Payture параметры тестового доступа.
  2. По умолчанию для виджета используются стандартные шаблоны Payture. Если Продавец желает изменить внешний вид шаблонов, необходимо подготовить и отправить в службу поддержки шаблон формы оплаты (Type=Pay) и шаблон с результатами операции (Type=Return), который открывается после 3DS-проверки. Продавец может как создать собственные шаблоны с нуля, так и изменить стандартные шаблоны для виджета Payture. Информацию, подробные технические сведения о создании шаблонов и примеры шаблонов для виджета вы можете получить на странице шаблонов в разделе «Шаблоны для виджета Payture».
  3. Подключить на странице в разделе head библиотеку payture-widget.min.js. Скачать payture-widget.min.js.
  4. Добавить в разделе head необходимые стили для работы виджета. Скачать widgetStyles.css.
  5. Задать функцию вызова виджета. Необходимые параметры задаются в конструкторе PaytureWidget().
  6. Настроить открытие виджета на какое-либо событие, например на нажатие кнопки «Оплатить».
  7. При необходимости настроить поведение сайта в зависимости от аргумента success функции из OnTransactionCompleted.
  8. Протестировать работу виджета на тестовой среде с использованием тестовых карт.
  9. Получить от службы поддержки Payture параметры рабочего доступа и выполнить переключение в рабочую среду.

Параметры виджета

Пример функции вызова виджета:

function openWidget() {
    var widget = new PaytureWidget({
        Key : "Merchant_Widget",
        Amount : 20,
        Product : "Оплата заказа №1",
        Domain : 2,
        CustomParams :
        {
            TemplateTag : "Default",
            Language : "Default",
            Name : "Иван Иванов",
            Delivery : "Самовывоз",
            OrderID : "1233abc6688",
            Url : "https://site.com/order"
        },
        ChequeParams :
        {
            Positions:[
               {
                  Quantity: 1.000,
                  Price: 10.00,
                  Tax: 2,
                  Text: "Чай"
               },
               {
                  Quantity : 2.000,
                  Price : 5.00,
                  Tax: 2,
                  Text: "Пирожок"
               }
            ],
            CustomerContact : "",
            Message: "Чек Payture"
        },
        OnTransactionCompleted : function(success) {
            alert( success );
        }
    });
}

Параметры, которые передаются в конструктор PaytureWidget():

ПараметрОписаниеФормат
KeyНаименование платежного ТерминалаString (Mandatory)
AmountСумма платежа в рублях с точностью до 2 цифр после точкиFloat (Mandatory)
ProductНазвание оплачиваемой покупки, которое будет выведено Покупателю в платежном виджете. Подставляется в плейсхолдер {Product} шаблона виджетаString [1..50] (Optional)
DomainНомер, обозначающий URL-адрес шлюза:
1 — Основной адрес Production среды (по умолчанию)
2 — Тестовая среда: https://sandbox3.payture.com
Integer (Optional)
SessionТип операции:
Pay — списание в рамках одностадийного платежа (по умолчанию)
Block — блокировка средств в рамках двухстадийного платежа. Заблокированные средства далее могут быть списаны командой Charge или разблокированы командой Unblock
String (Optional)
CustomParamsСодержит название и язык используемого шаблона виджета, а также любые дополнительные параметры Продавца (например, имя плательщика, описание доставки, номер заказа, адрес страницы). См. ниже подразделыObject (Optional)
ChequeParamsПараметры чека. Соответствует параметру Cheque в формате чека. См. ниже подразделыObject (Optional)
OnTransactionCompletedФункция, вызываемая после завершения транзакции перед закрытием виджета. Имеет один аргумент success — результат операции. true — успешный платеж, false — неуспешный платежFunction (Optional)

CustomParams

Параметры шаблона виджета. Дополнительно можно передавать любые произвольные поля Продавца — они будут доступны в шаблоне в качестве плейсхолдеров.

ПараметрОписание
TemplateTagНазвание используемого шаблона виджета.
Необходимо передавать, если Продавец применяет несколько шаблонов. Если параметр не передан, используется шаблон с названием Default. См. подробнее о шаблонах страниц оплаты.
LanguageЯзык шаблона виджета.
Необходимо передавать, если для шаблона используется несколько языков. Если параметр не передан, используется язык шаблона Default. См. подробнее о шаблонах страниц оплаты.

ChequeParams

Параметры формирования фискального чека. Ниже приведен минимальный набор полей:

ПараметрОписание
PositionsСписок позиций чека. Каждая позиция включает:
• Наименование позиции (Text)
• Кол-во единиц продукции (Quantity)
• Цена (Price)
• Налог (Tax)

Внимание! Сумма позиций чека должна равняться сумме операции в Amount. Подробное описание параметров позиции см. в документации по 54-ФЗ.
CustomerContactТелефон в формате 79165554444 или Email Покупателя для отправки чека. Используется, если Покупатель не укажет адрес отправки в виджете.
MessageТема письма или строка в SMS-сообщении.
В общем случае можно задать значение по умолчанию через службу поддержки Payture и не передавать.

Внимание!

Параметр success в OnTransactionCompleted рекомендуется использовать только для определения дальнейшего поведения веб-сайта Продавца. Этот параметр уязвим к манипуляциям мошенников и не может служить гарантией успешного платежа.

Для получения фактических результатов транзакции следует использовать нотификации.