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 等等 可能比较耗费时间

  • 相关阅读:
    DTree中致命的递归
    通过CLR同步SQL Server和Sharepoint List数据(三)
    通过CLR同步SQL Server和Sharepoint List数据(四)
    C#中操作IIS 7.0
    可爱又可恨的梅花雪
    通过CLR同步SQL Server和Sharepoint List数据(一)
    在Javascript中调用WSS
    VBA在Excel中的应用(二)
    自己编写存储过程对Oracle中的序列进行重置
    在Javascript中实现伪哈希表
  • 原文地址:https://www.cnblogs.com/S-pcholder/p/6857567.html
Copyright © 2011-2022 走看看