gpt4 book ai didi

e-commerce - 如何解决我的网站使用的第三方系统不提示支付成功的问题?

转载 作者:行者123 更新时间:2023-12-04 06:55:33 28 4
gpt4 key购买 nike

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

  • 订阅者在订阅表格中输入他/她的详细信息,然后单击提交按钮。
  • 假设指定的详细信息有效,则会在数据库中创建一条新记录来存储这些详细信息。
  • 然后订阅者被重定向到第 3 方系统(类似于 Paypal )的网站以处理付款。
  • 付款成功后,第 3 方网站会将订阅者重定向回我们的网站。
  • 这时候我知道支付成功了,所以更新数据库中的记录,提示支付成功。

  • 我发现经常发生的一个问题是,如果订阅者付款但未正确完成流程(例如,使用后置浏览器,关闭窗口),他/她在数据库中的记录不会得到更新。因此,我不知道他/她是否仅通过查看记录来支付,需要等待第三方系统的报告才能找到这一点。

    你怎么解决这个问题?

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

    最佳答案

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

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

    请注意,Paypal 和您的服务器之间的这种“对话”独立于用户的 session ——它是您和 PayPal 之间关于该用户交易的“私有(private)对话”。

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

    如果您的支付系统至少没有一些确保交易可靠性的基 native 制,那么请选择不同的提供商。很有可能他们会这样做,但您必须在服务器上正确实现,以确保系统正常工作。

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

    关于e-commerce - 如何解决我的网站使用的第三方系统不提示支付成功的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2613609/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com