E commerce 如何解决我的网站使用的第三方系统未通知成功付款的问题?

E commerce 如何解决我的网站使用的第三方系统未通知成功付款的问题?,e-commerce,web-applications,payment-processing,E Commerce,Web Applications,Payment Processing,我有一个基于订阅的网站,与第三方系统交互以处理付款。处理新订户注册的步骤如下: 订阅者在订阅表单中输入其详细信息,然后单击提交按钮 假设指定的详细信息有效,将在数据库中创建一条新记录来存储这些详细信息 然后,订户被重定向到第三方系统(类似于paypal)的网站以处理付款 一旦支付成功,第三方网站就会将订户重定向回我们的网站 此时,我知道付款成功,因此数据库中的记录被更新,以表明付款已成功 我发现经常发生的一个问题是,如果订阅者付费但没有正确完成流程(例如,使用后台浏览器,关闭窗口),他/她的数据

我有一个基于订阅的网站,与第三方系统交互以处理付款。处理新订户注册的步骤如下:

  • 订阅者在订阅表单中输入其详细信息,然后单击提交按钮
  • 假设指定的详细信息有效,将在数据库中创建一条新记录来存储这些详细信息
  • 然后,订户被重定向到第三方系统(类似于paypal)的网站以处理付款
  • 一旦支付成功,第三方网站就会将订户重定向回我们的网站
  • 此时,我知道付款成功,因此数据库中的记录被更新,以表明付款已成功
  • 我发现经常发生的一个问题是,如果订阅者付费但没有正确完成流程(例如,使用后台浏览器,关闭窗口),他/她的数据库记录不会得到更新。因此,我不知道他/她是否仅仅通过查看记录支付了费用,需要等待第三方系统的报告才能发现这一点

    你如何解决这个问题


    另外,在付款过程完成之前将其详细信息存储到数据库中的主要原因之一是,他们可以回来完成付款,而无需再次输入详细信息。例如,当他们的信用卡被第三方系统拒绝时,他们需要与他们的金融机构解决这一问题,这可能需要一段时间。

    无论用户做什么,第三方支付系统都应通知您交易成功

    例如,在PayPal中,IPN(即时支付通知)作为POST数据发送到您指定的URL。然后,您的服务器向Paypal验证交易是否真实,如果是,则更新数据库记录以指示订阅有效。在将来的某个时刻,PayPal可能会也可能不会将用户重定向回您的网站。(在用户关闭浏览器、回击或跳转到新URL等情况下,可能会出现“可能不会”的情况)

    请注意,Paypal和您的服务器之间的“对话”与用户的会话无关-这是您和Paypal之间关于该用户交易的“私人对话”

    显然,可能会出现通信中断和服务器故障,因此如果Paypal没有立即从您的服务器获得验证请求,它将定期向您的服务器发送重试,以确保事务最终完成

    如果您的支付系统没有确保交易可靠性的基本机制,请选择其他提供商。很可能是这样,但您必须在服务器上正确地实现这些功能,以确保系统正常工作


    另外,在用户启动任何金融交易之前,要求用户登录(并在数据库中注册)是很正常的。您需要在他们购买前收集所有相关信息,因为购买后您无法保证他们会返回给您提供任何进一步信息。

    +1我们也有同样的问题。我认为没有溶剂化作用