如何处理 IPN 响应缓慢



我有一个允许用户使用PayPal付款的网站。 我使用贝宝IPN来了解付款是否成功。

只要完成,取消,挂起,失败等ipn响应快速,一切正常。 但是,如果PayPal发送 ipn 响应的速度很慢,我需要阻止用户多次付费。

例如,如果PayPal要发送完整的响应,在这种情况下,它不会发送挂起的响应。 如果PayPal需要 5 分钟才能做到这一点。 如何阻止用户在这 5 分钟内支付两次费用?

这是我

通常使用PayPal的方式:

  1. 完整的订单页面,不包含PayPal表单。
  2. 完整的订单表单将重定向到保存订单并生成PayPal表单的内部页面。您可以在此处执行自定义逻辑。(即检查用户是否在过去 5 分钟内被发送到PayPal等)。
  3. 上述步骤应生成PayPal表单,其中包含将发送给PayPal的每一点信息。请注意,除提交按钮外,所有内容都将对用户隐藏。使用 javascript 单击该提交按钮,因此用户将被重定向到 PayPal,但作为后备,请执行 5 秒计时器,并通知用户在 5 秒内未重定向时单击该按钮。

就是这样,不要忘记将您保存在本地的订单号发送到custom字段中的PayPal。

在继续之前,请注意以下事项:如果用户被重定向到PayPal - 但关闭了窗口,则您无法知道订单是否会付款。如果他点击取消,您可以向PayPal发送取消网址,您将在其中收到信息并将订单标记为已取消。

附注:

在第 3 步中,您可以告诉用户您已经有他们的待处理订单,并且他们只有在不想支付上一个订单时才应该继续。

最新更新