| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- /*
- * 支付
- */
- export const pay = (result, self, success, fail) => {
- if (result.code === -10) {
- self.showError(result.msg);
- return false;
- }
- // 发起微信支付
- if (result.data.pay_type == 20) {
- //小程序支付
- // #ifdef MP-WEIXIN
- uni.requestPayment({
- provider: 'wxpay',
- timeStamp: result.data.payment.timeStamp,
- nonceStr: result.data.payment.nonceStr,
- package: 'prepay_id=' + result.data.payment.prepay_id,
- signType: 'MD5',
- paySign: result.data.payment.paySign,
- success: res => {
- paySuccess(result, self, success);
- },
- fail: res => {
- self.showError('订单未支付成功', () => {
- payError(result, fail, self);
- });
- },
- });
- // #endif
- //公众号支付
- // #ifdef H5
- if(self.isWeixin()){
- WeixinJSBridge.invoke('getBrandWCPayRequest', JSON.parse(result.data.payment),
- function(res) {
- if (res.err_msg == "get_brand_wcpay_request:ok") {
- paySuccess(result, self, success);
- } else if (res.err_msg == "get_brand_wcpay_request:cancel") {
- self.showSuccess('支付取消', () => {
- payError(result, fail, self);
- });
- } else {
- self.showError('订单未支付成功', () => {
- payError(result, fail, self);
- });
- }
- }
- );
- }else{
- //h5支付
- self.gotoPage('/pages/order/pay-h5/pay-h5?order_id='+result.data.order_id+'&order_type='+result.data.order_type);
- return ;
- }
- // #endif
- // #ifdef APP-PLUS
- //微信支付
- wxAppPay(result, self,success, fail);
- // #endif
- }
- // 余额支付
- if (result.data.pay_type == 10) {
- paySuccess(result, self, success);
- }
- // 支付宝支付
- if (result.data.pay_type == 30) {
- // #ifdef APP-PLUS
- aliAppPay(result, self,success, fail);
- // #endif
- // #ifdef H5
- self.gotoPage('/pages/order/alipay-h5/alipay-h5?order_id='+result.data.order_id+'&order_type='+result.data.order_type);
- // #endif
- }
- }
- /*跳到支付成功页*/
- function paySuccess(result, self, success) {
- if(success){
- success(result);
- return;
- }
- gotoSuccess(result, self);
- }
- /*跳到支付成功页*/
- function gotoSuccess(result, self) {
- self.gotoPage('/pages/order/pay-success/pay-success?order_id=' + result.data.order_id, 'reLaunch');
- }
- /*支付失败跳订单详情*/
- function payError(result, fail, self) {
- if(fail){
- fail(result);
- return;
- }
- self.gotoPage('/pages/order/order-detail?order_id=' + result.data.order_id, 'redirect');
- }
- function wxAppPay(result, self,success, fail){
- // 获取支付通道
- plus.payment.getChannels(function(channels) {
- self.channel = channels[0];
- console.log(self.channel);
- uni.requestPayment({
- provider: 'wxpay',
- orderInfo: result.data.payment,
- success(res) {
- paySuccess(result, self, success);
- },
- fail(error) {
- console.log(error);
- self.showError('订单未支付成功', () => {
- payError(result, fail);
- });
- },
- });
- }, function(e) {
- console.log("获取支付通道失败:" + e.message);
- });
- }
- function aliAppPay(result, self,success, fail){
- console.log(result.data.payment);
- uni.requestPayment({
- provider: 'alipay',
- orderInfo: result.data.payment,
- success(res) {
- paySuccess(result, self, success);
- },
- fail(error) {
- console.log(error);
- self.showError('订单未支付成功', () => {
- payError(result, fail, self);
- });
- },
- });
- }
|