微信红包功能(含示例demo)
开通支付权限
登录微信公众平台管理后台,找到“微信支付”一栏,进行开通
会跳转到“微信支付商户平台”,根据提示提交相关证明,完成支付权限的开通
开通之后,“微信支付”一栏会显示相关信息,在“开发-接口权限”部分,微信支付功能已经开启
微信支付商户平台的相关配置
在微信支付商户平台,“账户中心-账户设置-API安全”部分
为本机安装操作证书
设置API密钥
下载API证书
需要注意的是,只有管理员有权限下载证书,作者现在是员工身份,所以没有显示下载按钮
API证书需要在电脑上安装,打开apiclient_cert.p12进行安装(这是官方的做法,网上有些小伙伴说不推荐,有更好的方式,大家可以自行搜索比较一下)
至此,电脑可以调用支付接口
充值
在微信支付商户平台,“交易中心-资金管理-充值”
微信公众平台管理后台的相关配置
配置白名单
在微信公众平台管理后台,“开发-基本配置”中设置IP白名单
配置服务器配置
在微信公众平台管理后台,“开发-基本配置”中
URL需要正确响应微信发送的Token验证,使用盛派SDK,写法如下:
/// <summary>
/// 微信后台验证地址(使用Get)
/// </summary>
/// <returns></returns>
public ActionResult Index(PostModel postModel, string echostr)
{
if (CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, token))
{
return Content(echostr); //返回随机字符串则表示验证通过
}
return Content("failed:" + postModel.Signature + "," + CheckSignature.GetSignature(postModel.Timestamp, postModel.Nonce, token) + "。" +
"如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。");
}
服务器可以启用/禁用
当服务器启用时,“功能”中的“自动回复”和“自定义菜单”会失效,需要服务器自行处理
配置功能设置
在微信公众平台管理后台,“公众号设置-功能设置”中
订阅号只有业务域名和JS接口安全域名,服务号除了业务域名和JS接口安全域名,还有网页授权域名
Coding
思路
1.先获得用户Openid
2.向目标用户(根据Openid)发红包
订阅号发红包
以口令红包为例
1.用户向订阅号发送口令
2.订阅号服务器处理,返回获取红包的链接(自己的页面)
3.提供支付功能的服务号查询用户信息,获得用户针对服务号的openId
4.服务号调用红包接口
注意在查询用户的时候,使用提供支付功能的服务号的appId等相关密钥,不要弄错了,如果openId是针对订阅号的openId则服务号无法发红包
(appId,appSecret,openId是配套的,同一个用户针对不同的公众号openId不同)
用户在自己的页面领取红包之后,需要去微信官方的页面打开红包
如果用户没有关注服务号,通过服务号通知打开红包
如果用户关注了服务号,通过服务号的页面打开红包
示例代码
https://github.com/zLulus/WeChatRedPacketSample
参考资料
https://www.cnblogs.com/wenhx/p/WeChat-RedPacket-Interface.html
官方资料
https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_3&index=2
https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3
相关资料
https://www.jianshu.com/p/c06120bc1f5c
https://www.cnblogs.com/wuhuacong/p/5429958.html
https://www.cnblogs.com/nangong/p/1a2add4356c7bcbab5990c89cbe37d38.html
证书说明:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3
◆ apiclient_cert.p12是商户证书文件,除PHP外的开发均使用此证书文件。
◆ 商户如果使用.NET环境开发,请确认Framework版本大于2.0,必须在操作系统上双击安装证书apiclient_cert.p12后才能被正常调用
◆ 商户证书调用或安装都需要使用到密码,该密码的值为微信商户号(mch_id)
注意事项:http://blog.csdn.net/Hiking_Tsang/article/details/52816144
微信红包功能(含示例demo)的更多相关文章
- 微信官方小程序示例demo 微信开发者工具打开不显示云开发按钮
如果直接打开官方的demo,微信开发者工具上是不显示云开发按钮的. 是因为默认appid是测试号.要换成一个正式appid就会显示云开发按钮了. 分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默 ...
- C#开发微信门户及应用(38)--微信摇一摇红包功能
摇一摇周边红包接口是为线下商户提供的发红包功能.用户可以在商家门店等线下场所通过摇一摇周边领取商家发放的红包.我曾经在<C#开发微信门户及应用(28)--微信“摇一摇·周边”功能的使用和接口的实 ...
- 微信支付现金红包接口应用实例代码说明和DEMO详解,适合用来做微信红包营销活动、吸粉利器
本文详细介绍微信红包开发的接口,商户调用接口时,通过指定发送对象以及发送金额的方式发放红包,领取到红包后,用户的资金直接进入微信零钱.后面带有具体调用php实例 总结一下:需要注意的是PEM秘 ...
- Android微信分享功能实例+demo
Android微信分享功能实例 1 微信开放平台注册 2 获得appId,添加到程序中,并运行程序 3 使用应用签名apk生成签名,添加到微信开放平台应用签名,完成注册 4 测试分享功能. 有问题请留 ...
- 微信小程序发送红包功能。填坑记录
微信官方文档 1.开通条件 (1)商户号已入驻90日 (2)商户号有连续30天正常交易 (3)只有企业资质的商户才有资格申请 2.注意事项 (1)目前小程序红包仅支持用户微信扫码打开小程序 (2)小程 ...
- PHP实现微信发红包功能2
<?php class wxPay { //配置参数信息 const SHANGHUHAO = "1430998xxx";//商户号 const PARTNERKEY = & ...
- 微信开发】【Asp.net MVC】-- 微信分享功能
[微信开发][Asp.net MVC]-- 微信分享功能 2017-01-15 09:09 by stoneniqiu, 12886 阅读, 15 评论, 收藏, 编辑 内嵌在微信中的网页,右上角都会 ...
- ThinkPHP5.0 实现 app微信支付功能
相对于之前随笔写的<ThinkPHP5.0实现app支付宝支付功能>来说,php对接app微信支付功能就相对简单的多了,最近有加我的朋友问到app微信支付,所以我把app微信支付的demo ...
- c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具
c#实例化继承类,必须对被继承类的程序集做引用 0x00 问题 类型“Model.NewModel”在未被引用的程序集中定义.必须添加对程序集“Model, Version=1.0.0.0, Cu ...
随机推荐
- Java 并发工具包 java.util.concurrent 大全
1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包.这个包包含有一系列能够让 Ja ...
- iOS View自定义窍门——UIButton实现上显示图片,下显示文字
“UIButton实现上显示图片,下显示文字”这个需求相信大家在开发中都或多或少会遇见.比如自定义分享View的时候.当然,也可以封装一个item,上边imageView,下边一个label.但是既然 ...
- js循环json数组
例如数据库里面的json字符串是这样的 var str = '[{"name":"宗2瓜","num":"1",&quo ...
- Docker入门之 - 如何安装Docker CE
原文:Docker入门之 - 如何安装Docker CE 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/article/det ...
- 深度学习代码注解(一)—— mnistdeepauto
clear all close all %% 1:参数设置 maxepoch=10; %In the Science paper we use maxepoch=50, but it works ju ...
- 移动端UI界面设计:APP字体排版设计的七个原则
移动端UI界面设计:APP字体排版设计的七个原则 发布于: 2015 年 2 月 9 日 by admin 再来谈移动端APP字体排版设计,也许有人会说,这个还有什么好说的呢?但是真正能够运用好APP ...
- phpstorm常用快捷键有哪些(图解归类)
phpstorm常用快捷键有哪些(图解归类) 一.总结 一句话总结: 10.方法参数提示,显示默认参数 解答:--------CTRL+P 13.显示类层级关系图,继承/实现关系 解答:--- ...
- ubuntu14.04下unix网络编程 环境的配置
在ubuntu下 首先:在unpv13e文件加下 ./configure cd lib make cd ../libfree make cd ../liggai make cd .. vim lib/ ...
- 与Qt的联系方式:邮件,论坛,销售,Bug报告
If you want to learn more about upcoming things for Qt, please stay tuned for new blog posts and web ...
- 图片拉伸:IOS开发UIImage中stretchableImageWithLeftCapWidth
意思就是用来创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度.那么接下来的一个像素会被拉伸.例如,leftCapHeight为6,top ...