写入我的数据库并使用相同的表单向 Paypal 提交表单?

Posted

技术标签:

【中文标题】写入我的数据库并使用相同的表单向 Paypal 提交表单?【英文标题】:Writing to my DB and submitting a form to Paypal using the same form? 【发布时间】:2011-06-16 23:23:29 【问题描述】:

我的网页上有两种表格 - 一种将某些信息写入数据库,另一种允许您使用 Paypal 付款(我的页面用于购买产品)。

现在,有两种形式,但我想让它们同时提交。也就是说,当您单击 Paypal 按钮时,它会同时发布两个表单。

我可以以某种方式将它们放在同一个 post 方法中吗?或者我该如何解决这个问题?

我想要它以便客户可以购买东西,并且 Paypal 帖子会执行(用于实际付款),但该页面还会将客户信息写入我自己的数据库。

我可以使用 jQuery 和/或任何库。

这是我的 JS:http://slexy.org/view/s2u2Jsr2RI

这是我的 html:http://slexy.org/view/s2NgzHRES4

这是我的 post.php:http://slexy.org/view/s208WfbKso

【问题讨论】:

【参考方案1】:

使用第一个表单回发。返回到贝宝表单控件所在的带有“重定向...”的另一个页面。使用 javascript 在页面加载时发布该表单。

让第一个表单执行 ajax 请求。在回发时,执行发布第二个表单的 javascript。

【讨论】:

【参考方案2】:

您可以使用 AJAX 提交原始表单,然后在其成功回调中提交您的 paypal 表单。

【讨论】:

@Andrei Korchagin 检查Summer's answer。【参考方案3】:

您已经在使用 jQuery 提交 PayPal 表单:

$('#paypalButton').click(function()

  $.post('post.php', $('#myForm').serialize(), function()

     $('#paypal').submit();
  );

);

点击#paypalButton 之后,让它发布另一个表单!

$('#paypalButton').click(function()

  $.post('post.php', $('#myForm').serialize(), function()

     $('#paypal').submit();
  );

  $.post('mydbprocessingurl.php', $('#myOtherForm').serialize());

);

【讨论】:

我有点困惑。 paypal 表单的 action="paypal.com/cgi-bin/webscr" 和我的表单 action="post.php"。贝宝表格是#paypal,我的数据库表格是#myForm。我只是不知道把名字放在哪里。 嗨 - 实际上,我认为您的原始代码应该可以工作。最初,您从#myForm 将数据发布到post.php,然后在完成后,在回调中,您提交ID 为#paypal 的表单。什么不工作?

以上是关于写入我的数据库并使用相同的表单向 Paypal 提交表单?的主要内容,如果未能解决你的问题,请参考以下文章

如何从控制器向 PayPal 发送数据?

Paypal IPN:notify_url 未调用

如何获取令牌以根据需要向授权的 PayPal 账户收费?

付款完成后,PayPal 不会自动重定向到我的网站

在 wordpress 网站中提交带有 paypal 按钮的表单数据

Paypal 预授权 + 自适应支付