背景:

近期一个朋友公司要做活动,活动放在小程序上。小程序开发倒是不难,不过要使用小程序给微信用户发红包,这个就有点麻烦

确定模式:

小程序目前没有发红包接口,要实现的话,只能是模拟红包,即小程序上做出红包的效果,实质使用别的支付方式代替

1、首先想到的是企业支付,简单快捷,只要在后端调用企业支付的接口即可。不过这种方式有一个很大的弊端,支付最低金额限制为1元。而公司营销为了节约成本,大多数都是几毛钱的红包

2、使用公众号代替小程序发红包,先在微信公众平台关联小程序和公众号,由于每个用户针对小程序和公众号各有一个openid,所以只能使用unionid关联。

方法:

   (1)、先通过公众号接口获取access_token

   (2)、在服务器调用接口获取已关注公众号的微信用户列表,列表能返回关注公众号的用户的openid(每个微信号针对每个公众号有唯一的openid)

     (3)、在服务器调用接口逐个获取用户基本信息,将获取到的unionid和openid保存

      (4)、通过小程序以同样的方法获取unionid及公众号的openid,在小程序服务端调用公众号发红包接口,给对应的微信用户发公众号红包

缺点:要通过公众号发放红包,达不到最好的效果,而且在有设置活动的前提下,才能发低于1元的红包

  3、使用第三方平台发放红包,比如聚分云等,不过效果也很差,暂时没实践

4、使用模拟红包,保存发放的金额。当总余额大于等于1的时候,允许用户提现。实质是使用企业支付

结语:

以上就是几种使用小程序发红包的方式,开发过程中也是一直踩坑。目前微信小程序有发红包的接口,但是还是内测。只能将就着用了

最新文章

  1. 在Node.js使用mysql模块时遇到的坑
  2. jquery手写实现单页滚动导航
  3. 【BZOJ】1082: [SCOI2005]栅栏(二分+dfs)
  4. 黄聪:WordPress动作钩子函数add_action()、do_action()源码解析
  5. ubuntu 切换工作区域
  6. __FILE__,__LINE__,FUNCTION__
  7. 利用iptables来配置linux禁止所有端口登陆和开放指定端口
  8. 最简单的内核模块hello world
  9. 【MYSQL 清空所有的的表中的数据的SQL的生成】
  10. AC Me
  11. vc++6.0修改字体
  12. 树莓派控制高电平蜂鸣器(c语言+新手向)
  13. JavaTCP和UDP套接字编程
  14. win7下配置mysql的my.ini文件
  15. Codeforces 438E The Child and Binary Tree [DP,生成函数,NTT]
  16. C#异常--System.IO.FileLoadException:“混合模式程序集是针对“v2.0.50727”版的运行时生成的错误
  17. Sqlserver 系统视图简单说明
  18. prototype.js的Ajax对IE8兼容问题解决方案
  19. 转:QTCreater调试时提示ptrace不允许的操作(点击调试之后40秒钟gdb无回应)
  20. SQL服务器模式

热门文章

  1. Prometheus使用入门
  2. scala转换date提取年月日时分秒
  3. 设计模式的征途(C#实现)—文章目录索引
  4. MongoDB exception:connection failed
  5. 【java多线程】多线程的创建三种方式--笔记
  6. leetcode — remove-duplicates-from-sorted-list-ii
  7. 谈谈.NET Core中基于Generic Host来实现后台任务
  8. [四] java8 函数式编程 收集器浅析 收集器Collector常用方法 运行原理 内部实现
  9. [十五]java.math包简介,RoundingMode与MathContext
  10. 【Node.js】利用node.js搭建服务器并访问静态网页