主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
微信作为微信支付商家平台提供的营销工具之一,自推出以来深受商家和用户的喜爱。商家可以通过该平台向微信支付用户发放充现金红包。用户收到红包后,资金到达用户的微信支付零钱账户,为商家在日常运营中的营销活动带来热烈反响。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?第13章3 Index=2其实微信微信官方账号红包和微信微信官方账号企业支付差不多,我就顺便整理一下企业支付。话不多说,直接上码:
/* * *微信官方账号发红包* @param string $openid用户openID * @param string $money金额* @param string $trade_no订单号* @param string $act_name活动名称* @返回多类型支付结果*/公共函数sendredpack ($ OpenID,$money,$trade_no,$ act _ name){ $ config = $ this ->;配置;$ data = array( # 39;nonce _ str # 39= gtself::getnon castr(), # 39;mch _ billno # 39= gt$trade_no, # 39;mch _ id # 39= gt$ config[ # 39;mch _ id # 39],'wxappid # 39= gt$ config[ # 39;wxappid # 39],'send _ name # 39= gt'江南怪胎 # 39;,'re _ openid # 39= gt$openid, # 39;total _ amount # 39= gt$money * 100,//支付金额单位为分钟 # 39;total _ num # 39= gt1,'许愿 # 39;= gt'祝你快乐的一天!','client _ ip # 39= gtself::getip(), # 39;act _ name # 39= gt$act_name, # 39;备注 # 39;= gt'来自江南怪胎 # 39;);$ data[ # 39;标志 # 39;]= self::makeSign($ data);//构造XML数据$ XML data = self::array 2 XML($ data);$ url = # 39https://API . mch . weixin . QQ . com/mmpaymkttransfers/sendredpack # 39;;//发送post请求$ res = self:: curl _ post _ SSL ($ url,$ XML data);如果(!$ RES){返回数组( # 39;地位 # 39;= gt0, 'msg # 39= gt 能 # 39;t连接服务器 );}//这句话file_put_contents用来检查服务器返回的结果。测试结束后,可以删除//file _ put _ contents( # 39;./log . txt # 39;,$res,FILE _ APPEND);$ content = self::XML 2 array($ RES);if(strval($content[ # 39;return _ code # 39]) == '失败 # 39;){返回数组( # 39;地位 # 39;= gt0, 'msg # 39= gtstrval($content[ # 39;return _ msg # 39]));} if(strval($content[ # 39;结果代码 # 39;]) == '失败 # 39;){返回数组( # 39;地位 # 39;= gt0, 'msg # 39= gtstrval($content[ # 39;err _ code # 39]).':'.strval($content[ # 39;err _ code _ des # 39]));}返回$ content}/* * *微信官方账号企业支付* @param string $openid用户openID * @ param string $金额* @param string $trade_no订单号* @param string $desc支付操作指令信息(如提现)* @return string支付结果*/公共函数mchpay ($ openid,$money,$trade_no,$ desc){ $ config = $ this ->;配置;$ data = array( # 39;mch _ appid # 39= gt$ config[ # 39;wxappid # 39],'麦克希德 # 39;= gt$ config[ # 39;mch _ id # 39],'nonce _ str # 39= gtself::getnon castr(), # 39;partner _ trade _ no # 39= gt$trade_no, # 39;openid # 39= gt$openid, # 39;check _ name # 39= gt'NO _ CHECK # 39,//OPTION_CHECK不强制验证实名,FORCE _ CHECK:FORCE no _ CHECK: # 39;金额 # 39;= gt$money * 100,//支付金额单位为分钟 # 39;desc # 39;= gt$desc, # 39;spbill _ create _ ip # 39= gtself::getip());//生成签名$ data[ # 39;标志 # 39;]= self::makeSign($ data);//返回$ config//构造XML数据$ XML data = self::array 2 XML($ data);$ url = # 39https://API . mch . weixin . QQ . com/mmpaymkttransfers/promotion/transfers # 39;;//发送post请求$ res = self:: curl _ post _ SSL ($ url,$ XML data);如果(!$ RES){返回数组( # 39;地位 # 39;= gt0, 'msg # 39= gt 能 # 39;t连接服务器 );}//这句话file_put_contents用来检查服务器返回的结果。测试结束后,可以删除//file _ put _ contents( # 39;./log 1 . txt # 39;,$res,FILE _ APPEND);//支付结果分析$ content = self::XML 2 array($ RES);if(strval($content[ # 39;return _ code # 39]) == '失败 # 39;){返回数组( # 39;地位 # 39;= gt0, 'msg # 39= gtstrval($content[ # 39;return _ msg # 39]));} if(strval($content[ # 39;结果代码 # 39;]) == '失败 # 39;){返回数组( # 39;地位 # 39;= gt0, 'msg # 39= gtstrval($content[ # 39;err _ code # 39]).':'.strval($content[ # 39;err _ code _ des # 39]));}返回$ content}这是封装的类,调用方法超级简单:
包括 # 39;wxmerpay . class . PHP # 39;;//引入类文件$ config = array( # 39;wxappid # 39= gt'wx123456789 # 39,'mch _ id # 39= gt'1123456781','pay _ apikey # 39= gt'1234567898765432123456789','api _ cert # 39= gt$cert_path。'/API client _ cert . PEM # 39;,'api _ key # 39= gt$cert_path。'/API client _ key . PEM # 39;,'鲁特卡 # 39;= gt$cert_path。'/rootca . PEM # 39;);$ red pack = new wxred pack($ config);//initialize $ red pack ->:sendredpack($ OpenID,$money,$trade_no,$ act _ name);//发个红包就这么简单?是啊!就这么简单。但是,这里使用了大量的封装函数方法。源代码下载:http://download.csdn.net/download/sinat_35861727/9956485,如果真的觉得不错,请点击它并留下好评。谢谢大家!如果你有任何问题,请在评论区告诉我!
相关建议:
微信支付退款功能的开发
用PHP开发微信支付和支付宝支付的例子
关于微信支付接口的研究和分享以上是微信微信官方账号的红包和企业支付实现方法的详细内容。更多请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 个人主题小程序和企业组织小程序有什么区别?
- 微信微信官方账号红包和企业支付的实现方法(微信微信官方账号红包给用户)
- 5实用企业dedecms织梦模板分享(快来下载)(织梦cms能商业化吗)
- 5实用企业dedecms Dreamweaver模板分享(快来下载)(在dedecms中,如何通过模板搭建网站)
- 5实用企业dedecms Dreamweaver模板分享(快来下载)
本文由主机参考刊发,转载请注明:微信官方账号红包及企业支付实现方法(让微信自己发红包) https://zhujicankao.com/80591.html
评论前必须登录!
注册