微信现金红包,是微信支付商户平台提供的营销工具之一,上线以来深受广大商户与用户的喜爱。商户可以通过本平台向微信支付用户发放现金红包。用户领取红包后,资金到达用户微信支付零钱账户,在日常运营中为商户的营销活动带来热烈的反响。

在前几篇文章中都写过微信支付与退款,小程序的支付,企业付款等等,今天写一写公众号发红包的,对于发红包,需要明白一下几点:
1.发红包不需要支付授权目录,但是需要在商户后台调用红包Api的IP地址,也就是你的发起红包请求的服务器的IP,操作路径::【登录商户平台——>产品中心——>现金红包——>产品设置】(注:“产品设置”操作按钮仅当你开通现金红包功能之后才会出现)。
2.发红包需要Api证书。
3.在发放现金红包之前,请确保你的资金充足。别人通过在你的平台买东西微信支付付给你的钱和你发红包需要支出的钱不在一起,这里的钱需要单独充值的,操作路径:【登录商户平台——>账户中心——>资金管理——>充值】。
4.发红包可以借权的,比如公众号A是开通了微信支付的认证服务号,你的活动在公众号B(订阅号服务号均可)中举办,公众号B可以使用A的微信支付发红包,但是发红包需要知道用户的openid,获取这个openid的时候也需要借用公众号A来获取,也就是通过A发红包的这个openid就必须是该用户对应于A的openid。

操作前期准备,也就是微信支付商户平台的一些配置,请参看文档: https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_3&index=2

其实微信公众号 发红包和微信公众号 企业付款差不多,我也就顺带把企业付款再整理一下,好了话不多说,直接上代码:

/*** 公众号发红包* @param string $openid  用户openID* @param string $money     金额* @param string $trade_no  订单编号* @param string $act_name  活动名称* @return multitype      支付结果*/
public function sendredpack($openid,$money,$trade_no,$act_name){$config = $this->config;$data = array('nonce_str'        => self::getNonceStr(),'mch_billno'       => $trade_no,'mch_id'             => $config['mch_id'],'wxappid'          => $config['wxappid'],'send_name'       => '江南极客','re_openid'           => $openid,'total_amount'     => $money * 100, //付款金额单位为分'total_num'            => 1,'wishing'            => '祝您天天开心!','client_ip'         => self::getip(),'act_name'           => $act_name,'remark'             => 'From 江南极客');$data['sign'] = self::makeSign($data);//构造XML数据$xmldata = self::array2xml($data);$url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack';//发送post请求$res = self::curl_post_ssl($url, $xmldata);if(!$res){return array('status'=>0, 'msg'=>"Can't connect the server" );}// 这句file_put_contents是用来查看服务器返回的结果 测试完可以删除了//file_put_contents('./log.txt',$res,FILE_APPEND);$content = self::xml2array($res);if(strval($content['return_code']) == 'FAIL'){return array('status'=>0, 'msg'=>strval($content['return_msg']));}if(strval($content['result_code']) == 'FAIL'){return array('status'=>0, 'msg'=>strval($content['err_code']).':'.strval($content['err_code_des']));}return $content;
}/*** 公众号企业支付* @param string $openid   用户openID* @param string $money     金额* @param string $trade_no  订单编号* @param string $desc    付款操作说明信息(比如:提现)* @return string    支付结果*/
public function mchpay($openid,$money,$trade_no,$desc){$config = $this->config;$data = array('mch_appid' => $config['wxappid'],'mchid'     => $config['mch_id'],'nonce_str' => self::getNonceStr(),'partner_trade_no' => $trade_no, 'openid'    => $openid,'check_name'=> 'NO_CHECK',            //OPTION_CHECK不强制校验真实姓名, FORCE_CHECK:强制 NO_CHECK:'amount'    => $money * 100,       //付款金额单位为分'desc'      => $desc,'spbill_create_ip' => self::getip());//生成签名$data['sign'] = self::makeSign($data);//return $config;//构造XML数据$xmldata = self::array2xml($data);$url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';//发送post请求$res = self::curl_post_ssl($url, $xmldata);if(!$res){return array('status'=>0, 'msg'=>"Can't connect the server" );}// 这句file_put_contents是用来查看服务器返回的结果 测试完可以删除了//file_put_contents('./log1.txt',$res,FILE_APPEND);//付款结果分析$content = self::xml2array($res);if(strval($content['return_code']) == 'FAIL'){return array('status'=>0, 'msg'=>strval($content['return_msg']));}if(strval($content['result_code']) == 'FAIL'){return array('status'=>0, 'msg'=>strval($content['err_code']).':'.strval($content['err_code_des']));}return $content;
}

这是封装好的类,调用方法也超级简单:

include 'wxmerpay.class.php';      //引入类文件
$config = array('wxappid'        => 'wx123456789','mch_id'       => '1123456781','pay_apikey'    => '1234567898765432123456789','api_cert'       => $cert_path . '/apiclient_cert.pem',    'api_key'     => $cert_path . '/apiclient_key.pem','rootca'       => $cert_path . '/rootca.pem'
);
$redpack = new WxRedpack($config); //初始化
$redpack->sendredpack($openid,$money,$trade_no,$act_name);  //发红包

就这么简单吗?对!就这么简单,然而这里边使用了很多自己封装的函数方法,源码下载: http://download.csdn.net/download/sinat_35861727/9956485
如果真的感觉好用,请点个赞留个好评,谢谢!有问题也可以评论区告诉我!

微信支付之公众号发红包和企业付款相关推荐

  1. 【微信公众号发红包转账】微信公众号上手机网页接收请求,通过公众号给用户发红包 开发流程...

    有了微信支付 的开发做铺垫,相关的微信其他业务处理起来逻辑就能清晰很多. 准备好这两个架包 ------------------------------------------------------ ...

  2. php 公众号发红包,真实案例教你公众号发低于1元的红包

    原标题:真实案例教你公众号发低于1元的红包 红包被冠称为"营销核武器",15年央视春晚腾讯微信摇一摇红包被马云戏称为偷袭珍珠港,通过微信红包,微信支付在短时间成功地实现了新增绑定2 ...

  3. php微信公众号支付实例教程,php微信支付之公众号支付功能

    这篇文章主要为大家详细介绍了php微信支付之公众号支付功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 网上的很多PHP微信扫码支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后 ...

  4. 服务商快速进件V1.6.3源码帮助客户开通微信支付账号公众号应用

    源码下载:服务商快速进件V1.6.3源码帮助客户开通微信支付账号公众号应用-小程序文档类资源-CSDN下载

  5. 微信支付 php详解,微信支付之公众号支付详解

    本文主要和大家分享微信支付之公众号支付详解,随着微信支付的流行,大多产品都开发了自己的公众号.小程序等,产品的营销需要支付的支撑,最近做了个微信公号号支付,采坑无数,今天给大家分享一下,希望能帮助到大 ...

  6. 登录微信支付商户平台-产品中心,开通企业付款的方法

    2019独角兽企业重金招聘Python工程师标准>>> 登录微信支付商户平台-产品中心,开通企业付款的时候,找不到该功能,上网搜集的解决方法,亲测可行. 1.登录微信支付商户平台 2 ...

  7. 微信公众号发红包需要的API证书是什么,如何获取API证书?

    原文地址:什么是API证书?如何获取API证书? 什么是API证书?如何获取API证书? 一.什么是API证书 1.技术开发人员在调用微信支付安全级别较高的接口(如:退款.企业红包.企业付款)时,会使 ...

  8. 微信弯道超车!推出微信支付零花钱,可以用来发红包、转账,太香了!

    花呗.借呗一直受大家好评,网友一直好奇:为什么腾讯还没推出类似产品? 其实在2020年,腾讯旗下银行就推出了小鹅花钱,这款产品被网友评为"微信版花呗+借呗".小鹅花钱是一款消费信贷 ...

  9. 微信支付、公众号支付、微信APP支付教程

    这两天有朋友问我微信支付的一些事情,我就抽了点时间整理了一下微信支付相关的一些东西,在这里分享给大家,希望能帮助大家少走弯路. 微信支付分为APP支付和公众号支付两大类,其中公众号支付又分为(公众号支 ...

  10. 【接口文档】微信支付现金红包未开通,公众号发红包用第三方红包代发接口

    对接技术支持: QQ:3314129409   Wechat/Tel:18674509508 红包接口使用流程: 首先由后台通过红包创建接口获取红包ticket,然后使用ticket拼装红包链接,在用 ...

最新文章

  1. SAP QM 含有HUM的检验批做UD时候的不同之处?
  2. adb 重命名_Linux操作系统:三种最基本的文件重命名方法
  3. 通俗易懂,买一次西瓜就懂 Python
  4. Saltstack的pillar组件(6)
  5. python是开源工具吗_微软最强 Python 自动化工具开源了!不用写一行代码
  6. Oracle 和Mysql Group by的细节与坑
  7. 区块链宠物社区Pawtocol与去中心化社交网络memeunity达成合作
  8. python pywin32模块 修改cad_安装pywin32(Python调用win api必看)
  9. 【每日算法Day 68】脑筋急转弯:只要一行代码,但你会证吗?
  10. 苹果Mac环境如何配置定时任务?
  11. webpack4.0配置记录(2) 1
  12. 由入门C语言题目浅析gets()函数的用法
  13. 形容计算机网络教室的成语,形容教育的成语
  14. Javascript飘窗代码
  15. 国际结算三大方式之一—信用证 Letter of Credit(L/C)
  16. 金蝶K3系统单据对应ICTemplate表单ID信息
  17. react-native android打包失败: GC overhead limit exceeded
  18. PMP模拟试题与解析(四)
  19. 基于linux上搭建红楼梦知识图谱---后续
  20. 求两个整数的较大值(C语言)

热门文章

  1. Linux软件磁盘列阵RAID
  2. Vue入门(Vue.js,库与框架,MVVM,BootCDN,Vue入门,数据双向绑定,vue事件,生命周期,钩子函数 )
  3. 使用Workrave帮助防止腕管问题
  4. TIA protal与SCL从入门到精通(5)——函数终止跳转处理
  5. html5常用的单标签,HTML5的常用的标签
  6. CS231n课程笔记翻译2:图像分类笔记
  7. discuz!3.3自带微信插件实现微信端自定义菜单
  8. 【史上最详细】信贷中逾期天数统计说明
  9. 山东省公安厅交通管理局异地容灾系统运维、综合应用平台复制库升级项目
  10. 计算机解译地学应用效果,2014年中国地质大学(武汉)0816测绘科学与技术考研大纲...