在PayPal Express Checkout之后重定向父页面

时间:2013-03-31 04:21:44

标签: javascript servlets spring-mvc paypal

我有一个父页面,上面有PayPal按钮。按下按钮将触发迷你浏览器,用户可以登录并付款。

以下代码在用户成功付款后关闭PayPal迷你浏览器。

// Add javascript to close Digital Goods frame. You may want to
                // add more javascript code to
                // display some info message indicating status of purchase in
                // the parent window
                response.setContentType("text/html");
                response.getWriter()
                        .println(
                                "<script>\n alert(\"Payment Successful\");\n// add relevant message above or remove the line if not required \n window.onload = function(){\nif(window.opener){\nwindow.close();\n}\nelse{\nif(top.dg.isOpen() == true){\ntop.dg.closeFlow();\nreturn true;\n}\n}\n};\n</script>");

迷你浏览器已成功关闭,但我的应用程序上的父页面保持不变。如何使用付款状态更新父页面?

1 个答案:

答案 0 :(得分:5)

我通过在window.close();之前添加以下JS代码来访问父页面上的表单来解决这个问题。获取表单后,我可以提交页面或显示有关状态的对话框通知。

    window.onload = function() {
    if (window.opener) {
        window.opener.document.forms[0].submit(); // submit form
        window.close();
    } else {
        if (top.dg.isOpen() == true) {
            top.document.forms[0].submit(); // submit form
            top.dg.closeFlow();
            return true;
        }
    }
};