Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307

Проблема с платёжным виджетом LiqPay

31.08.2022, 16:38. Показов 549. Ответов 2

Студворк — интернет-сервис помощи студентам
Возникла проблема в понимании как именно работает платёжный виджет LiqPay. В их документации есть такой js-код (ссылка на документацию - liqpay):
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<div id="liqpay_checkout"></div>
  <script>
    window.LiqPayCheckoutCallback = function() {
        LiqPayCheckout.init({
            data: "eyAidmVyc2lvbiIgOiAzLCAicHVibGljX2tleSIgOiAieW91cl9wdWJsaWNfa2V5IiwgImFjdGlv" +
            "biIgOiAicGF5IiwgImFtb3VudCIgOiAxLCAiY3VycmVuY3kiIDogIlVTRCIsICJkZXNjcmlwdGlv" +
            "biIgOiAiZGVzY3JpcHRpb24gdGV4dCIsICJvcmRlcl9pZCIgOiAib3JkZXJfaWRfMSIgfQ==",
            signature: "QvJD5u9Fg55PCx/Hdz6lzWtYwcI=",
            embedTo: "#liqpay_checkout",
            language: "ru",
            mode: "embed" // embed || popup
        }).on("liqpay.callback", function(data){
            console.log(data.status);
            console.log(data);
        }).on("liqpay.ready", function(data){
            // ready
        }).on("liqpay.close", function(data){
            // close
        });
    };
  </script>
  <script src="//static.liqpay.ua/libjs/checkout.js" async></script>
Собственно параметры data и signature я сформировал в php и вернул JSON-строкой на клиент в AJAX success. Но я не понимаю (а главное не вижу по дебагу) как это передаётся в window.LiqPayCheckoutCallback или как/когда мне вызвать эту ф-цию?

У меня есть одна из кнопок, которой я дал id="liqpay_checkout", как было в примере платёжного виджета (хотя по факту можно любое название, лишь бы оно совпадало с embedTo кода виджета, не суть).
HTML5
1
2
3
<button type="button" class="mx-auto my-auto payment-system payment-system-1" id="liqpay_checkout">
    <img class="img-fluid" src="images/privat24.jpg" alt="privat24">
</button>
Далее ловлю обработчиком addEventListener() клик по кнопке, формирую в php параметры data и signature и возвращаю на клиент. И вот в if ("signature" in result) нужно или вызвать эту ф-цию или просто передать в глобальные js-переменные данные result["data"] и result["signature"] или ещё что-то - вот этого не понимаю... Помогите, пожалуйста, с этим!
Код js ниже:

//обработчики кнопок выбора платёжной системы
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
let btn_chose_payment_system = document.querySelectorAll(".payment-system");
for (let i=0; i<btn_chose_payment_system.length; ++i) {
    btn_chose_payment_system[i].addEventListener("click", chosePaymentSystem.bind(null, i), false);
}
 
function chosePaymentSystem(number) {
    chooseTariff(number);
}
//-------------------------------------------------------------------------------------------
 
/**
 * ф-ция обрабатывает нажатия кнопок выбора тарифного плана, активируя тариф Пользователю
 * @param number
 */
function chooseTariff(number) {
    $.ajax({
        url: "createLiqPayParameters.php",
        method: "POST",
        dataType: "json",
        data: {
            tariff_id: choose_tariff + 1
        },
        success: function (response) { //Данные отправлены успешно
            let result = response;
            if ("signature" in result) {
                window.LiqPayCheckoutCallback = function () {
                    LiqPayCheckout.init({
                        data: result["data"],
                        signature: result["signature"],
                        embedTo: "#liqpay_checkout",
                        language: "ru",
                        mode: "embed" // embed || popup
                    }).on("liqpay.callback", function (data) {
                        console.log(data.status);
                        console.log(data);
                    }).on("liqpay.ready", function (data) {
                        // ready
                    }).on("liqpay.close", function (data) {
                        // close
                    });
                };
            }
        },
        error: function (response) { // Данные не отправлены
        //...
        }
    });
}
//-------------------------------------------------------------------------------------------
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.08.2022, 16:38
Ответы с готовыми решениями:

Проблема с виджетом dosamigos\gallery\Gallery
Всем доброго времени суток, товарищи! Возникла одна проблема, не знаю как с ней можно справиться. Использую виджет...

Запрос по платежным документам
Помогите пожалуйста с запросом! Есть три таблицы: КЛИЕHТЫ • Код клиента • Наименование клиента • Адрес • ИНН ...

Работа с платежным терминалом
Здравствйте. Кто сталкивался, подскажите, есть ли библиотеки и примеры на C# для подключения и работы с терминалом приема карт (POS...

2
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
02.09.2022, 13:22  [ТС]
актуально, ап!
0
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
09.09.2022, 04:56  [ТС]
ап!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.09.2022, 04:56
Помогаю со студенческими работами здесь

Запрос по платежным документам: приход и расход
Помогите пожалуйста с запросом! Есть три таблицы: КЛИЕHТЫ • Код клиента • Наименование клиента • Адрес • ИНН ...

Запрос по платежным документам - список счетов
Помогите пожалуйста с запросом! Есть три таблицы: КЛИЕHТЫ • Код клиента • Наименование клиента • Адрес • ИНН ...

Подключение интернет-магазина к платежным системам
Добрый день! Практически сделал свой первый интернет-магазин, все работает отлично. Но остается такой вопрос, как подключать...

Liqpay
После нажатия кнопки Купить программу переходит на страницу оплаты. Можно ли чтобы после оплаты программы, файл с программой автоматически...

Руководитель проектов по международным платёжным картам (Москва, М. Октябрьская)
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt &lt;B style=&quot;mso-bidi-font-weight: normal &lt;SPAN style=&quot;FONT-SIZE: 10pt &lt;FONT color=#000000&gt;&lt;FONT...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru