51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1918|回复: 2
打印 上一主题 下一主题

移动支付业务处理逻辑是怎样的呢?

[复制链接]
  • TA的每日心情
    无聊
    2017-10-28 15:37
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2017-10-14 13:34:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    作者:大杰哥
    链接:https://www.zhihu.com/question/37608358/answer/139844471
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    一般通过异步通知进行。异步通知过程中第三方支付的服务器会向你自己的服务器发送消息回执以描述某次支付的成功与否。此时,如果你的服务器因为各种原因忽略或没有接受到该回执,第三方支付的服务器会在很短的时间内再次发送同样的消息回执。这个重复发送的过程会一直下去直到第三方支付服务器得到你的服务器的回应,并且,每次重复发送的时间间隔会有所增长。实际上,支付因为各种情况发生错误很常见的,我们在开发星际加速器( https://rallets.com/ )过程中遇到过的有(按照影响力排序): 服务器出故障支付内置信息字段(例如支付标题)的长度限制,因为字节码的缘故,中文字符的长度与存储字节数会不一样,所以这个问题需谨慎处理。我们吃了两次亏才完全解决掉。第三方支付的配置。从没接触过支付逻辑到把多种支付推至线上(http://rallets.com现支持支付宝、微信、Paypal、Bitcoin)需要经过各种繁复恶心的调试。到最后能支付成功说明我们的支付配置肯定没有问题。我指的支付配置是一些比较容易疏忽的,例如: 允许支付的域名。某些支付要求安全支付域名精确到第三四级域名,这个时候你悄悄地把支付链接改掉后者把给网站套上https协议,但却往了更新配置,会导致无法支付。支付私钥的变更,这个很少会发生,只要在支付私钥过期的时间内更改之。以上,我介绍了一些经常导致支付失败的情形,为什么要说这个呢?因为是想告诉提问者,发个消息回执都能失败只能是因为第三方支付的服务器挂掉这些非常罕见的特殊情况,异步通知不及时跟我说的这三种情况比起来发生的概率要小太多太多了。实际上,我们http://rallets.com到目前为止还没有捕捉到哪一例支付失败是因为通知不及时。所以,如果碰到支付不及时的情况,你的服务器确实就只能等。但与其考虑这个问题,还不如好好审视你自己支付逻辑的实现,要让支付不出错不是件易事。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-23 14:46 , Processed in 0.068239 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表