收藏
回答

微信支付商家券怎么通过 JSAPI H5发券?

看文档推荐使用jsapi H5发券 然后使用js-sdk 发券功能打开领卡页面显示:

调用创建微信支付商家券时正确并返回stock_id,拿这个stock_id 赋值给 生成js-SDK 发券需要的CardExt的card_id字段,领取时出现上面页面,没有具体的报错信息,调用js-sdk 配置信息wx.config 时使用的是关联了这个微信商户的微信公众号的ApppId和AppSecret 。

要怎么解决啊

回答关注问题邀请回答
收藏

3 个回答

  • Memory (私信不回复)
    Memory (私信不回复)
    2021-08-24

    前置流程

    商家券的AddCard拉起微信客户端插卡接口,与老卡券使用相同的jsapi

    在H5页面内调用,需要预先绑定域名、引入js文件,通过config接口注入权限验证配置,通过ready接口处理成功验证,通过error接口处理失败验证,请参考:

    https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

    在小程序内调用,基础库 1.1.0 开始支持,低版本需做兼容处理批量添加卡券。只有通过 认证 的小程序或文化互动类目的小游戏才能使用。更多文档请参考 微信卡券接口文档。具体请参考小程序api开发文档:

    https://developers.weixin.qq.com/ebook?action=get_post_info&docid=0008aeea9a8978ab0086a685851c0a

    小程序jsapi卡券文档:

    https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html

    接口规则:

    wx.addCard({
    
    cardList: [{
    
    cardId: '',
    
    cardExt: ''
    
    }], // 需要添加的商家券列表
    
    success: function (res) {
    
    var cardList = res.cardList; // 添加的商家券列表信息
    
    }
    
    });
    
    
    

    示例代码

    wx.addCard({
    
    cardList: [
    
    {
    
    cardId: '1069587740', //对应商家券批次号
    
    cardExt: '{"out_request_no": "mch_send_199945614""send_coupon_merchant": "10195878""sign": "9A0A8659F005D6984697E2CA0A9CF3B79A0AGHJHG"}'
    
    }, //列表首项需添加签名、发券商户号等参数
    
    {
    
    cardId: '1069587740',
    
    cardExt: '{"out_request_no": "mch_send_1678945612"}'
    
    },//列表其他项无需填写上述公共参数
    
    {
    
    cardId: '1069587740',
    
    cardExt: '{"out_request_no": "mch_send_1678945614", "coupon_code": "HDFS1069773985"}'
    
    } //自定义code模式的券
    
    ,
    
    {
    
    cardId: '1069587555',
    
    cardExt: '{"out_request_no": "mch_send_1678945618", "customize_send_time": "2015-05-20T13:29:35.120+08:00"}'
    
    } //指定发券时间的券
    
    ],
    
    success (res) {
    
    console.log(res.cardList) // 卡券添加结果
    
    }
    
    })
    
    2021-08-24
    有用 1
    回复 13
    • 伟行
      伟行
      2021-08-25
      上面的文档地址能发我一份吗,我这边按照上面的计算签名然后用官方验签也正确,但是在H5中打开就是提示签名错误
      参与签名字段 stock_id、 out_request_no 、send_coupon_merchant
      生成的cardExt 为
      2021-08-25
      回复
    • 伟行
      伟行
      2021-08-25回复伟行
      2021-08-25
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      发表于小程序端
      2021-08-25回复伟行

      签名参考小程序插件发券签名,文档还没上开发文档

      2021-08-25
      回复
    • 伟行
      伟行
      2021-08-25回复Memory (私信不回复)
      非常感谢可以了 参数没加下标
      2021-08-25
      回复
    • 伟行
      伟行
      2021-08-26回复Memory (私信不回复)
      再问下,就是我用jsapi 发券成功,回调函数中返回的code是空值,我想调用openCard时需要传参code咋办,没法传,还是说商家券openCard的参数和旧版不一样呢
      2021-08-26
      回复
    查看更多(8)
  • coffee
    coffee
    2022-03-24

    签名规则和参与签名字段说明的链接可以发一下么

    2022-03-24
    有用
    回复
  • WeiShan
    WeiShan
    2021-12-20

    大佬,我也遇到了跟你同样的问题,请请问那个参数没加下标识啥呀,

    2021-12-20
    有用
    回复 1
    • Christöpher Xavi
      Christöpher Xavi
      2022-01-21
      下标的意思其实就是“out_request_no”实际上加入签名的时候是“out_request_no0”这种类型的字段这个0就是第几项参数的意思,0,1,2,3,4,格式就是“out_request_no{n}”
      2022-01-21
      回复
登录 后发表内容