Хостинговая интеграция Javascript API Worldpay в лайтбокс / iframe не работает - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь интегрировать страницу заказа Worldpay в лайтбокс / iframe на клиентском сайте.

Шаг 1. Согласно https://developer.worldpay.com/jsonapi/docs/hosted-payment-pages я делаю HTTP-запрос через PHP / CURL, иполучить действительный ответ со значениями orderCode, RedirectURL и т. д. В документах сказано: «Значение URL в ответе атрибута redirectUrl - это URL страницы размещенного платежа. Именно здесь вам нужно перенаправить покупателя».URL-адрес имеет формат https://online.worldpay.com/simulators/hpp?orderCode=xxx&merchantId=xxx&country=GB&language=en Открытие этого URL в браузере дает страницу оплаты Worldpay, как и ожидалось.

Шаг 2. Согласно https://developer.worldpay.com/jsonapi/docs/hosted-advanced-usage, который говорит: «Как только вы получилиURL перенаправления, следующий за примером на странице размещенных платежей, используйте его для заполнения поля url в конфигурации JavaScript iframe, описанной ниже. "Я установил страницу интеграции на точно согласно https://payments.worldpay.com/resources/hpp/integrations/embedded/doc/, используя значение redirectURL в объекте javascript, и не могу отобразить лайтбокс / iframe.Я попробовал оба метода: lightbox и iframe в клиентском домене, а также настроил тестовую страницу в другом домене, используя пример кода, точно так же, как это предусмотрено Worldpay. Это тоже не сработало.

Возможная проблема:Глядя на библиотеку javascript WP, кажется, что URL переписывается на: https://online.worldpay.com/simulators/hpp-iframe/?orderCode=xxx&merchantId=xxx&country=GB&language=en, независимо от того, выбран ли тип лайтбокса или iframe:

    // Use iframe app instead
    url = url.replace("/hpp/", "/hpp-iframe/");

Это не похоже на действительныйURL, если он открыт, сразу же перенаправляет на домашнюю страницу worldpay.Принудительное сохранение исходного URL-адреса приводит к открытию лайтбокса / iframe, однако оно не изменяется в соответствии с удаленным контентом.

Еще одно осложнение: примеры URL-адресов, приведенные в WPДокументы: 'https://payments.worldpay.com/ngpp/integration/wpg/corporate?OrderKey=YOUR_ORDER_KEY&Ticket=YOUR_TICKET_ID' и' https://payments -test.worldpay.com / app / hpp /gration / wpg / corporate? OrderKey = xxx & Ticket = xxx ', которые на самом деле отличаются от того, который на самом делевозвращено - также нигде нет объяснения 'TICKET_ID'.

Кому-нибудь удалось получить работающую, изменяющую размер интеграцию лайтбокса / iframe Worldpay, используя этот метод?Я боролся с этим в течение нескольких дней (документация Worldpay безумно плоха)

...