评论

微信小程序发红包的两种方法

微信小程序给用户发现金红包的两种方式,1、调用小程序红包接口和领取接口;2、使用企业付款到零钱接口。

本篇主要介绍微信小程序给用户发现金红包的两种方式,大家可根据自己的实际情况酌情使用。

1,小程序开通了小程序红包的接口,但是目前该接口的的使用场景有限,仅限于场景值1011,1025,1047,1124时,基本为用户扫码打开小程序领取红包,这种方式的优势是有红包封面,有点击拆红包的按钮体验比较好,比较适合线下推广二维码时使用。开发时先后端调用发放红包接口,然后再传参给小程序端,调用领取红包接口wx.sendBizRedPacket方法即可。

打开微信支付官方文档中的小程序红包,公众号appid和用户openid参数描述模糊不清,说得就是微信公众号的appid和用户openid,压根没有提到小程序。


经过多次调试,终于测试通过,小程序红包开通条件和开发过程中需要注意以下几点:

  • 小程序需要绑定微信支付,且绑定的微信支付商户号需开通现金红包,如果小程序是用公众号认证的,可以很方便的绑定认证微信公众号时开通的微信支付商户号。
  • 文档里公众号appid即小程序的appid用户openid为用户对小程序的openid,该用户openid需在小程序里调用 wx.login() 获取临时登录凭证code,并回传到开发者服务器。调用auth.code2Session接口,换取用户唯一标识OpenID和会话密钥session_key。
  • 调用发放红包接口,https://api.mch.weixin.qq.com/mmpaymkttransfers/sendminiprogramhb 如果不填写'notify_way' => 'MINI_PROGRAM_JSAPI',不返回package,可以直接发现金红包,通知形式为服务通知,用户打开即可领取成功;如果填写notify_way则返回有package,只是package里的参数没有官方给的appid,但是有spid,但是不影响小程序正常领红包,用户依然可能通过领取红包接口成功领取现金红包。下面为带notify_way时请求参数和接口返回结果。

$redpackData = [

                'mch_billno' => $mch_billno,

                'send_name' => '今日头彩查询',

                're_openid' => $miniopenid,

                'total_num' => 1,  //固定为1,可不传

                'total_amount' => $total_amount,  //单位为分,不小于100

                'wishing' => '天天中头彩',

                'scene_id' => 'PRODUCT_1',

                'notify_way' => 'MINI_PROGRAM_JSAPI',

                'act_name' => '打开有礼',

                'remark' => '今日头彩,天天好彩头'];

$result = [

           "return_code" => "SUCCESS",

            "return_msg" => "发放成功",

            "result_code" => "SUCCESS",

            "err_code" => "SUCCESS",

            "err_code_des" => "发放成功",

            "mch_billno" => "1508784931202012171608188656",

            "mch_id" => "150878XXX",

            "wxappid" => "wxdccaff246b9f9b5c",

            "re_openid" => "ogn1H45HCRxVRiEMLbLLuABbXXX",

            "total_amount" => "100",

            "send_listid" => "1000041701202012173014299105358",

            "package" => "sendid=41469f3063dfc421bf3377897711d6f040e096a74ec6cb2a6c138178f67d681f&ver=8&sign=b3ff1X1fa2ba0aeeb6b9006dec2bc75b872ef7ee11d5e8bbb22e8836eaa2e76f090c307ba12452010f57dcaebbdec45a3196bff2d850eb9e9a49eedf483aa061&mchid=100846xxX&spid=150878xxx"];

  • 调用小程序领取红包接口成功领取红包,传给前端的参数中特别注意 'timeStamp' => time() . "",//时间戳,必须为字符串,增加.""转为字符串。
  • 小程序红包目前仅支持场景值1011,1025,1047,1124,包括扫描二维码,扫描小程序码和扫描一物一码等,具体可参与小程序红包文档。


2,调用微信支付的企业付款到零钱接口,微信支付的文档里是没有专门提到这种方式的,相信很多的开发者都已经在生产环境中大量使用了,这里不再赘述,实际是用小程序的appid和用户之于小程序的openid来调用企业付款到零钱接口,这种方式的优势是现金直接划到用户零钱帐户,很多小程序做红包相关的活动时都是采用此种变通方式实现的。

【今日头彩查询】是一款供彩民订阅和查询福利彩票和体育彩票开奖信息的小程序,里面已经集成了以上两种的发送红包的方式,用户扫码(注意是扫码不是长按识别)打开程序即可体验第一种方式;第二种方式隐藏在转发里,打开小程序后,点击右上角转发按钮转发到微信群或者微信好友,如果你的微信号是经过实名认证并且近期没有违规操作的,会在微信支付收到商家转帐入帐通知。

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

4 个评论

  • 🎱
    🎱
    2021-09-24

    不会请找我 关注工重号:古吃 就能找到我!!!

    2021-09-24
    赞同 1
    回复
  • 央草月其
    央草月其
    2022-09-29

    商户号有开通小程序红包现金红包企业付款到零钱接口,小程序就可以调用相关接口发放,若商户号没有相关权限,可以使用第三方API红包接口借权实现,API红包接口是一个可以被开发者调用的开放接口,聚合了现金红包(type=0)企业付款到零钱(type=1)接口。开放接口可以帮助你实现更加定制化的开发需求,通过调用开放红包接口可以赋予小程序H5APP等应用发放红包的能力。小程序接入,将小程序“校验文件”上传,小程序后台配置webview业务域名,然后按接口文档开发对接。附《接口说明

    两种发放方式:

    1. 通过红包创建接口获取红包ticket,然后使用ticket拼装生成红包链接,用户在微信端与拼装链接交互,获取用户openid,再通过服务器传输的参数进行红包下发。

    2. 在交互过程中嵌入静默授权或用户手动授权获取openid,然后可以随时在服务器端调用红包直发接口下发红包。




    2022-09-29
    赞同
    回复
  • Kevin
    Kevin
    2021-04-28

    不需要签名的吗,请求参数?

    2021-04-28
    赞同
    回复
  • 当代恶臭年轻人
    当代恶臭年轻人
    2021-03-01

    比如我是一个做营销工具的 我想调用微信红包 将微信红包作为我营销活动的奖品 这个我该如何调用 是调用微信红包接口 还是微信支付接口

    2021-03-01
    赞同
    回复
登录 后发表内容