当前位置: 代码迷 >> Android >> 问个支付宝手机网页支付的有关问题
  详细解决方案

问个支付宝手机网页支付的有关问题

热度:80   发布时间:2016-04-28 05:02:56.0
问个支付宝手机网页支付的问题。
比如说,我点击一个按钮,跳到一个activity,里面是一个webview,然后就会进行支付宝的手机网页支付。
那么在页面显示已经支付成功后,我应该怎么返回到之前的activity呢?并且更新所在订单的状态。

我 能想到的就是startActivityForResult 然后点击返回的时候,查询更新订单状态。

可是我想要的是像美团那样:当支付成功,并且返回商户自定义的支付成功地址以后,再自动跳转到某一个activity。
请问这是如何办到的呢

------解决方案--------------------
楼主求教怎么直接点击按钮跳转到支付宝网页支付? 你所说的有webview的activity是需要我们自己写的还是像快捷支付那样支付宝自己生成的? 能不能提供一下调用方法。。。我下了一个wap支付的官方demo,里面是通过jsp网页跳转的。。。。搞不定啊。。。。
------解决方案--------------------
或者是生成的订单信息通过新开webview访问商户的服务器,商户服务器再跟支付宝网页交互跳转到支付页面?
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

支付成功或失败的跳转页面应该是在开发支付页面的时候有谈到,它是自动在网页的方式跳转的。

恩。是的,是自动跳转的。包括同步和异步的URL都指定好了。
但是,美团他的处理流程就是:支付成功跳转到指定的URL之后,接着就跳转到一个activity去了。

肯定是这样的,支付结果页面有数据记录到数据库,在 APP 中读取到了就可以进行跳转了。

可是我无法或者到webview的跳转状态。
我在想着,要么就用线程是监听订单状态,要么就用推送的方式。但是这似乎都不是我想要的结果

我刚开始也想着用推送,但是用推送效果不是很好,毕竟推送会有延迟
------解决方案--------------------
继承WebViewClient写自定义。
WebView调用setWebViewClient方法把自定义的WebViewClient Set进WebView。
WebViewClient中重写“shouldOverrideUrlLoading” 方法。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

if(parseScheme(url)){
return true;
}
view.loadUrl(UrlTransformer(url));
return true;
}

自己写parseScheme方法吧,当跳转到某个特定URL时,你这里就跳转Activity了
  相关解决方案