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

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来调用企业付款到零钱接口,这种方式的优势是现金直接划到用户零钱帐户,很多小程序做红包相关的活动时都是采用此种变通方式实现的。

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

用微信小程序发红包的两种方法相关推荐

  1. 微信小程序开发流程的两种方法科普

    现在微信小程序早已渗透我们日常生活的方方面面,很多商家看到了小程序带来的巨大流量,也想开发一个自己的小程序.所以今天就跟大家科普下微信小程序开发流程,你会发现这个开发过程其实非常简单. 1. 在微信公 ...

  2. 小程序发布上线流程_微信小程序开发流程的两种方法科普

    现在微信小程序早已渗透到我们日常生活的方方面面,很多商家看到了小程序带来的巨大流量,也想开发一个自己的小程序.所以今天就跟大家科普下微信小程序开发流程,你会发现这个开发过程其实非常简单. 1. 在微信 ...

  3. yii2 php 生成小程序分享海报的两种方法

    前段时间做了个小程序-爱小环保,现在要给它加一个生成海报分享朋友圈的功能. 先简单介绍下这个小程序,主要是号召大家随手捡垃圾,如果你在马路上见到别人随手丢的垃圾,可以将它拍下来,然后丢到垃圾桶,拍下来 ...

  4. 微信小程序发红包功能实现,附效果图加讲解。

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 需要做红包功能的可以找我,收费卖源码,也承接开发.此博文仅示例. 流程效果图: 图片1触发wx.sendBiz ...

  5. 微信小程序获取openid的两种方式

    这篇文章是关于获取openid的两种方式,自己在学着用微信小程序来写一个小东西玩 首先我们要到小程序官网获取到自己的appid和Appsecret 如图 第一种:直接在微信小程序中获取,不需要通过后台 ...

  6. 微信小程序---页面刷新的几种方法

    话不多说,首先附上两个链接,表示感谢: 微信小程序如何刷新当前界面 微信小程序----返回上一页刷新或当前页刷新 要解决的问题:如下图所示,当点击立即借书成功之后,把请求回来的数据中的借书单数量显示到 ...

  7. 抓取微信小程序数据包的三种方法

    前言 做安全测试的都会遇到测试某微信小程序,而微信小程序基本都是基于HTTPS的,所以抓取HTTPS数据包就是最关键的一步.最近几天折腾了一下,整理了比较简单.方便的三种方法. 条件 抓取微信小程序数 ...

  8. 微信小程序页面跳转(三种方法)

    方法1 对标签绑定点击事件 <view bindtap="clickMe" data-nid="123" data-name="SD" ...

  9. 解决微信小程序图片延迟加载(四种方法)

    实现延迟加载的方法 1:通过监听滚动条滑动事件,判断元素距离页面顶部的距离是否小于等于页面的可视高度 Page({data: {realScrollTop: 0,//页面滚动距离driveHeight ...

  10. 外部web端访问微信小程序云数据库的几种方法

    前言 我当前的项目是小程序开发,使用的是云开发方式,那么这时涉及到了小程序端提交的数据会保存到云数据库中,可是呢这些个数据要被外部访问用来管理,也就是还得弄一个管理后台界面管理这些数据.那就需要拿到云 ...

最新文章

  1. JAVA基础中关于double进制问题的解析
  2. python画图保存成html格式、用浏览器打开页面为空白_解决pyecharts运行后产生的html文件用浏览器打开空白...
  3. 在notebook中如何能完整的显示长文本内容
  4. 2018 浅谈前端面试那些事
  5. ubuntu网站做图像外链
  6. Shell中的特殊字符
  7. 工业交换机厂家有哪些,国产工业交换机品牌排行榜
  8. python form_Python中form的使用
  9. 别踩白块儿游戏源代码分析和下载(二)
  10. metasploit 教程之基本参数和扫描
  11. 如何免费复制百度文库上的文字
  12. SpringBoot+Nacos 配置中心 + 服务注册与发现
  13. 购物也能乐开花 淘宝搞笑评价集萃--2
  14. 论文详读《基于改进 LeNet-5 模型的手写体中文识别》
  15. 2022.01.24翻译Lorry
  16. 电脑激活Office时出现异常,激活界面白屏或提示无法与服务器
  17. PyTorch中 detach() 、detach_()和 data 的区别
  18. Latex设置每段前的空格数
  19. matlab如何添加数据集,如何用matlab把数据集导入数据库
  20. 电脑计算机管理看AHCI,怎么将电脑硬盘模式修改为ahci模式?

热门文章

  1. html的px和屏幕什么关系,Html字体大小的设置单位PT与PX区别
  2. ir2104作用,ir2104引脚功能和IR2103 请问有没有人可以通俗地讲解IR2104芯片引脚的功能?...
  3. 阿里云Oss获取图片的大小信息
  4. PS小技巧 证件照蓝底/红底换白底(非抠图,抠图头发边缘处理效果差)
  5. css层叠实例,css 层叠与z-index的示例代码
  6. Unity射线检测整理
  7. ubuntu16.04 lidar_align实现三维激光雷达和Imu联合标定
  8. uni-app使用i18n实现国际化/多语言配置
  9. 腾讯云服务器芯片,腾讯云星星海重磅发布首款自研GPU服务器 占据业界几宗“最”...
  10. React的调和过程(Reconcilliation)