开通支付权限

登录微信公众平台管理后台,找到“微信支付”一栏,进行开通

会跳转到“微信支付商户平台”,根据提示提交相关证明,完成支付权限的开通
开通之后,“微信支付”一栏会显示相关信息,在“开发-接口权限”部分,微信支付功能已经开启

微信支付商户平台的相关配置

在微信支付商户平台,“账户中心-账户设置-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)的更多相关文章

  1. 微信官方小程序示例demo 微信开发者工具打开不显示云开发按钮

    如果直接打开官方的demo,微信开发者工具上是不显示云开发按钮的. 是因为默认appid是测试号.要换成一个正式appid就会显示云开发按钮了. 分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默 ...

  2. C#开发微信门户及应用(38)--微信摇一摇红包功能

    摇一摇周边红包接口是为线下商户提供的发红包功能.用户可以在商家门店等线下场所通过摇一摇周边领取商家发放的红包.我曾经在<C#开发微信门户及应用(28)--微信“摇一摇·周边”功能的使用和接口的实 ...

  3. 微信支付现金红包接口应用实例代码说明和DEMO详解,适合用来做微信红包营销活动、吸粉利器

      本文详细介绍微信红包开发的接口,商户调用接口时,通过指定发送对象以及发送金额的方式发放红包,领取到红包后,用户的资金直接进入微信零钱.后面带有具体调用php实例   总结一下:需要注意的是PEM秘 ...

  4. Android微信分享功能实例+demo

    Android微信分享功能实例 1 微信开放平台注册 2 获得appId,添加到程序中,并运行程序 3 使用应用签名apk生成签名,添加到微信开放平台应用签名,完成注册 4 测试分享功能. 有问题请留 ...

  5. 微信小程序发送红包功能。填坑记录

    微信官方文档 1.开通条件 (1)商户号已入驻90日 (2)商户号有连续30天正常交易 (3)只有企业资质的商户才有资格申请 2.注意事项 (1)目前小程序红包仅支持用户微信扫码打开小程序 (2)小程 ...

  6. PHP实现微信发红包功能2

    <?php class wxPay { //配置参数信息 const SHANGHUHAO = "1430998xxx";//商户号 const PARTNERKEY = & ...

  7. 微信开发】【Asp.net MVC】-- 微信分享功能

    [微信开发][Asp.net MVC]-- 微信分享功能 2017-01-15 09:09 by stoneniqiu, 12886 阅读, 15 评论, 收藏, 编辑 内嵌在微信中的网页,右上角都会 ...

  8. ThinkPHP5.0 实现 app微信支付功能

    相对于之前随笔写的<ThinkPHP5.0实现app支付宝支付功能>来说,php对接app微信支付功能就相对简单的多了,最近有加我的朋友问到app微信支付,所以我把app微信支付的demo ...

  9. 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 ...

随机推荐

  1. ios开发网络学八:NSURLSession相关代理方法

    #import "ViewController.h" @interface ViewController ()<NSURLSessionDataDelegate> /* ...

  2. kvm 虚拟化概述及 virt-manager 安装虚拟机

    一.KVM定义 基于内核的虚拟机(英语:Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施. KVM眼下支持Intel VT及AMD-V ...

  3. [Grid Layout] Use the minmax function to specify dynamically-sized tracks

    Using minmax() is an amazingly useful way to specify boundaries for the smallest and largest size a ...

  4. 后台报错java.lang.IllegalArgumentException: Invalid character found in the request target.

    报错: Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang ...

  5. springMVC返回json数据乱码问题及@RequestMapping 详解

    原文地址:https://blog.csdn.net/u010127245/article/details/51774074 一.@RequestMapping RequestMapping是一个用来 ...

  6. python 爬取豆瓣的美剧

    pc版大概有500条记录,mobile大概是50部,只有热门的,所以少一点 url构造很简单,主要参数就是page_limit与page_start,每翻一页,start+=20即可,tag是&quo ...

  7. 菜鸟学习Spring——60s利用JoinPoint获取參数的值和方法名称

    一.概述 AOP的实现方法在上两篇博客中已经用了两种方法来实现如今的问题来了尽管我们利用AOP,那么client怎样信息传递?利用JoinPoint接口来实现client给详细实现类的传递參数. 二. ...

  8. Curator简介

    Curator简介 Curator是一个博物馆或者其它集合的监管者或者管理者,Curator有以下几个组件组成: Recipes: 实现了通用ZooKeeper的recipes, 该组件是在Frame ...

  9. Browser security standards via access control

    A computing system is operable to contain a security module within an operating system. This securit ...

  10. winfrom 操作PPT

    ///winfrom 操作PPT using System; using System.Collections.Generic; using System.Linq; using System.Tex ...