2011-09-01 12 views
6

Mam system płatności, który nie odsyła do paypal powodu błędu: „Odmowa wyświetlenia dokumentu, ponieważ wyświetlacz zabronione przez X-Frame-Options”. Formularz jest wysyłany i właściwe przekierowanie jest wykonana, ale nie ma odpowiedzi wrócił z PayPal zapytaniami:X-Frame-Options zabraniające przekierowanie do systemu PayPal

ten przekierowuje prawidłowo do następnego zapytania: https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token=xxx

To pokazuje brak odpowiedzi: https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_flow&SESSION=xxx&dispatch=xxx

Gdybym wyciąć i wkleić pierwszy zapytanie w wyszukiwarce, to przekierowuje do paypal, gdy uruchomiony z aplikacji (w Chrome), jednak pojawia się błąd X-Frame-Options. (Lub w Firefox, nic)

Odpowiedz

3

Oznacza to, że firma PayPal nie zezwala na użycie Paypal w iframe. Nie powinieneś używać Payapl w iframe.

+2

ale to działa, teraz nagle nie działa –

+2

Może Paypal tylko dodało ten X-Frame-Options nagłówek – arnaud576875

+0

, więc powinienem móc przejść na starszą wersję systemu PayPal i powinien działać? Próbowałem już tego zbyt. Czy dodali go do wszystkich wersji dla celów bezpieczeństwa? –

0

Obecnie pracuję z paypal. Na początku można by pomyśleć "Hej! Ton doc !! yay!", Ale w rzeczywistości to SUCKS. Mnóstwo dokumentów, które zakładają, że już wiesz, czego szukasz. Spróbuj następujący kod JS (powinien już wywoływana metoda setExpressCheckout i ma token):

$(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); 

Jedyne co potrzebne tutaj whas F *** NG prawidłowy adres URL używać do testowania (środowisko sandbox).

Nawiasem mówiąc, upewnij się, że jesteś zalogowany na swoje konto w piaskownicy przed badaniem;)

1

Wystarczy dodać: target = „_ blank” tworząc

+0

Działa dla mnie, łatwe, ale skuteczne – lucaferrario

3

otrzymuję ten sam problem z Sandbox i ja stwierdziliśmy, że naprawiono to po usunięciu wszystkich plików cookie * .paypal.com.

1

W moim przypadku było niedopasowanie nazwę środowisko [sandbox/Production] z ClientID