zoukankan      html  css  js  c++  java
  • H5调起微信支付功能

    第一步:需要后端返回需要的以下参数:

    该操作是你提交完订单信息后在接口所返回的json,

    其次将其存储起来,我用的localStorage

    var payParams = {
    "appId":$wxData.appId,
    "timeStamp":$wxData.timeStamp, //时间戳,自1970年以来的秒数
    "nonceStr":$wxData.nonceStr, //随机串
    "package": $wxData.package,
    "signType":$wxData.signType, //微信签名方式:
    "paySign":$wxData.paySign //微信签名
    };

    第二步:新建空白页面(订单支付按钮跳转后的页面)

    function onBridgeReady() {
    var req = localStorage.getItem("payParams");
    if (!req) return;
    else req = JSON.parse(req);
    WeixinJSBridge.invoke(
    'getBrandWCPayRequest', req,
    function(res) {
    if (res.err_msg == "get_brand_wcpay_request:ok") {
    // alert("支付成功");
    } // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。
    else {
    console.log(res.err_msg);

    //支付失败后的操作
    window.location.href = "pay.html?ticketPrice="+$tickprice+"&actid="+$actid+"&ticketId="+$ticketId+"&sellerid="+$sellerid;
    }
    }
    );
    }
    if (typeof WeixinJSBridge == "undefined") {
    if (document.addEventListener) {
    document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
    } else if (document.attachEvent) {
    document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
    document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
    }
    } else {
    onBridgeReady();
    }

    完事了 前端工作 ,但是就是跟后台配合获取微信名称,openid 等等 可能比较耗费时间

  • 相关阅读:
    typedef 函数指针的使用(含例子)
    关于计算机与MCU通信及MAX232、CH340T与PL2303的区别
    CH340电路设计
    USB转串口CH340接线方法
    开漏输出、推挽输出的区别
    STM32位带操作
    STM32启动文件:startup_stm32f10x_hd.s等启动文件的简单描述
    浮点数在内存中的存储方式
    stm32启动地址
    STM32三种启动模式 boot0 boot1
  • 原文地址:https://www.cnblogs.com/S-pcholder/p/6857567.html
Copyright © 2011-2022 走看看