X-Frame-Options, запрещающие перенаправление в PayPal - PullRequest
6 голосов
/ 01 сентября 2011

У меня есть платежная система, которая не будет перенаправлять на PayPal из-за ошибки: «Отказ в отображении документа, потому что отображение запрещено X-Frame-Options». Форма размещена, и правильный URL-адрес перенаправления выполнен, но от запросов PayPal не возвращается ответ:

Это правильно перенаправляет на следующий запрос: 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, ничего)

Ответы [ 6 ]

3 голосов
/ 07 июня 2016

У меня такая же проблема с Sandbox, и я обнаружил, что она исправлена ​​после удаления всех файлов cookie * .paypal.com.

3 голосов
/ 01 сентября 2011

Это означает, что Paypal не позволяет вам использовать Paypal в iframe. Вы не должны использовать Payapl в iframe.

1 голос
/ 11 марта 2017

В моем случае это было несоответствие имени среды [песочница / производство] с clientId

1 голос
/ 22 мая 2013

Просто добавьте: target = "_ blank" в форму

0 голосов
/ 05 октября 2011

Я сейчас работаю с PayPal. Сначала вы могли бы подумать: «Эй! Тонны документов! Да!», Но на самом деле это отстой. Тонны документов, которые предполагают, что вы уже знаете, что ищете. Попробуйте следующий код 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 для тестирования (среда песочницы).

Кстати, перед тестированием убедитесь, что вы вошли в свою учетную запись песочницы;)

0 голосов
/ 01 сентября 2011

Если вы хотите запустить Express Checkout в iFrame, см. Цифровые товары для Express Checkout: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_IntroducingExpressCheckoutDG

Вам потребуется включить его в песочнице для технической поддержки PayPal, прежде чем вы сможете его использовать.

...