foggy
foggy
  • 发布:2016-04-18 10:38
  • 更新:2016-04-18 18:33
  • 阅读:972

支付宝成功后台异常如何处理

分类:HBuilder

最近在用hbuilder的支付插件,遇到一个问题,当我调用插件支付成功了,接下来是请求后台更新数据库内容,假设支付成功后网络断开,后台没有更新,就导致用户实际已经支付成功却显示没有支付成功,这种情况该如何处理, 谢谢

2016-04-18 10:38 分享
已邀请:

最佳回复

DCloud_App_Array

DCloud_App_Array

对于支付相关的业务,不应该已客户端提交支付成功状态,而应该由支付平台返回的数据为准,以支付宝为例,支付订单是可以设置notify url(即支付成功后,支付宝服务器请求的url地址)。
你的业务服务器和支付宝的服务器不可能出现网络断开的情况,所以这种通知是更可靠的。这种模式也可以防止其它程序假冒提交数据,避免非法攻击。

  • foggy (作者)

    首先感谢,其次想问一下生成支付订单有没有java的, 我看官方文档里面是php的。

    2016-04-19 13:10

Android_XR

Android_XR

那这个就应该以plus.payment.request( channel, statement, successCB, errorCB )执行successCB为支付成功标识,不是以支付宝服务器通知你们的业务服务器,业务服务器再通知你客户端为支付成功标识了。

  • foggy (作者)

    那我们要将自己的业务放在什么地方执行呢?

    2016-04-18 13:27

  • Android_XR

    执行到successCB这里在你们客户端也可以写个接口去通知你们的业务服务器支付成功

    2016-04-18 13:46

  • foggy (作者)

    回复 Android_XR:就是说successCB之前都不涉及我们的业务操作么?那执行到successCB然后网络异常这种情况怎么解决呢?

    2016-04-18 13:48

  • Android_XR

    在支付宝管理后台配置了支付成功回调接口的话正常的话支付宝后台会通知你们的业务服务器最多3次。

    2016-04-18 13:50

  • foggy (作者)

    回复 Android_XR:好的 谢谢

    2016-04-18 15:34

  • Android_XR

    嗯,支付业务前后台要一起配合,后台任务居多。

    2016-04-18 15:43

  • foggy (作者)

    回复 Android_XR:第一次做,也没有demo什么的,有点迷茫。哈哈

    2016-04-18 16:30

  • Android_XR

    嗯,慢慢就熟练了,一般就是参考官方技术文档。

    2016-04-18 16:32

要回复问题请先登录注册