Возможны несколько сценариев использования БПС:
В любом случае для работы БПС требуется использование постоянных карт клиентов с преднапечатанными номерами тождественными внутреннему идентификатору карты!
Подготовительных работ от заказчика не требуется.
ЮKassa ограничила использование iframe для отображения страницы оплаты по соображениям безопасности.
В правилах возврата указать что все возвраты осуществляются только на кассах!
8. На сайте интернет-магазина обязательно должны быть размещены:)
Для автоматического перенаправления на виджет с сайта лайма в параметре Шаблон URL редиректа указать значение https://widget.lime-it.ru/?integrationId={0}&card={1}
При использовании локального сервера виджет следует размещать так же на локальном сервере, адрес виджета будет соответствовать адресу локального сервера, например https://widget.vdnh.lime-it.ru
Ниже приведен пример встройки, для тестового виджета с тестовыми реквизитами! В комментариях к скрипту указано какие параметры следует заменить при встройке боевого виджета
Встройка осуществляется через iframe силами заказчика (подрядчика, выполняющего обслуживание сайта заказчика), ниже приведен пример встройки в статическую html страницу
ЮKassa ограничила использование iframe для отображения страницы оплаты по соображениям безопасности.
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script>
// защита от повторной загрузки фрейма
// если есть возможность использовать <body onload="setWidgetAddress()"> то лучше использовать его
// если нет, то <iframe id="wigetFrame" onload="setWidgetAddress()">
let g_widgetAddressApplied = false;
// Установка адреса виджета
function setWidgetAddress() {
if (g_widgetAddressApplied)
return;
g_widgetAddressApplied = true;
// Разбор параметров URL для получения кода карты
const urlParams = new URLSearchParams(window.location.search);
const cardCode = urlParams.has('card') ? urlParams.get('card') : urlParams.get('uid');
// Для загрузки виджета нужны 2 параметра:
// * адрес хоста виджета - ниже по коду widgetAddress
// * идентификатор интеграции со стороны лайма - ниже по коду integrationId
// сменить на боевой адрес при размещении сервера Лайма на стороне Лайма: https://widget.lime-it.ru
// в случае, если сервер Лайма размещен на хостинге заказчика, уточнить у Лайма адрес сервера
const widgetAddress = 'https://test.widget.lime-it.ru';
// запросить у Лайма идентификатор интеграции
const integrationId = 37;
document.getElementById('wigetFrame')
.setAttribute('src', `${widgetAddress}?integrationId=${integrationId}` + (!!cardCode ? `&card=${cardCode}` : ''));
}
</script>
</head>
<body style="height: 100vh">
<iframe id="wigetFrame" style="width: 80%; height: 80%" onload="setWidgetAddress()">
</iframe>
</body>
</html>
Ниже приведен пример встройки, для тестового виджета с тестовыми реквизитами! В комментариях к скрипту указано какие параметры следует заменить при встройке боевого виджета
Встройка осуществляется через iframe силами заказчика (подрядчика, выполняющего обслуживание сайта заказчика), ниже приведен пример встройки в статическую html страницу
ЮKassa ограничила использование iframe для отображения страницы оплаты по соображениям безопасности.
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script>
// защита от повторной загрузки фрейма
// если есть возможность использовать <body onload="setWidgetAddress()"> то лучше использовать его
// если нет, то <iframe id="wigetFrame" onload="setWidgetAddress()">
let g_widgetAddressApplied = false;
// Установка адреса виджета
function setWidgetAddress() {
if (g_widgetAddressApplied)
return;
g_widgetAddressApplied = true;
// Разбор параметров URL для получения кода карты
const urlParams = new URLSearchParams(window.location.search);
const cardCode = urlParams.has('card') ? urlParams.get('card') : urlParams.get('uid');
// Для загрузки виджета нужны 2 параметра:
// * адрес хоста виджета - ниже по коду widgetAddress
// * идентификатор интеграции со стороны лайма - ниже по коду integrationId
// сменить на боевой адрес при размещении сервера Лайма на стороне Лайма: https://admin.lime-it.ru
// в случае, если сервер Лайма размещен на хостинге заказчика, уточнить у Лайма адрес сервера
const widgetAddress = 'https://limepay.chudin.ru';
// запросить у Лайма идентификатор интеграции
const integrationId = 37;
document.getElementById('wigetFrame')
.setAttribute('src', `${widgetAddress}/shop/${integrationId}?` + (!!cardCode ? `card=${cardCode}` : ''));
}
</script>
</head>
<body style="height: 100vh">
<iframe id="wigetFrame" style="width: 80%; height: 80%" onload="setWidgetAddress()">
</iframe>
</body>
</html>