2011-01-08 16 views
0

Ich habe ein Zahlungsformular. Wenn ich dieses Formular einsende, wird es nach Zahlungseingang an PAYONE weitergeleitet, wenn ich es erfolgreich eingereicht habe. Diese Seite leitet zum Erfolg Link meiner Seite für weitere Details.Iframe Payone Redirect Elternteil

Jetzt meine Frage starten: Ich öffne meine Payment Gateway (PAYONE) Seite in einen iframe im selben Fenster. Aber als ich erfolgreich Informationen eingereicht habe und klicke zum Absenden. Dann wird es im iframe umleiten.

Wie kann ich auf den Erfolgslink umleiten, den ich in den Postdaten angegeben habe?

+0

in der Regel Zahlungsprovider wollen nicht, dass Sie Iframes für die Verarbeitung von Zahlungen verwenden ... Es ist mehr eine Sicherheitssache ... Ich bin wirklich überrascht, dass sie iframes nicht erkennen ... (sogar stackoverflow erlaubt nicht seinen Inhalt in einem geladen werden iframe) ... Wenn Sie sich entscheiden, Iframes zu behalten, würde ich nur die Seite um die Eigenart entwerfen ... Nur andere Sache, die Sie tun könnten, ist, sobald die Zahlung abgeschlossen ist, haben Sie eine Redirect/Refresh-Seite, die in den Iframe lädt lädt die Seite neu ... – CarpeNoctumDC

Antwort

1

Aufgrund der Sicherheit und der Kontrolle über Ihren Zahlungsanbieter besteht der einfachste Weg darin, eine "landende" Iframe-Seite zu haben, von der der Kunde zurück zum Zahlungsanbieter weitergeleitet wird. Diese Seite ruft dann eine Funktion auf die gesamte Seite zu einer neuen URL ...

in dem übergeordneten Fenster neu zu laden: diese

<script type="text/javascript"> 
    function payment_redirect(url) { document.location=url;} 
</script> 
im Abschnitt setzt

Dann hat nur eine einfache iframe Zielseite das Update

<html><head><title></title></head> 
<body onload="parent.payment_redirect('http://www.google.com');"> 
If you are not redirect in 5 seconds, please click here... etc.. 
</body></html> 
auslösen

Hinweis, wie ich die Funktion in dem übergeordneten Fenster enthalten, und nannte es dann von der iframe-Seite über ‚Eltern‘ - iframe Sicherheit lassen Sie nicht umleiten oder eine Seite aktualisieren, direkt aus dem iframe ...

+0

Danke für die Antwort, ich werde das versuchen. Vielen Dank!!! – user567792

2

I Kenne dies Q & A ist älter als Dreck, dachte aber, ich würde für jeden anderen, der nach diesen Informationen sucht, klarstellen.

Da sich die Weiterleitung auf einer Seite in derselben Domain befindet, kommt die domänenübergreifende Skripting-Sicherheit nicht zum Tragen. Sie müssen also keinen Code auf dem iframe-Elternelement platzieren, sondern einfach den Zahlungsanbieter verwenden Rückkehr zu einer Seite mit dem folgenden:

<html><head><title></title></head> 
<body onload="parent.location='http://www.google.com';"> 
If you are not redirect in 5 seconds, please click here... etc.. 
</body></html> 
0

Da diese Frage aufgeworfen wurde, PAYONE integriert haben iframe-Zerschlagung in ihre API. Wenn die Verbindung oder POST Parameter an das Zahlungsformular erstellen, um diesen Parameter:

'targetwindow' => 'top' 

andere zulässige Werte sind:

  • Fenster
  • Opener
  • oben
  • Mutter
  • blank
  • selbst

Der Benutzer, der vom Zahlungsformular zurückkehrt, wird an das angegebene Zielfenster gesendet.