如果服务器崩溃,该如何处理付款响应?

时间:2018-07-13 07:52:57

标签: mysql laravel payment-gateway ccavenue citrus-pay

当我启动一个交易,说Citrus,Ccavenue或PayUmoney或任何付款网关,并且在客户方扣除了钱并且我的服务器在将要接收响应的时间失败时,会发生什么?我需要为该特定客户端更新数据库中的几列吗? 应该如何处理?我使用Mysql作为数据库和Laravel。

1 个答案:

答案 0 :(得分:2)

这可以由单独的队列服务(例如Laravel Queue(https://laravel.com/docs/5.6/queues

处理)

还要确保您具有用于检查付款状态的API。大多数付款网关都提供了API接口来检查付款状态。

付款周期如下

  1. 客户-捕获付款明细
  2. 客户-从付款网关请求付款,同时将任务添加到队列服务以检查付款状态并更新数据库。
  3. 队列服务-从网关请求付款状态并更新数据库
  4. 客户-从数据库中选择付款状态

队列服务应作为与客户端应用程序隔离的服务器进程运行。因此您的付款周期不会因任何中断/延迟(网络超时,服务器中断等)而中断

相关问题