我有一个表单是用户输入信息,然后我有一个PayPal按钮,一旦填写了字段,用户将点击。我遇到的问题是如何在paypal时捕获用户信息如果表单有action="http://paypl.com/something/something"
,则单击按钮。
我是否必须将其设为2页进程 - 一个用于捕获用户信息,另一个用于让用户单击paypal按钮?
顺便说一句,PayPal按钮指示用户通过paypal.com实际付款。
答案 0 :(得分:6)
伙计们,这里有一个更简单的解决方案。 Paypal允许您将这些值传递给它,然后它会将它们吐回给您。实际上有两种获取数据的方法 - 一个返回URL,它在完成后发布返回值(我没有非常幸运地完成这项工作)然后是一个单独的函数,它在完成一个事务后将一个帖子发送给一个单独的您网站上的网页,您可以在其中收回您发布到网站的所有变量。我建议使用后者,因为在现在购买页面时,用户可能无法返回该网站,因为返回按钮UI在PayPal结束时非常弱。
要进行设置,您需要登录PayPal帐户,点击myaccount>个人资料>网站付款偏好。启用“支付数据传输”将起到作用。一旦你正确设置它,在完成一个交易后,它会发送到你选择的页面上你发送的所有内容的帖子....记住,你可以发送变量,如姓名,地址等等通过在表单中正确定义它们。找到所有可用变量here
当然,您可以通过Jquery等从表单中获取元素,然后执行onclick保存到DB,但为什么还要打它?这是一项很多工作,如果Javascript关闭可能会有问题。
不要忘记构建一个沙箱网站进行测试!祝你好运。
答案 1 :(得分:3)
这里有几个选项。您可以创建两个表单,一个表单提交到您捕获用户信息的服务器,然后显示第二个表单,其中包含“立即付款”按钮。作为第二个选项,您可以使用JavaScript从表单中提取信息并使用AJAX将其提交给您的服务器,然后在AJAX请求完成时将表单提交给PayPal。这可能会或可能不会更复杂,但它不会改变现有的用户界面,这可能是理想的。
答案 2 :(得分:3)
我会将操作设为当前页面,抓住按钮单击并存储用户信息,然后使用header: Location("http://paypl.com/something/something");
。无论如何它就像这样。希望这会有所帮助。
编辑:另见Josh的另一个答案。它们同样是很好的可能性。请注意,Ajax选项需要打开JavaScript - 因此,如果关闭它,必须采取保护措施。
答案 3 :(得分:1)
我的建议是将所有用户/订单数据添加到您自己的本地数据库中,以便您可以生成某种订单ID。然后,您可以将此订单ID传递到名为invoice的字段中的PayPal按钮代码中。
然后这个值将作为$ _POST ['invoice']返回到PDT / IPN中,这样您就可以轻松地将所有数据撤回并在相应的应用程序中处理它。
另一种选择是使用Express Checkout而不是Payments Standard。它涉及的更多一点,但它的限制较少。
即使使用EC,我仍然建议发送某种订单ID以及付款请求,以便您可以轻松地来回关联所有内容。