Checkout
Checkout — решение, которое позволяет встроить готовую платёжную форму на ваш веб-сайт.
Варианты реализации
Использование инвойса
Сценарий описан в данной статье (см. случай, когда оплата производится с платёжной формы Empayre).
Ниже приведены:
- список возможных атрибутов для управления внешним видом и поведением платёжной формы;
- пример встраивания Checkout для HTML/JS;
HTML и JS
В данной таблице содержится список атрибутов, которые можно использовать как для HTML, так и для JS.
data-* атрибут HTML | Свойство конфигурации JS | Описание | Обязательность | Возможные значения |
---|---|---|---|---|
data-invoice-id | invoiceID | Идентификатор инвойса | + | oVU2LzUCbQ |
data-invoice-access-token | invoiceAccessToken | Ключ доступа к инвойсу | + | eyJhbGciOiJSUzI1N... |
data-name | name | Наименование компании или сайта | - | Company name |
data-description | description | Описание продукта или сервиса | ||
data-email | email покупателя, будет предзаполнен на форме | - | example@mail.com | |
data-obscure-card-cvv | obscureCardCvv | Затенять карточный CVV-код | - | true/false |
data-require-card-holder | requireCardHolder | Требовать от покупателя заполнять поле «card holder» | - | true/false |
data-locale | locale | Настройка локализации платёжной формы | - | auto/ru/en |
data-recurring | recurring | Признак рекуррентного платежа | - | true/false |
data-redirect-url | redirectUrl | URL на который будет перенаправлен контекст браузера после успешного платежа | - | https://resource-url/... |
HTML
В данной таблице содержится список атрибутов, которые можно использовать только для HTML.
data-* атрибут | Описание | Обязательность | Возможные значения |
---|---|---|---|
data-label | Текст кнопки открытия формы | - | Pay with Empayre |
<form action="https://<your-server-side>" method="GET">
<script
src="https://checkout.empayre.com/checkout.js"
class="vality-checkout"
data-invoice-id="string"
data-invoice-access-token="string"
data-name="Company name"
data-description="Some product"
data-label="Pay with Empayre"
></script>
</form>
С помощью form
можно задать url для callback'a об успешном проведении платежа.
JS
В данной таблице содержится список атрибутов, которые можно использовать только для JS.
Свойство конфигурации | Описание | Обязательность | Возможные значения |
---|---|---|---|
opened | callback'a об открытии окна Checkout | - | function |
closed | callback о закрытии окна Checkout | - | function |
finished | callback об успешном проведении платежа | - | function |
const checkout = ValityCheckout.configure({
invoiceID: "string",
invoiceAccessToken: "string",
name: "Company name",
description: "Some product",
opened: function () {
console.log("Checkout opened");
},
closed: function () {
console.log("Checkout closed");
},
finished: function () {
console.log("Payment successful finished");
},
});
document.getElementById("customButton").addEventListener("click", function () {
checkout.open();
});
window.addEventListener("popstate", function () {
checkout.close();
});
Использование шаблона инвойса
Шаблон инвойса позволяет совершать произвольное количество платежей с идентичными параметрами без необходимости создавать счёт для каждого из них.
Сценарий использования Checkout в данном случае аналогичен тому, что описан для создания инвойса. Однако, вместо метода createInvoice используется createInvoiceTemplate.
Список возможных атрибутов немного отличается от приведённого в данном разделе. Различия описаны таблицами ниже. В остальном наборы атрибутов идентичны.
При оплате шаблона инвойса покупатель может самостоятельно указать сумму. Возможность указания произвольной суммы задается при вызове createInvoiceTemplate: см. price
→ costType
для templateType:InvoiceTemplateSingleLine
.
Сумму также допускается предзаполнить (без возможности ее редактирования на форме оплаты).
HTML
Данная таблица отражает различия в использовании атрибутов для HTML.
data-* атрибут (инво йс) | data-* атрибут (шаблон инвойса) |
---|---|
data-invoice-id | data-invoice-template-id |
data-invoice-access-token | data-invoice-template-access-token |
JS
Данная таблица отражает различия в использовании атрибутов для JS.
data-* атрибут (инвойс) | data-* атрибут (шаблон инвойса) |
---|---|
invoiceID | invoiceTemplateID |
invoiceAccessToken | invoiceTemplateAccessToken |
HTML и JS
Для того чтобы предзаполнить сумму оплаты для покупателя, необходимо передать нижеописанный параметр.
data-* атрибут HTML | Свойство конфигурации JS | Описание | Тип |
---|---|---|---|
data-amount | amount | Сумма к оплате в минорных денежных единицах, например в копейках (в случае указания российских рублей в качестве валюты) | integer |