无法覆盖Paypal立即购买按钮返回网址

时间:2014-09-20 20:30:49

标签: javascript html paypal

我试图做一些非常简单的事情,无论我做什么,它似乎都无法奏效。我在paypal的后端创建了一个立即购买按钮,并将代码放入我的网站。然后我在html格式中添加一个返回URL,以便我可以做一些事务处理...我使用此标记

'<input type="hidden" name="return" value="http://localhost:8080?trans=1234567890">'

无论是否为本地主机,它仍然会返回到我在paypals后端的自动返回设置中指定的网址。这是我的整个按钮代码......是不是缺少什么?

var html = '<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top"> ' +
                    '<input type="hidden" name="cmd" value="_s-xclick"> ' +
                    '<input type="hidden" name="return" value="http://localhost:8080?trans=1234567890">' +
                    '<input type="hidden" name="hosted_button_id" value="'+ attr.id +'"> ' +
                    '<input type="image" src="http://invisibled.com/myimg.jpg" border="0" name="submit" alt=""> ' +
                    '<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> ' +
                '</form>';

我只需要在返回网址的末尾指定一个变量...这将是用户购买的项目的ID,这样我就可以给他们一个下载链接。我真的不想设置任何与paypal API相关的东西,我觉得必须有办法让这个工作。

是否有人建议为什么忽略我的表单返回网址并只使用你必须在后端指定的返回网址?

谢谢!

============编辑===============

我已经更新了我的代码,因为下面的用户建议...但仍然在我的paypal设置中获得相同的返回网址

var html = '<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> ' +
                    '<input type="hidden" name="cmd" value="_xclick">' +
                    '<input type="hidden" name="business" value="test@email.com">' +
                    '<input type="hidden" name="return" value="http://invisiblesound.net?t=1234567890" />' +
                    '<input type="hidden" name="lc" value="CA">' +
                    '<input type="hidden" name="item_name" value="Beat 0001">' +
                    '<input type="hidden" name="amount" value="40">' +
                    '<input type="hidden" name="currency_code" value="USD">' +
                    '<input type="hidden" name="button_subtype" value="products">' +
                    '<input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHosted">' +
                    '<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">' +
                    '<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">' +
                '</form>';

1 个答案:

答案 0 :(得分:1)

您正在使用托管按钮。因此,结帐时将使用按钮中包含的设置,而不是查看添加到表单中的变量(除了一些接受)。

如果要直接在表单中设置动态变量,则需要使用非托管按钮,这当然会使按钮不安全。如果这对您来说是一个很大的担心,那么您可以转而使用API​​,而不是使用Payments Standard,这将为您提供更多的自由和更好的保护。

另外,请记住,当您实际上线时,localhost无法正常工作。您需要确保在那里设置实际的域/ IP。它可能在测试期间对您有用,因为您确实配置了本地主机,但您的用户不会。