评论

微信发劵小插件使用记录

微信支付优惠券通过发劵小插件领取商家劵

微信支付的API 密钥

1、添加插件配置(引入插件包)

在小程序配置app.json 文件中加入如下配置:

# app.json
{
  "plugins": {
    "sendCoupon": {
      "version": "1.1.7", //个人推荐为最新版本
      "provider": "aaaaaaaaaaaaaaaaaaaaaa"

    }
  }
} 


2、在小程序页面中引入发券插件

注意:插件本身不带任何样式,只用于发起请求,支持插入子节点,子节点供商户任意定义样式和内容。

  1)在小程序页面配置文件中加入如下配置,引入send-coupon组件:

#比如要在 index.wxml 引入插件,则在对应的  index.json 加入:
{
  "usingComponents": {
    "send-coupon": "plugin://sendCoupon/send-coupon"
  }
} 


  2)在小程序页面的WXML模板中加入如下代码,并填入相关字段,字段说明参见小程序发券插件字段说明表

<send-coupon
bindcustomevent="getcoupon"  
send_coupon_params="{{send_coupon_params}}" 
sign="{{sign}}" 
send_coupon_merchant="{{send_coupon_merchant}}"> 
	<!-- 内部为自定义代码,按钮点击部分的代码写在这里 -->  
	<!-- [[以下为示例代码 -->  
       <view class="text">领取</view>  
       <!-- 以上为示例代码 ]] -->
</send-coupon>


签名实现

   function getSign()
    {
        $values =  array(
            //券参数
            "stock_id0"=> "111111111",//stock_id
            "out_request_no0"=> "1111111111111111111" ,//out_request_no
            //商户号
            "send_coupon_merchant" => "111111111",//商户号
       );
        $sign_str = '';
        ksort($values);  //按照键名给数组排序
        $pay_key = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';//API商户密钥

        foreach ($values as $key => $value) {
            $sign_str .= $key . '=' . $value . '&';
        }
        $sign_str .= "key=" . $pay_key;

        $sign = strtoupper(hash_hmac("sha256", $sign_str, $pay_key));

        var_dump($sign);

    }


领取商家卷

#send_coupon_result内容
{
    code: "DUPREQUEST" //成功 success
    coupon_code: "00000000000000000000000" //领取后劵的唯一ID标识
    message: "已通过该发券凭证给用户发券"
    out_request_no: "000000000000000000000000" //创建卷的唯一标识
    stock_id: "0000000000000000" 
}


真机调试查看结果

过期提醒

注:劵只有在过期三天前领取才会提示,即将过期领取不会提示

最后一次编辑于  2021-04-13  
点赞 2
收藏
评论

4 个评论

  • 青寒
    青寒
    2021-04-13

    少年,可以来参加微信支付文章活动月啊!

    文章加活动标签:微信支付文章活动月

    详见:有奖征文 | 从产品设计、开发到运营维护,说说你与微信支付的那些事儿? - 微信开放社区 https://developers.weixin.qq.com/community/pay/doc/000ece3b0ec440d0d7eb7371e51c01

    2021-04-13
    赞同 2
    回复 1
    • Dylan
      Dylan
      2021-04-13
      我还说啥呢,点赞吧
      2021-04-13
      回复
  • 健_
    健_
    2021-08-20
    请问 app.json 中的 provider 填入的事什么东西
    


    2021-08-20
    赞同 1
    回复
  • Kevin.Zhang
    Kevin.Zhang
    2021-06-16

    领取过了怎么从小程序跳转到卡包,openCard接口没法用了额


    2021-06-16
    赞同 1
    回复
  • 徐永宾
    徐永宾
    2021-05-10
    您好,我这里一直报提示缺少必传参数send-coupon-params,还有什么需要注意的地方吗
    
    
    2021-05-10
    赞同 1
    回复
登录 后发表内容