【问题标题】:Keeping my database in sync with third party payment processor (Bluepay)?使我的数据库与第三方支付处理器 (Bluepay) 保持同步?
【发布时间】:2016-05-02 14:55:51
【问题描述】:

我正在使用 Bluepay 处理 Xamarin 移动应用程序的付款。处理付款或退款时,Bluepay 会发出请求,Bluepay 会以成功或失败进行响应。之后,应用程序将交易信息发送到我们的数据库进行存储。

如您所见,问题在于,如果应用在收到响应之前或在调用数据库之前崩溃,第三方支付处理器和我们的数据库很容易不同步。

如果数据库调用由于某种原因失败,这可能会被检测到并且可以重新发送交易信息,但如果从未真正从 Bluepay 收到交易数据(我们在响应之前崩溃,或者类似的事情),怎么可能重新发送我们没有的东西?

我认为这是一个常见且已解决的问题,但我似乎找不到类似的问题/答案。

【问题讨论】:

    标签: c# sql-server xamarin.forms atomic


    【解决方案1】:

    您希望在请求发出后立即记录它。 如果您在定义的时间跨度内没有收到任何响应,则您向 Bluepay 请求交易。现在,如果 Bluepay 没有响应或不知道交易,您记录一个超时并尝试以超时状态响应应用程序。此外,您的应用还应该对超时进行内部处理,例如连接中断时。

    【讨论】:

      猜你喜欢
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      相关资源
      最近更新 更多