我有一个购物车,想在将数据转发到支付系统(例如 PayPal)之前发送一封确认订单的电子邮件。
客户将商品放入购物车,准备就绪后,我会显示一个包含订单所有详细信息的确认页面。有一个按钮,Go to pay,可以向选定的支付系统发帖。
但在执行帖子之前,我想更新 MySql 表中的订单数据,并发送一封“感谢您的订单”电子邮件。
我的第一个想法是发布到我的服务器,更新表格,发送电子邮件并卷曲到支付系统。但随后他们不会在浏览器中被转移到支付系统来完成支付。
任何建议如何解决这个问题?
我有一个购物车,想在将数据转发到支付系统(例如 PayPal)之前发送一封确认订单的电子邮件。
客户将商品放入购物车,准备就绪后,我会显示一个包含订单所有详细信息的确认页面。有一个按钮,Go to pay,可以向选定的支付系统发帖。
但在执行帖子之前,我想更新 MySql 表中的订单数据,并发送一封“感谢您的订单”电子邮件。
我的第一个想法是发布到我的服务器,更新表格,发送电子邮件并卷曲到支付系统。但随后他们不会在浏览器中被转移到支付系统来完成支付。
任何建议如何解决这个问题?
编辑:虽然我暂时将这部分留在这里,但我确实对您的过程做出了错误的假设,所以下一部分可能更有益
我没有在我自己的任何项目中使用过在线支付系统,但我只是查看了 PayPal 文档来确认一些事情。付款过程似乎是这样的:
我在网上遇到的大多数支付系统都有类似的过程(从我作为最终用户的角度来看)。从您所说的来看,当您尚未确认付款实际发生时,您似乎想在第 2 步向用户发送电子邮件并更新您的数据库。我建议您改为在第 5 步中执行表格更新和电子邮件。
因此,请等到您使用的任何支付系统确认了订单,然后在此时更新,作为您查询 PayPal 以确认订单的同一过程的一部分(并且您可以确保您的操作取决于他们实际支付给您!)
回到你问题的核心。如果您确实想在将它们定向到外部系统时执行自己的服务器端代码,我建议您在提交表单时发送 Ajax 请求。这将调用您在后台执行工作的脚本,并且用户仍将被重定向到支付提供商。
编辑:我应该提到这里的片段是使用 jQuery
$("#myForm").submit(function(e) {
// Do your ajax stuff here
});