-1

我有一个购物车,想在将数据转发到支付系统(例如 PayPal)之前发送一封确认订单的电子邮件。

客户将商品放入购物车,准备就绪后,我会显示一个包含订单所有详细信息的确认页面。有一个按钮,Go to pay,可以向选定的支付系统发帖。

但在执行帖子之前,我想更新 MySql 表中的订单数据,并发送一封“感谢您的订单”电子邮件。

我的第一个想法是发布到我的服务器,更新表格,发送电子邮件并卷曲到支付系统。但随后他们不会在浏览器中被转移到支付系统来完成支付。

任何建议如何解决这个问题?

4

1 回答 1

1

你应该怎么做

编辑:虽然我暂时将这部分留在这里,但我确实对您的过程做出了错误的假设,所以下一部分可能更有益

我没有在我自己的任何项目中使用过在线支付系统,但我只是查看了 PayPal 文档来确认一些事情。付款过程似乎是这样的:

  1. 获取用户订单和付款详情
  2. 将付款详细信息传递给 Paypal
  3. 将用户定向到批准 URL,以便用户可以批准付款
  4. 他们通过 PayPal 重定向到您的网站,并带有付款 ID
  5. 然后,您通过使用付款 ID 查询 PayPal 来确认付款

我在网上遇到的大多数支付系统都有类似的过程(从我作为最终用户的角度来看)。从您所说的来看,当您尚未确认付款实际发生时,您似乎想在第 2 步向用户发送电子邮件并更新您的数据库。我建议您改为在第 5 步中执行表格更新和电子邮件。

因此,请等到您使用的任何支付系统确认了订单,然后在此时更新,作为您查询 PayPal 以确认订单的同一过程的一部分(并且您可以确保您的操作取决于他们实际支付给您!)

你怎么能做你要求做的事

回到你问题的核心。如果您确实想在将它们定向到外部系统时执行自己的服务器端代码,我建议您在提交表单时发送 Ajax 请求。这将调用您在后台执行工作的脚本,并且用户仍将被重定向到支付提供商。

编辑:我应该提到这里的片段是使用 jQuery

$("#myForm").submit(function(e) {

    // Do your ajax stuff here


});
于 2013-07-01T21:20:07.840 回答