Payment Widget
Въведение
Скриптът Payment Widget (Платежен уиджет) - това е low code скрипт, който позволява да се поместят бутони Apple Pay и Google Pay на страницата на магазина на продавача - на страниците за продукти и/или в количката на купувача. Това позволява на клиента да оформи поръчка с един клик на поддържаните устройства без излизане от вашия домейн.
Проблем, който предлагаме да решим
Дългите многоетапни оформяния на поръчки и формите за въвеждане на данни за карти с ниска конверсия влияят негативно на приходите. Намаляването на стъпките и задържането на купувачите на страницата повишава показателя за завършване и доверието.
За нашето решение
Вграждайте платежния уиджет там, където намерението на купувача е най-високо (например, на страницата за продукт), за да заобиколите количката и да завършите плащането с помощта на защитен вграден портфейл. Без външни пренасочвания. Типичното настройване отнема по-малко от един ден.
Основни предимства
- Плащане на страницата: купувачите извършват плащане, без да напускат вашия сайт
- Вградени портфейли: Apple Pay и Google Pay "из кутията"
- Готово за SCA/PSD2: 3DS2 се обработва автоматично за картови транзакции, когато това се изисква от вашия еквайър
- Low-code интеграция: drop-in скрипт (бързо свързващ скрипт), минимална конфигурация
- Намален обхват на PCI: данните за карти никога не попадат на вашите сървъри
- Гъвкави настройки и елементи на потребителския интерфейс: поставяне, сума, валута, известия за обратно повикване, стилове и др.
- Просто потвърждение на домейн Apple: стъпка по стъпка зареждане на един файл
- Бърз процес на интеграция: по-малко от 1 ден
Свързване на скрипта
Добавяне на файл
На страницата на продавача вътре в тага <head> е необходимо да се добави връзка към файла pay-buttons.js.
Скриптът pay-buttons.js трябва да се намира в папката pay-buttons, на същото ниво, като папката merchants (със платежните страници).
При обявяването на скрипта задължително трябва да бъде указан id="pay-buttons".
<head>
...
<script
src="https://uat.dskbank.bg/payment/pay-buttons/pay-buttons.js"
id="pay-buttons">
</script>
...
</head>Инициализация
<script>
document.addEventListener("DOMContentLoaded", function () {
var widget = payButtonsWidget("containerId"); // където `containerId` — id на DOM-елемента, където ще бъдат добавени бутоните
widget.init({
gatewayInfo: { // Информация за шлюза
token: "i29v9o5hkmuv2590l7661p9vcu", // Токен на продавача в MP2
amount: 852300, // Сума на поръчката в стотинки (или в минорни единици)
returnUrl: "http\:\/\/yourwebsite.com\/success.html", // Целеви адрес след плащане
merchantLogin: "buttonApple",
},
applePay: { // Информация за ApplePay сесия
merchantId: "yourwebsite.com", // идентификатор на търговеца в Apple
},
googlePay: {
environment: "TEST",
},
});
});
</script>Параметри за инициализация
По-долу е представен пълен списък с параметрите за инициализация на скрипта.
| Задължителност | Параметър | Тип | Описание |
|---|---|---|---|
| Незадължително | cartItems |
Array of objects | Масив от обекти за описание на стоките в количката. Вж. описанието на вложените елементи по-долу. |
| Незадължително | appleButtonClass |
String | Име на класа, който ще се поставя на бутона applePay, за да може да се стилизира отделно или да се обърне към него. Стойност по подразбиране: pay-button_applepay. |
| Задължително | applePay |
Object | Обект, съдържащ информация за сесията на Apple. Вж. описанието на вложените елементи по-долу. |
| Незадължително | debug |
Boolean | Ако true - включва се режим за отстраняване на грешки, при което ще се показва цялата служебна информация под бутона. По подразбиране false. |
| Задължително | gatewayInfo |
Object | Обект, съдържащ информация за поръчка в Платежната шлюза. Вж. описанието на вложените елементи по-долу. |
| Задължително | googlePay |
Object | Обект, съдържащ информация за сесия Google Pay. Вж. описанието на вложените елементи по-долу. |
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Задължително | name |
String [1..255] | Наименование или описание на стокова позиция в свободна форма. |
| Незадължително | itemDetails |
Object | Обект с параметри за описанието на стоковата позиция. Описанието на вложените елементи е приведено по-долу. |
| Задължително | quantity |
Object | Елемент, описващ общото количество стокови позиции на един positionId и неговите мерни единици. Описанието на вложените елементи е приведено по-долу. |
| Незадължително | itemAmount |
Integer [1..12] | Сума на стойността на всички стокови позиции за един positionId в минимални единици валута. itemAmount е задължителен за предаване, само ако не е предаден параметърът itemPrice. В противен случай предаването на itemAmount не се изисква. Ако в заявката се предават и двата параметъра: itemPrice и itemAmount, то itemAmount трябва да се равнява на itemPrice * quantity, в противен случай заявката ще завърши с грешка. |
| Незадължително | itemPrice |
Integer [1..18] | Сума на стойността на стоковата позиция на един positionId в пари в минимални единици валута. |
| Незадължително | itemCurrency |
Integer [3] | Код на валута ISO 4217. Ако не е посочен, се счита равен на валутата на поръчката. |
| Задължително | itemCode |
String [1..100] | Номер (идентификатор) на стокова позиция в системата на магазина. |
Пример за блок cartItems:
[
{
name: 'Pen',
quantity: {
value: 1,
measure: "pcs"
},
itemAmount: (totalAmount * 100) / 2,
itemCurrency: "643",
itemCode: 'no_1'
},
{
name: 'Cheese',
quantity: {
value: 1.4,
measure: "kg"
},
itemAmount: (totalAmount * 100) / 2,
itemCurrency: "643",
itemCode: 'no_2'
}
]Параметри на обект gatewayInfo
| Задължителност | Параметър | Тип | Описание |
|---|---|---|---|
| Задължително | token |
String | Токен на продавача, който може да се получи в конзолата на администратора. Необходим за идентификация на продавача. |
| Незадължително | registerPreAuth |
Boolean | Регистрация на двуетапно плащане. По подразбиране false. |
| Условие | orderNumber |
String [1..36] | Номер на поръчката в системата на магазина. Незадължително, ако е включена настройката "Генериране номер на поръчка". |
| Незадължително | amount |
Integer [0..12] | Сума на плащането в минимални единици валута (например, в стотинки). |
| Незадължително | currency |
String [3] | Код на валутата на плащането ISO 4217. Ако не е посочен, се използва стойността по подразбиране. Позволени са само цифри. |
| Задължително | returnUrl |
String [1..512] | Адрес, към който трябва да бъде пренасочен потребителят в случай на успешно плащане. Адресът трябва да бъде указан изцяло, включително използвания протокол (например, https://mybestmerchantreturnurl.com вместо mybestmerchantreturnurl.com). В противен случай потребителят ще бъде пренасочен на адрес от следния вид: https://uat.dskbank.bg/payment/<merchant_address>. |
| Незадължително | failUrl |
String [1..512] | Адрес, на който трябва да се пренасочи потребителят в случай на неуспешно плащане. Адресът трябва да бъде посочен напълно, включително използвания протокол (например, https://mybestmerchantreturnurl.com вместо mybestmerchantreturnurl.com). В противен случай потребителят ще бъде пренасочен по адрес от следния вид: https://uat.dskbank.bg/payment/<merchant_address>. |
| Незадължително | description |
String [1..598] | Описание на поръчката в произволен формат. За да включите изпращането на това поле в процесинговата система, обърнете се към службата за техническа поддръжка. В това поле е недопустимо да се предават лични данни или платежни данни (номера на карти и т.н.). Това изискване се дължи на факта, че описанието на поръчката никъде не се маскира. |
| Незадължително | clientId |
String [0..255] | Номер на клиента (ID) в системата на търговеца — до 255 символа. Използва се за реализиране на функционалността на връзките. Може да се връща в отговора, ако на търговеца е разрешено да създава връзки. Указването на този параметър при обработка на плащания по връзка е задължително. В противен случай плащането ще бъде невъзможно. |
| Незадължително | sessionTimeoutSecs |
Integer [1..9] | Продължителност на живота на поръчката в секунди. В случай че параметърът не е зададен, ще бъде използвана стойността, указана в настройките на търговеца, или времето по подразбиране (1200 секунди = 20 минути). Ако в заявката присъства параметър expirationDate, то стойността на параметър sessionTimeoutSecs не се взема предвид. |
| Незадължително | jsonParams |
Object | Набор от допълнителни атрибути с произволна форма, структура:jsonParams={"param_1_name":"param_1_value",...,"param_n_name":"param_n_value"}Могат да бъдат предадени в Процесинговия Център, за последваща обработка (изисква се допълнителна настройка - обърнете се към поддръжката). Някои предефинирани атрибути jsonParams:
|
| Незадължително | orderBundle |
Object | Обект, съдържащ кошницата с продукти. Описанието на вложените елементи е дадено по-долу. |
| Незадължително | merchantLogin |
String [1..255] | За да регистрирате поръчка от името на друг търговец, посочете неговия логин (за API-акаунт) в този параметър. Може да се използва само ако имате разрешение за преглед на транзакциите на други продавачи или ако посоченият продавач е ваш дъщерен продавач. |
| Незадължително | merchantName |
String | merchantFullName в платежната шлюза. Необходим за показване името на продавача в прозореца payment request api. |
| Незадължително | dynamicCallbackUrl |
String [1..512] | Параметър за предаване на динамичен адрес за получаване на "платежни" callback-уведомления за поръчката, активирани за търговеца (успешна авторизация, успешно списване, връщане, отказ, отхвърляне на плащане по таймаут, отхвърляне на card present плащане). "Не платежни" callback-уведомления (включване/изключване на връзка, създаване на връзка), ще бъдат изпращани на статичен callback адрес. |
| Незадължително | ip |
String [1..39] | IP адрес на платеца. IPv6 се поддържа във всички заявки (до 39 символа). |
| Незадължително | expirationDate |
String [19] | Дата и час на изтичане на срока на валидност на поръчката. Формат: yyyy-MM-ddTHH:mm:ss.Ако този параметър не се предава в заявката, то за определяне на времето на изтичане на срока на валидност на поръчката се използва параметърът sessionTimeoutSecs. |
| Незадължително | postAddress |
String [1..255] | Адрес за доставка. |
| Незадължително | feeInput |
Integer [0..8] | Размер на комисионната в минимални единици валута. Функционалността трябва да бъде включена на ниво продавач в gateway-я. |
| Условие | email |
String [1..40] | Електронна поща за показване на платежната страница. Ако за продавача са настроени известия на клиента, електронната поща трябва да бъде посочена. Пример: client_mail@email.com. Адресът на електронната поща не се проверява при регистрация, той ще бъде проверен по-късно при плащане. |
| Незадължително | billingPayerData |
Object | Блок с регистрационни данни за клиента (адрес, пощенски код), необходим за преминаване на проверка на адрес в рамките на услугите AVS/AVV. Задължително, ако функцията е включена за продавача от страна на Платежната шлюза. Вж вложени параметри. |
| Незадължително | shippingPayerData |
Object | Обект, съдържащ данни за доставка до клиента. Този параметър се използва за по-нататъшна 3DS-аутентификация на клиента. Вж. вложени параметри. |
| Незадължително | preOrderPayerData |
Object | Обект, съдържащ данни за предварителна поръчка. Този параметър се използва за по-нататъшна 3DS-аутентификация на клиента. Вж. вложени параметри. |
| Незадължително | orderPayerData |
Object | Обект, съдържащ данни за платеца на поръчката. Този параметър се използва за по-нататъшна 3DS-аутентификация на клиента. Вж. вложени параметри. |
| Незадължително | billingAndShippingAddressMatchIndicator |
String [1] | Индикатор за съответствие на платежния адрес на притежателя на картата и адреса за доставка. Този параметър се използва за по-нататъшна 3DS-автентификация на клиента. Възможни стойности:
|
По-долу са посочени параметрите на блока billingPayerData (данни за адреса на регистрация на клиента).
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Условие | billingCity |
String [0..50] | Град, регистриран за конкретната карта в Банката Емитент. Задължително за Visa. |
| Условие | billingCountry |
String [0..50] | Държава, регистрирана по конкретната карта на банката-издател. Формат: ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) или наименование на държавата. Препоръчваме да предавате двух/трибуквен ISO код на държавата. Задължително за Visa. |
| Условие | billingAddressLine1 |
String [0..50] | Адрес, регистриран за конкретната карта в Банката Емитент (адрес на платеца). Ред 1. Задължително за предаване при AVS-проверка. Задължително за Visa. |
| Незадължително | billingAddressLine2 |
String [0..50] | Адрес, регистриран за конкретната карта в Банката Емитент. Ред 2. |
| Незадължително | billingAddressLine3 |
String [0..50] | Адрес, регистриран за конкретната карта в Банката Емитент. Ред 3. |
| Незадължително | billingPostalCode |
String [0..9] | Пощенски код, регистриран за конкретната карта в Банката Издател. Задължително за предаване за AVS-проверка. |
| Незадължително | billingState |
String [0..50] | Щат, регистриран за конкретната карта в Банката Емитент. Формат: пълна стойност на кода ISO 3166-2, негова част или наименование на щата/региона. Може да съдържа букви само от латинската азбука. Препоръчваме да се предава двубуквен ISO код на щата/региона. |
| Задължително | payerAccount |
String [1..32] | Номер на сметката на изпращача. |
| Условие | payerLastName |
String [1..64] | Фамилия на изпращача. Задължително за Visa. |
| Условие | payerFirstName |
String [1..35] | Име на изпращача. Задължително за Visa. |
| Незадължително | payerMiddleName |
String [1..35] | Бащино име на изпращача. |
| Незадължително | payerCombinedName |
String [1..99] | Пълно име на подателя. |
| Незадължително | payerIdType |
String [1..8] | Тип на предоставения идентифициращ документ на подателя. Възможни стойности:
|
| Незадължително | payerIdNumber |
String [1..99] | Номер на предоставения идентифициращ документ на изпращача. |
| Условие | payerBirthday |
String [1..20] | Дата на раждане на подателя във формат YYYYMMDD. Задължително за Visa. |
Описание на параметрите на обект shippingPayerData:
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Незадължително | shippingCity |
String [1..50] | Град на поръчителя (от адреса за доставка) |
| Незадължително | shippingCountry |
String [1..50] | Страна на поръчителя |
| Незадължително | shippingAddressLine1 |
String [1..50] | Основен адрес на клиента (от адреса за доставка) |
| Незадължително | shippingAddressLine2 |
String [1..50] | Основен адрес на клиента (от адреса за доставка) |
| Незадължително | shippingAddressLine3 |
String [1..50] | Основен адрес на клиента (от адреса за доставка) |
| Незадължително | shippingPostalCode |
String [1..16] | Пощенски код на клиента за доставка |
| Незадължително | shippingState |
String [1..50] | Щат/регион на купувача (от адреса за доставка) |
| Незадължително | shippingMethodIndicator |
Integer [2] | Индикатор за начин на доставка. Възможни стойности:
|
| Незадължително | deliveryTimeframe |
Integer [2] | Срок за доставка на стоката. Възможни стойности:
|
| Незадължително | deliveryEmail |
String [1..254] | Целеви адрес на електронна поща за доставка на цифрово разпространение. Препоръчително е да предавате електронната поща в самостоятелен параметър на заявката email (но ако я предадете в този блок, към нея ще се прилагат същите правила). |
Описание на параметрите на обекта preOrderPayerData:
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Незадължително | preOrderDate |
String [10] | Очаквана дата на доставка (за предварително поръчани покупки) във формат ГГГГММДД. |
| Незадължително | preOrderPurchaseInd |
Integer [2] | Индикатор за разполагане от клиента на поръчка за налична или бъдеща доставка. Възможни стойности:
|
| Незадължително | reorderItemsInd |
Integer [2] | Индикатор, че клиентът преподръчва преди заплатена доставка в състава на нова поръчка. Възможни стойности:
|
Описание на параметрите на обект orderPayerData.
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Незадължително | homePhone |
String [7..15] | Домашен телефон на притежателя на картата. Необходимо е винаги да се посочва код на страната, но знакът + или 00 в началото може да се посочи или пропусне. Номерът трябва да има дължина от 7 до 15 цифри. По този начин са възможни следните стойности:
|
| Незадължително | workPhone |
String [7..15] | Служебен телефон на притежателя на картата. Необходимо е винаги да се посочва код на страната, но знакът + или 00 в началото може да се посочи или пропусне. Номерът трябва да има дължина от 7 до 15 цифри. По този начин са възможни следните стойности:
|
| Незадължително | mobilePhone |
String [7..15] | Номер на мобилния телефон на притежателя на картата. Необходимо е винаги да се посочва код на страната, но знакът + или 00 в началото може да се посочи или пропусне. Номерът трябва да има дължина от 7 до 15 цифри. По този начин са възможни следните стойности:
За плащания по VISA с 3DS авторизация е необходимо да се посочи или електронна поща, или номер на телефон на притежателя на картата. Ако имате настроено показване на номера на телефона на платежната страница и сте посочили неверен номер на телефон, клиентът ще може да го поправи на платежната страница. |
Описание на параметрите в обекта orderBundle:
| Задължителност | Име | Тип | Описание |
|---|---|---|---|
| Незадължително | orderCreationDate |
String [19] | Дата на създаване на поръчката във формат YYYY-MM-DDTHH:MM:SS. |
| Незадължително | customerDetails |
Object | Блок, съдържащ атрибутите на клиента. Описанието на атрибутите на тага е дадено по-долу. |
| Задължително | cartItems |
Object | Обект, съдържащ атрибутите на стоките в кошницата. Описанието на вложените елементи е дадено по-долу. |
Описание на параметрите в обект customerDetails:
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Незадължително | contact |
String [0..40] | Предпочитан от клиента начин за връзка. |
| Незадължително | fullName |
String [1..100] | ФИО на платеца. |
| Незадължително | passport |
String [1..100] | Серия и номер на паспорта на платеца в следния формат: 2222888888
|
| Незадължително | deliveryInfo |
Object | Обект, съдържащ атрибутите на адреса за доставка. Описанието на вложените елементи е приведено по-долу. |
Описание на параметрите в обекта deliveryInfo:
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Незадължително | deliveryType |
String [1..20] | Начин на доставка. |
| Задължително | country |
String [2] | Двубуквен код на страната за доставка. |
| Задължително | city |
String [0..40] | Град на назначение. |
| Задължително | postAddress |
String [1..255] | Адрес за доставка. |
Описание на параметрите в обекта cartItems:
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Задължително | items |
Object | Елемент на масив с атрибути на стокова позиция. Описанието на вложените елементи е дадено по-долу. |
Описание на параметрите в обект items:
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Задължително | positionId |
Integer [1..12] | Уникален идентификатор на стоковата позиция в кошницата. |
| Задължително | name |
String [1..255] | Наименование или описание на стокова позиция в свободна форма. |
| Незадължително | itemDetails |
Object | Обект с параметри за описанието на стоковата позиция. Описанието на вложените елементи е приведено по-долу. |
| Задължително | quantity |
Object | Елемент, описващ общото количество стокови позиции на един positionId и неговите мерни единици. Описанието на вложените елементи е приведено по-долу. |
| Незадължително | itemAmount |
Integer [1..12] | Сума на стойността на всички стокови позиции за един positionId в минимални единици валута. itemAmount е задължителен за предаване, само ако не е предаден параметърът itemPrice. В противен случай предаването на itemAmount не се изисква. Ако в заявката се предават и двата параметъра: itemPrice и itemAmount, то itemAmount трябва да се равнява на itemPrice * quantity, в противен случай заявката ще завърши с грешка. |
| Незадължително | itemPrice |
Integer [1..18] | Сума на стойността на стоковата позиция на един positionId в пари в минимални единици валута. |
| Незадължително | depositedItemAmount |
String [1..18] | Сума на списване за един positionId в минимални валутни единици (например, в стотинки). |
| Незадължително | itemCurrency |
Integer [3] | Код на валута ISO 4217. Ако не е посочен, се счита равен на валутата на поръчката. |
| Задължително | itemCode |
String [1..100] | Номер (идентификатор) на стокова позиция в системата на магазина. |
Описание на параметрите в обект quantity:
| Задължителност | Име | Тип | Описание |
|---|---|---|---|
| Задължително | value |
Number [1..18] | Количество на стокови позиции от дадения positionId. За указване на дробни числа използвайте десетична точка. Допуска се максимум 3 знака след точката. |
| Задължително | measure |
String [1..20] | Мерна единица за количеството по позицията. |
Описание на параметрите в обекта itemDetails:
| Задължителност | Название | Тип | Описание |
|---|---|---|---|
| Незадължително | itemDetailsParams |
Object | Параметър, описващ допълнителна информация по стоковата позиция. Описанието на вложените елементи е приведено по-долу. |
Описание на параметрите в обекта itemDetailsParams:
| Задължителност | Наименование | Тип | Описание |
|---|---|---|---|
| Задължително | value |
String [1..2000] | Допълнителна информация за товарната позиция. |
| Задължително | name |
String [1..255] | Наименование на параметъра за описанието на детайлизацията на стоковата позиция |
Повече информация може да се намери в конструктора на бутона https://applepaydemo.apple.com/
| Задължителност | Параметър | Тип | Описание |
|---|---|---|---|
| Незадължително | buttonStyle |
String | Стил на показване на бутона. Допустими стойности: 'black', 'white', 'white-outline'. Стойност по подразбиране: 'black'. |
| Незадължително | paymentRequest |
String | Описание на платежната сесия на Apple Pay. Повече информация може да се прочете в официалната документация. Вижте примера по-долу. |
| Незадължително | paymentType |
String | Тип външен вид на платежния бутон. Допустими стойности: plain, buy, donate, set-up, book, subscribe. Стойност по подразбиране: buy. За типовете donate, book, subscribe ширината на бутона трябва да бъде поне 200 px. |
| Задължително | merchantId |
String |
merchantId в Apple, например 'website.com'. Също така този сайт ще се използва като label в прозореца на Apple Pay. Тъй като той е ограничен по дължина, най-лесно е да се извежда домейнът на сайта. |
| Задължително | language |
String [2] | Език на бутона във формат ISO 639-1. |
Ример paymentRequest:
{
countryCode: 'BG',
currencyCode: 'BGN',
supportedNetworks: [
'masterCard',
'visa',
'electron',
'maestro'
],
merchantCapabilities: [
'supports3DS',
'supportsCredit',
'supportsDebit'
],
total: {
label: '',
amount: 1.00 // major units
},
requiredShippingContactFields: [
'postalAddress',
'name',
'phone',
'email'
]
}| Задължителност | Параметър | Тип | Описание |
|---|---|---|---|
| Задължително | environment |
String | Среда. Ако не се посочи, бутонът GPay няма да се показва. Допустими стойности:
|
| Незадължително | emailRequired |
Boolean | Дали да се пита за email при плащане чрез PaymentRequest API. Стойност по подразбиране: true. |
| Незадължително | phoneNumberRequired |
Boolean | Дали да се пита за телефон при плащане чрез PaymentRequest API. Стойност по подразбиране: true. |
| Незадължително | billingAddressRequired |
Boolean | Дали да се пита за адрес на платеца при плащане чрез PaymentRequest API. Стойност по подразбиране: true. |
| Незадължително | shippingAddressRequired |
Boolean | Дали да се пита за адрес за доставка при плащане чрез PaymentRequest API. Стойност по подразбиране: false. |
| Незадължително | payerNameRequired |
Boolean | Дали да се пита за име на платеца при плащане чрез PaymentRequest API. Стойност по подразбиране: false. |
| Условие | allowedCountryCodes |
Array of String | Списък с кодове на страни във формат ISO 3166-1 alpha-2, където е достъпна доставка. Задължително, ако shippingAddressRequired = true. |
| Незадължително | buttonColor |
String | Цвят на бутона Google Pay. Допустими стойности:
default. |
| Незадължително | buttonType |
String | Тип надпис на бутона. Допустими стойности:
short. |
Генератор на код
Можете също бързо да генерирате код за инициализиране на скрипта Payment Widget в Личния кабинет. За това преминете към раздела Бързи бутони -> Генератор на код във вашия Личен кабинет.
Тази страница има конструктор, който изглежда по следния начин:
Разделът включва следните секции за задаване на параметри за инициализиране на скрипта:
-
Общи настройки - посочете обща информация за регистрация на поръчката в Платежния шлюз:
- Включи плащане чрез Apple Pay и/или Google Pay,
- Номер на поръчка,
- Сума (задължително),
- Валута (изберете от списъка),
- Език (изберете от списъка),
- Среда (тестова или работна)
- Страница за успешно плащане и Страница за неуспешно плащане (посочете URL или изберете стандартен URL).
- Заявка за потребителски данни - посочете данните, които ще бъдат задължителни по време на плащането чрез PaymentRequest API за Google Pay. Поставете съответните отметки: Име, E-mail, Номер на телефон, Пощенски адрес.
- Настройки на платежните бутони - посочете типа на външния вид и стила на бутоните Apple Pay и Google Pay. В раздела е достъпен предварителен преглед на бутона.
- Код за вмъкване на вашата страница - тази секция съдържа предварителен преглед на кода за инициализиране на скрипта в съответствие с посочените параметри. Този код трябва да се вмъкне на вашата страница.
Поддръжка от браузърите
| Програмна среда / Браузъри | Apple Pay | Google Pay |
|---|---|---|
| iOS / iPadOS — Safari | Да | Да (уеб-оформление) |
| iOS / iPadOS — Chrome / Edge / Firefox | Да | Да (уеб-оформление) |
| macOS — Safari | Да | Да |
| macOS — Chrome / Edge / Firefox | Да, чрез QR (iOS 18+) | Да |
| Windows / Linux / ChromeOS — Chrome / Edge / Firefox | Да, чрез QR (iOS 18+) | Да |
| Android — Chrome / Edge / Firefox | Да, чрез QR (iOS 18+) | Да |
Тестване и внедряване
Тестов стенд (UAT)
Свържете скрипта с адрес https://uat.dskbank.bg/payment/.
<script
src="https://uat.dskbank.bg/payment/pay-buttons/pay-buttons.js"
id="pay-buttons">
</script>Продуктивен стенд (PROD)
Свържете скрипта с адрес https://uat.dskbank.bg/payment/.
<script
src="https://epg.dskbank.bg/payment/pay-buttons/pay-buttons.js"
id="pay-buttons">
</script>