微信公众号发红包和企业付款的实现方法

  介绍

小编给大家分享一下微信公众号发红包和企业付款的实现方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

微信现金红包,是微信支付商户平台提供的营销工具之一,上线以来深受广大商户与用户的喜爱。商户可以通过本平台向微信支付用户发放现金红包。用户领取红包后,资金到达用户微信支付零钱账户,在日常运营中为商户的营销活动带来热烈的反响。
1。发红包不需要支付授权目录,但是需要在商户后台调用红包Api的IP地址,也就是你的发起红包请求的服务器的IP,操作路径::【登录商户平台,在产品中心,在现金红包——在产品设置】(注:“产品设置“操作按钮仅当你开通现金红包功能之后才会出现)。
2。发红包需要Api证书。
3。在发放现金红包之前,请确保你的资金充足。别人通过在你的平台买东西微信支付付给你的钱和你发红包需要支出的钱不在一起,这里的钱需要单独充值的,操作路径:【登录商户平台,在账户中心,在资金管理,在充值】。
4。发红包可以借权的,比如公众号一个是开通了微信支付的认证服务号,你的活动在公众号B(订阅号服务号均可)中举办,公众号B可以使用一个的微信支付发红包,但是发红包需要知道用户的openid,获取这个openid的时候也需要借用公众号一个来获取,也就是通过一个发红包的这个openid就必须是该用户对应于的openid。

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

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

/* *   ,*公众号发红包   ,* @param  string  openid 美元;用户openID   ,* @param  string  money 美元;金额   ,* @param  string  trade_no 美元;,订单编的号   ,* @param  string  act_name 美元;,活动名称   ,* @return  multitype 支付结果   ,*/public  function  sendredpack (openid,钱,美元trade_no美元,美元act_name) {   config 美元;=,这比美元;配置;      $ data =,阵列(   nonce_str& # 39; & # 39;=祝辞,self:: getNonceStr (),   & # 39;mch_billno& # 39;,,,,,=祝辞,trade_no美元,   mch_id& # 39; & # 39;=祝辞,$ config [& # 39; mch_id& # 39;],   wxappid& # 39; & # 39;=祝辞,$ config [& # 39; wxappid& # 39;],   send_name& # 39; & # 39;=祝辞,& # 39;江南极客& # 39;,   & # 39;re_openid& # 39;,,,,=祝辞,openid美元,   & # 39;total_amount& # 39;,,,,=祝辞,money 美元;*,100,,//付款金额单位为分   & # 39;total_num& # 39;,,,,=祝辞,1,   & # 39;祝# 39;,,,,,,=祝辞,& # 39;祝您天天开心! & # 39;   client_ip& # 39; & # 39;=祝辞,self:: getip (),   act_name& # 39; & # 39;=祝辞,act_name美元,   时间的话# 39;& # 39;=祝辞,& # 39;得到江南极客& # 39;   );      $ data[& # 39;符号# 39;],=,self:: makeSign(元数据);//构造XML数据   $ xmldata =, self:: array2xml(元数据);      时间=美元url  & # 39; https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack& # 39;;//发送帖子请求   $ res =, self:: curl_post_ssl ($ url, xmldata美元);      如果(! $ res) {   return 数组(& # 39;状态# 39;=祝辞0,,& # 39;味精# 39;=祝辞;“停下来# 39;t  connect 从而server",);   }//,这句写入是用来查看服务器返回的结果,测试完可以删除了//写入(& # 39;。/log.txt& # 39;, res美元,FILE_APPEND);      $ content =, self:: xml2array (res);   如果(strval($内容[& # 39;return_code& # 39;]),==, & # 39;失败# 39;){   return 数组(& # 39;状态# 39;=祝辞0,,& # 39;味精# 39;=祝辞strval($内容[& # 39;大于# 39;]));   }   如果(strval($内容[& # 39;result_code& # 39;]),==, & # 39;失败# 39;){   return 数组(& # 39;状态# 39;=祝辞0,,& # 39;味精# 39;=祝辞strval($内容[& # 39;err_code& # 39;]) # 39;公司:& # 39;.strval($内容[& # 39;err_code_des& # 39;]));   }   美元return 内容;   }/* *   ,*公众号企业支付   ,* @param  string  openid 美元;用户openID   ,* @param  string  money 美元;金额   ,* @param  string  trade_no 美元;,订单编的号   ,* @param  string  desc 美元,付款操作说明信息(比如:提现)   ,* @return  string 支付结果   ,*/public  function  mchpay (openid,钱,美元trade_no美元,美元desc) {   config 美元;=,这比美元;配置;   $ data =,阵列(   & # 39;mch_appid& # 39;,=祝辞,配置美元[& # 39;wxappid& # 39;],   & # 39;mchid& # 39;,,,,,=祝辞,配置美元[& # 39;mch_id& # 39;],   & # 39;nonce_str& # 39;,=祝辞,self:: getNonceStr (),   & # 39;partner_trade_no& # 39;,=祝辞,trade_no美元,,   & # 39;openid # 39;,,,,=祝辞,openid美元,   & # 39;check_name& # 39;=祝辞,& # 39;NO_CHECK& # 39;,,//OPTION_CHECK不强制校验真实姓,名,FORCE_CHECK:强制,NO_CHECK:   & # 39;数量,,,,,=祝辞,money 美元;*,100,,//付款金额单位为分   & # 39;desc # 39;,,,,,,=祝辞,desc美元,   & # 39;spbill_create_ip& # 39;,=祝辞,self:: getip ()   );//生成签名   $ data[& # 39;符号# 39;],=,self:: makeSign(元数据);//return 美元配置;//构造XML数据   $ xmldata =, self:: array2xml(元数据);   时间=美元url  & # 39; https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers& # 39;;//发送帖子请求   $ res =, self:: curl_post_ssl ($ url, xmldata美元);   如果(! $ res) {   return 数组(& # 39;状态# 39;=祝辞0,,& # 39;味精# 39;=祝辞;“停下来# 39;t  connect 从而server",);   }//,这句写入是用来查看服务器返回的结果,测试完可以删除了//写入(& # 39;。/log1.txt& # 39;, res美元,FILE_APPEND);//付款结果分析   $ content =, self:: xml2array (res);   如果(strval($内容[& # 39;return_code& # 39;]),==, & # 39;失败# 39;){   return 数组(& # 39;状态# 39;=祝辞0,,& # 39;味精# 39;=祝辞strval($内容[& # 39;大于# 39;]));   }   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

微信公众号发红包和企业付款的实现方法