支付问题

目前很多App点击跳转微信支付(等第三方支付),在微信中支付成功之后,点左上角系统返回键返回App,或者按home键然后再打开App,仍是支付页面,没有刷成支付成功页面。(如果支付完成之后点击微信的返回商户按钮打开App则没有此问题)

微信开发者文档说明:

支付结果回调
参照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路径中
实现WXPayEntryActivity类(包名或类名不一致会造成无法回调),
在WXPayEntryActivity类中实现onResp函数,支付完成后,微信APP会返回
到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错误码,
如果支付成功则去后台查询支付结果再展示用户实际支付结果。
注意一定不能以客户端返回作为用户支付的结果,
应以服务器端的接收的支付通知或查询API返回的结果为准。

显然,点微信的返回商户通过回调函数处理了支付状态,而从系统返回或者后台打开则没有。

这里应该主动拉取服务端查询支付结果。网上搜到一个解决方案仅供参考:
http://www.jianshu.com/p/9744c53b5498
简单总结就是,App发起支付时做标记,在App出现在前台的方法中检查若有支付标记则主动询问服务端支付结果,并解决从微信返回时客户端服务端两次重复支付结果。