Widget

Платежный виджет — всплывающая форма для ввода реквизитов карты и e-mail адреса плательщика. Виджет автоматически определяет тип платежной системы: Visa, MasterCard, Maestro или МИР, а также банк-эмитент карты и показывает соответствующие логотипы. Форма оптимизирована для использования в любых браузерах и мобильных устройствах. Внутри виджета открывается iframe, который гарантирует безопасность передачи карточных данных и не требует от ТСП сертификации для использования

Установка


Для установки виджета необходимо прописать на сайте скрипт в раздел head

<script src="https://widget.cloudpayments.ru/bundles/cloudpayments"></script>

Для появления платежной формы зарегистрировать функцию для вызова методов charge или auth

//note: в примере используется библиотека jquery

this.pay = function () {
    var widget = new cp.CloudPayments();
    widget.charge({ // options
            publicId: 'test_api_00000000000000000000001',  //id из личного кабинета
            description: 'Пример оплаты (деньги сниматься не будут)', //назначение
            amount: 10, //сумма
            currency: 'RUB', //валюта
            invoiceId: '1234567', //номер заказа  (необязательно)
            accountId: 'user@example.com', //идентификатор плательщика (необязательно)
            data: {
                myProp: 'myProp value' //произвольный набор параметров
            }
        },
        function (options) { // success
            //действие при успешной оплате
        },
        function (reason, options) { // fail
            //действие при неуспешной оплате
        });
};    
           

и прописать вызов функции на событие, например, нажатие кнопки «Оплатить».

$('#checkout').click(pay);

Параметры

Вызов функции charge или функции auth определяет схему проведения оплаты: charge для одностадийной, auth — для двухстадийной.

Параметр Формат Применение Описание
publicId String Обязательный Идентификатор сайта, находится в ЛК.
description String Обязательный Описание назначения оплаты в произвольном формате
amount Float Обязательный Сумма оплаты
currency String Обязательный Валюта: RUB/USD/EUR/GBP (см. справочник)
invoiceId String Необязательный Номер заказа или счета
accountId String Обязательный для создания подписки Идентификатор пользователя
email String Необязательный E-mail адрес пользователя
requireEmail bool Необязательный Требовать указания e-mail адреса пользователя в виджете
data Json Необязательный Любые другие данные, которые будут связаны с транзакцией, в том числе инструкции для создания подписки или формирования онлайн-чека
Мы зарезервировали названия следующих параметров и отображаем их содержимое в реестре операций, выгружаемом в Личном Кабинете: name, firstName, middleName, lastName, nick, phone, address, comment, birthDate.

 

Можно определить поведение формы в случае успешной или неуспешной оплаты следующими параметрами:

Параметр Формат Применение Описание
onSuccess Function или String Необязательный Указывается либо функция, либо адрес страницы сайта. В случае указания функции, она будет вызвана после успешного завершения оплаты. В случае адреса — пользователь будет направлен на указанную страницу.
onFail Function или String Необязательный Указывается либо функция, либо адрес страницы сайта. В случае указания функции, она будет вызвана после неуспешного завершения платежа. В случае адреса — пользователь будет направлен на указанную страницу.

Локализация

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

var widget = new cp.CloudPayments({language: "en-US"});

Список поддерживаемых языков:

Язык Часовой пояс Код
Русский MSK ru-RU
Английский CET en-US
Латышский CET lv
Азербайджанский AZT az
Русский ALMT kk
Казахский ALMT kk-KZ
Украинский EET uk
Польский CET pl
Португальский CET pt

Рекуррентные платежи

После успешного завершения оплаты виджет может автоматически создавать подписку на рекуррентные платежи. Для это нужно добавить несколько параметров запуска:

Параметр Формат Применение Описание
Interval String Обязательный Интервал. Возможные значения: Day, Week, Month.
Period Int Обязательный Период. В комбинации с интервалом, 1 Month значит раз в месяц, а 2 Week — раз в две недели.
MaxPeriods Int Необязательный Максимальное количество платежей в подписке. По умолчанию без ограничений.
Amount Numeric Необязательный Сумма регулярного платежа. По умолчанию совпадает с суммой первого (установочного) платежа.
StartDate DateTime Необязательный Дата и время первого регулярного платежа. По умолчанию запуск произойдет через указанный интервал и период, например через месяц.
СustomerReceipt String Необязательный Данные для формирования онлайн-чека


 

Параметры для запуска регулярных платежей необходимо добавить в объект data.cloudPayments.recurrent по примеру ниже:

this.pay = function () {
    var widget = new cp.CloudPayments();
    var receipt = {
			Items: [//товарные позициии
                 {
					label: 'Наименование товара 3', //наименование товара
					price: 300.00, //цена
					quantity: 3.00, //количество
					amount: 900.00, //сумма
					vat: 18, //ставка НДС
                    method: 0, // тег-1214 признак способа расчета - признак способа расчета
    			    object: 0, // тег-1212 признак предмета расчета - признак предмета товара, работы, услуги, платежа, выплаты, иного предмета расчета
				}
			],
            taxationSystem: 0, //система налогообложения; необязательный, если у вас одна система налогообложения
			email: 'user@example.com', //e-mail покупателя, если нужно отправить письмо с чеком
			phone: '', //телефон покупателя в любом формате, если нужно отправить сообщение со ссылкой на чек
		    amounts:
	        {
		        electronic: 9.00, // Сумма оплаты электронными деньгами
		        advancePayment: 0.00, // Сумма из предоплаты (зачетом аванса) (2 знака после запятой)
		        credit: 0.00, // Сумма постоплатой(в кредит) (2 знака после запятой)
		        provision: 0.00 // Сумма оплаты встречным предоставлением (сертификаты, др. мат.ценности) (2 знака после запятой)
	        }
		};

    var data = {};
    data.cloudPayments = {recurrent: { interval: 'Month', period: 1, сustomerReceipt: receipt}}; //создание ежемесячной подписки

    widget.charge({ // options
        publicId: 'test_api_00000000000000000000001', //id из личного кабинета
        description: 'Подписка на ежемесячный доступ к сайту example.com', //назначение
        amount: 1000, //сумма
        currency: 'RUB', //валюта
        invoiceId: '1234567', //номер заказа  (необязательно)
        accountId: 'user@example.com', //идентификатор плательщика (обязательно для создания подписки)
        data: data
    },
    function (options) { // success
        //действие при успешной оплате
    },
    function (reason, options) { // fail
        //действие при неуспешной оплате
    });
};
        

Обратите внимание, что подписка будет создана только при указании параметра accountId, который может быть e-mail адресом, номером телефона или любым другим идентификатором плательщика.

 

Больше примеров создания рекуррентных платежей из виджета вы можете найти в разделе "Сценарии интеграции".

Для отмены рекуррентных платежей используйте возможности личного кабинета, API или предоставьте покупателю ссылку на сайт системы — https://my.cloudpayments.ru/unsubscribe, где он самостоятельно сможет найти и отменить свои подписки.

Тебе мало?
жми сюда