Mui 微信支付支付宝支付
Posted 橘子味儿的猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mui 微信支付支付宝支付相关的知识,希望对你有一定的参考价值。
利用mui 发起手机微信和支付宝支付
payStatement :调起微信支付接口的参数
参考文档: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2
/** * 支付 * @param {Object} payType 支付类型 * @param {Object} payStatement 调起支付宝或微信的statment支付订单信息 */ paywx(payType, payStatement) { /***判断支付通道****/ //最终的支付通道 var channel; /*** * 用于标识支付通道: * "alipay" - 表示支付宝; * "wxpay" - 表示微信支付; */ var payId; //支付标识 if(payType == "ALIPAY_android") { payId = "alipay"; } else { payId = "wxpay"; } // 取出支付宝和微信的支付通道 plus.payment.getChannels(function(channels) { mui.each(channels, function(index, element) { if(element.id == payId) { channel = element; } }); if(!channel) { mui.toast(\'获取支付通道失败,请重试!\'); } setTimeout(function() { mui.confirm(\'支付已完成\', \'提示\', [\'支付遇到问题\', \'支付完成\'], function(e) { if(e.index == 1) { app.tokenAjax_Get({ url: API_URL_GET_ORDER_STATUS + dataSource.orderId, success: function(result) { if(result.status == 1) { var status = result.data; if(status == "JUST_CREATED") { mui.toast(\'订单未支付\'); } else if(status == \'CANCEL\') { mui.toast(\'订单已被取消\'); //清除定时器 clearInterval(timer); //打开 plus.webview.currentWebview().close(); plus.webview.getWebviewById("pay").close(); plus.webview.getWebviewById("order").close(); } else { //清除定时器 clearInterval(timer); //打开 app.openRefreshOrderListPage(); } } }, error: function(xhr) { app.httpError(xhr.status); } }); } }, \'div\') }, 3000); //发起支付 plus.payment.request(channel, payStatement, function(result) { mui.toast(\'支付完成\'); /** *查询订单状态是否已支付 * 轮询查询订单状态 * */ var timer1 = setInterval(function() { app.tokenAjax_Get({ url: API_URL_GET_ORDER_STATUS + dataSource.orderId, success: function(result) { if(result.status == 1) { var status = result.data; if(status == "JUST_CREATED") { mui.toast(\'订单未支付\'); } else if(status == \'CANCEL\') { mui.toast(\'订单已被取消\'); //清除定时器 clearInterval(timer); clearInterval(timer1) //打开 plus.webview.currentWebview().close(); plus.webview.getWebviewById("pay").close(); plus.webview.getWebviewById("order").close(); } else { //清除定时器 clearInterval(timer); clearInterval(timer1) //打开 app.openRefreshOrderListPage(); } } }, error: function(xhr) { app.httpError(xhr.status); } }); }, 1000); }, function(error) { console.log(JSON.stringify(error)); mui.toast("支付失败"); }); }, function(e) { mui.toast("获取支付通道列表失败:" + e.message); }); }
更多错误信息请参考支付(Payment)规范文档:http://www.html5plus.org/#specification#/specification/Payment.html
注意: ( 微信支付提示{"code":-100,"message":"[payment微信:-1]General errors"} )
- 微信支付安卓不支持真机调试
- 需要打包到手机测试, 打包测试需要使用自己的私有证书打包apk
以上是关于Mui 微信支付支付宝支付的主要内容,如果未能解决你的问题,请参考以下文章
spring_boot_pay支付宝,微信,银联支付详细代码案例