uniapp web-view支付
时间: 2023-10-03 15:05:00 浏览: 129
uniapp的web-view支付可以通过对支付宝h5收银台的回调跳转进行拦截来实现。首先,在webview中的onReady()事件中,可以使用uni.redirectTo()方法对支付宝的return_url地址进行拦截,并将其跳转到app中的支付成功页面。具体的代码如下所示:
```javascript
onReady() {
// #ifdef APP-PLUS
const currentWebview = this.$mp.page.$getAppWebview();
var wv = currentWebview.children()[0];
wv.overrideUrlLoading({mode: 'reject', match: '.*alipay\.com/.*'}, (e) => {
//拦截支付宝的回调跳转
uni.redirectTo({
url: "/pages/public/payResult?ptype=alipay&orderid=xxx"
})
});
// #endif
}
```
通过以上代码,可以实现当用户在webview中进行支付宝支付时,支付成功后会跳转到app中的支付成功页面,而不是继续停留在webview中。另外,还需要在微信唤醒逻辑中对自己的webview页面进行配置,将redirect_url拼接上自己app的UrlSchemes,以确保支付回调的是app而非浏览器。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [webview内嵌uniappH5支付](https://blog.csdn.net/xj932956499/article/details/109696045)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文