如果交易完成后,向自己的服务器进行二次验证(服务器对用户增值操作)的时候,客服端突然断网了或者苹果的服务器连接不上那么怎么办,现在还没找完美的解决办法,现在暂时使用的这种方法:
transaction持久化,将加密的Base64字符串保存到本地,每次用户登录的时候自动重新验证。
当二次验证时,用户的客服端断网,就进入重试状态。如果二次验证时,自己的服务器断网,curl会得到一个"couldn‘t connect to host"这样的错误,就服务器端重试。对于网络超时或无法找到主机的都将transaction保存下来就行了,由于http是基于tcp/ip协议的服务层次应用,所以对验证通过或者失败的就直接移除掉就行了。
那么问题来了,用户在二次验证超时后,删掉了app,那么就完了。。。
原文地址:http://blog.csdn.net/assholeu/article/details/41481595