У меня есть платежная система, которая не будет перенаправляться на paypal из-за ошибки: «Отказ отображать документ, потому что отображение запрещено с помощью X-Frame-Options». Форма отправляется и создается правильный URL-адрес перенаправления, но ответа от возвратных запросов нет.
Это правильно перенаправляется на следующий запрос: https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token=xxx
Это не дает ответа: https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_flow&SESSION=xxx&dispatch=xxx
Если я вырезал и вставлял первый запрос в браузер, он перенаправляется на paypal, но при запуске из приложения (в Chrome) появляется ошибка X-Frame-Options. (или в Firefox, ничего)
Это означает, что Paypal не позволяет использовать Paypal в iframe. Вы не должны использовать Payapl в iframe.
Я получаю ту же проблему с Sandbox, и я обнаружил, что она исправлена после удаления всех файлов cookie * .paypal.com.
Просто добавьте: target = "_ blank", чтобы сформировать
В моем случае это было несоответствие имени среды [sandbox / production] с clientId
Если вы хотите запустить Express Checkout в iFrame, см. «Цифровые товары для экспресс-оплаты»: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_IntroducingExpressCheckoutDG
Вам нужно будет включить его в песочнице командой TechPayPay, прежде чем вы сможете ее использовать.
Сейчас я работаю с paypal. Сначала вы могли бы подумать: «Эй, тонны док! Yay!», Но на самом деле это СОХРАНЕНИЕ. Тонны документа, которые предполагают, что вы уже знаете, что ищете. Попробуйте следующий JS-код (вы должны были уже вызвать метод setExpressCheckout и иметь токен):
$(document).ready(function() { //asynchronously fetch paypal's javascript jQuery.getScript('https://www.paypalobjects.com/js/external/dg.js', function(){console.debug("javascript loaded");}); }); //the handler that opens the iframe should be the following. This code assumes token variable has already been initalized var dg = new PAYPAL.apps.DGFlow({trigger:null, expType:"light"}); dg.startFlow('https://www.sandbox.paypal.com/incontext?token=' +token);
Единственное, что мне нужно было здесь, для правильного URL F *** NG, который нужно использовать для тестирования (среда песочницы).
Кстати, перед тестированием убедитесь, что вы вошли в свою учетную запись для песочницы;)