美文网首页
关于如何添加卡券到微信卡包的坑

关于如何添加卡券到微信卡包的坑

作者: cb12hx | 来源:发表于2017-12-26 22:12 被阅读0次

首先,已经读取到了cardId,此时需要去生成签名,注意,此时已经使用config配置,即添加了addCard,openCard等方法,此处略过,本文主要讲添加卡包用到的签名

1.生成签名

(注:属于前端模拟,最好由后端生成)

var cardId = 'xxxxxxxxxxxx'
  var timestamp = '1514292155'
  var api_ticket = 'xxxxxxxxxxxxxxxxx'
  var nonceStr = '1qaz2wsx'
  var arr = new Array(api_ticket,nonceStr, timestamp, cardId);

  // 转为字符串
  arr = arr.map(function(n) {
    return n.toString();
  });

  // 字典序排序
  arr = arr.sort();

  // 拼接为字符串
  var str = arr.join("");

  // 进行SHA1加密,sha1算法需自行实现
  var signature = hex_sha1(str)
  console.log('signature:', signature)

总共需要四个参数,其中的api_ticket需要通过接口返回,第一步要获取token,第二步,通过获取的token获取ticket,获取token通过appid和secret,获取ticket通过以下的方法

// 获取ticket
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=xxx&&type=wx_card
// 获取token
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

然后就可以生成签名了

2.调用addCard

 var signature = 'xxxxxxx'
        var timespan = '1514292155'
        var nonceStr ='1qaz2wsx'
        var api_ticket = 'm7RQzjA_ljjEkt-JCoklRB7LfGKT7x8UsKpnVAopKOzvW4eFSq6HSbKKxAOjvlQ0AYy0tq5rprFdtFfy_WsPWw'
        var ext = '{"api_ticket":"'+api_ticket+'","card_id":"'+cardId+'","nonce_str":"'+nonceStr+'","timestamp": "'+timespan+'", "signature":"'+signature+'"}'
        console.log('extextextextextext:', ext)
        wx.addCard({
          cardList: [
            {
              cardId: cardId,
              cardExt:ext
            }
          ],
          success: function (res) {
            
          },
          cancel: function (res) {
            alert(JSON.stringify(res))
          }
        })

这里有一点需要注意,card_id必须和生成签名的保持一致,timestamp必须和生成签名的保持一致,nonce_str必须和生成签名的保持一致,注意是用下划线连接,另外网上查到timespan必须是以秒为单位,我在这边遇到的坑就是把nonce_str写成了nonceStr,一直报签名错误

相关文章

  • 关于如何添加卡券到微信卡包的坑

    首先,已经读取到了cardId,此时需要去生成签名,注意,此时已经使用config配置,即添加了addCard,o...

  • 自定义code卡券

    一.概念 自定义code卡券 = 卡券上的码是商户自己生成,与微信无关; 二.创建自定义卡券 点击查看微信创建卡券...

  • 微信优惠券如何发送给好友或者微信群

    商家用双方赢广告联盟制作出来卡券以后,商家可以自己扫描卡券二维码,把微信优惠券领取到自己卡包里,然后,再把存...

  • CH3. iOS Technologies(03)_Wallet

    Wallet(卡包) 卡包帮助用户查看和管理卡券(pass),业绩是那些诸如品牌卡券、优惠券、会员卡、返券、门票等...

  • 一、创建卡券

    创建卡券分两种: 定向卡券:将卡券发给已经微信注册的指定人 不定向卡券:将卡券插入在图文,任意人进入图文就可以领取...

  • 卡包

    我的页面点击卡包 1、卡包显示会员卡、代金券(外层默认显示列表内第一张)点击会员卡\代金券,进入到详情,点击查看全...

  • 微信卡包是什么?

    微信,是一种生活方式; 微信卡包,丰富你的生活。 出门吃饭忘记带会员卡,享受不了折扣? 优惠券过期了也不知道,错失...

  • 电子优惠券制作app

    一、微信电子优惠券的历程: 官方微信卡包2014年9月30日正式上线,至此,电子券大家庭里,迎来一个重量级...

  • 2018.05.08 微信小程序添加卡券遇到的坑

    准备工作: 一个可以开通卡券功能的服务公众号 一个小程序账号 注意两者是独立的,分别有着不同的appid和apps...

  • 用这种方法学习,再也不用死记硬背

    温馨提示:添加卡卡老师微信获取上课密码和教程.

网友评论

      本文标题:关于如何添加卡券到微信卡包的坑

      本文链接:https://www.haomeiwen.com/subject/cpoegxtx.html