zoukankan      html  css  js  c++  java
  • 微信红包功能(含示例demo)

    开通支付权限

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

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

    在微信支付商户平台,“账户中心-账户设置-API安全”部分

    为本机安装操作证书

    3

    设置API密钥

    4

    下载API证书

    5
    需要注意的是,只有管理员有权限下载证书,作者现在是员工身份,所以没有显示下载按钮
    API证书需要在电脑上安装,打开apiclient_cert.p12进行安装(这是官方的做法,网上有些小伙伴说不推荐,有更好的方式,大家可以自行搜索比较一下)
    6
    7
    至此,电脑可以调用支付接口

    充值

    在微信支付商户平台,“交易中心-资金管理-充值”

    微信公众平台管理后台的相关配置

    配置白名单

    在微信公众平台管理后台,“开发-基本配置”中设置IP白名单
    8
    9

    配置服务器配置

    在微信公众平台管理后台,“开发-基本配置”中
    1
    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接口安全域名,还有网页授权域名
    2

    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

  • 相关阅读:
    java IO输入输出流实现文本复制
    java HashMap
    java TreeSet 实现存自定义不可重复数据
    java中的ArrayList 使得集合中的对象不重复
    java 多线程执行过程
    final关键字的使用
    java中==和equals的区别
    java面向对象理解
    java语言基础(变量和运算符)
    学习Java第一天,大致了解
  • 原文地址:https://www.cnblogs.com/Lulus/p/8379739.html
Copyright © 2011-2022 走看看