PayPal Advanced托管页面不一致

时间:2013-08-15 13:45:37

标签: paypal

我正在将Payflow Advanced集成到我们的网站中,并正在使用Sandbox进行测试。我有一个“立即付款”按钮的页面。我拥有所有必要的帐户,托管页面等等。我成功获得了安全令牌,我尝试了两种使用这些令牌访问托管页面的方法:

1)“立即付款”按钮打开另一个HTML页面,其中我的托管页面被指定为iframe的来源,如

    <p>This is a test of hosted pages</p>
    <iframe src="https://payflowlink.paypal.com?SECURETOKEN=73nQZctvqskKbJooHoBr9DQlB&SECURETOKENID=DTesting5991376569967&MODE=TEST& BILLTOSTREET=33 Ames Road&BILLTOCITY=Groton&BILLTOSTATE=MA&BILLTOZIP=01451&BILLTOPHONE=408-110-7975" name="test_iframe" scrolling="no" width="700px" height="700px"></iframe>

当此页面打开时,我的托管页面位于iframe中,所有信息都是正确的。几秒钟后,PayPal代码中的某些内容会将浏览器重定向到完整的托管页面。这整页上的一切都是正确的。

2)在此方法中,我绕过中间HTML页面并使用HTML表单直接访问PayFlow。表单的ACTION设置为与方法1中的src完全相同的字符串,以及提交表单的按钮。如在

    <form id='payment' action="https://payflowlink.paypal.com?SECURETOKEN=73nQZctvqskKbJooHoBr9DQlB&    SECURETOKENID=DTesting5991376569967&MODE=TEST&BILLTOSTREET=33 Ames Road&BILLTOCITY=Groton&BILLTOSTATE=MA&BILLTOZIP=01451&BILLTOPHONE=408-110-7975">
    <input display="inline" type='button' id='paypalbutton' value="Pay with Credit Card or PayPal" class='buttons' onClick="buttonclick('ccpay');">
    </form>

提交表单时,会显示无效的商家消息,并且不显示托管页面。

如果它只能正常工作,我不关心我使用哪种方法。在方法1中,如何避免重定向? 在方法2中,为什么我收到无效的商家错误?

由于

1 个答案:

答案 0 :(得分:0)

您的method="POST"代码中没有<form>。这会导致您的浏览器默认使用GET方法提交表单。反过来,这会导致浏览器从URL中剥离所有查询参数,从而导致空请求。

因此,解决方案是将method="POST"添加到您的<form>代码中。