微信公众号发送红包
来源:互联网 发布:网络自媒体 编辑:程序博客网 时间:2024/05/16 05:56
- 微信红包发送准备条件
1.公众号支持发送红包功能2.每次发送红包不能低于1元3.公众号支付证书下载4.获取到要发送红包的微信的openID/金额
- 发送代码片段
$url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack'; $body = [ 'nonce_str' => sprintf('%10d%10d', rand(0, 9999999999), rand(0, 9999999999)), 'mch_billno' => sprintf('%s%s2%09d', $mchid, date('Ymd'), $hongBaoLog->getId()), 'mch_id' => $mchid, 'wxappid' => $appid, 'nick_name' => $data['nickname'], 'send_name' => $data['send_name'], 're_openid' => $data['openid'], 'total_amount' => $data['amount'], 'min_value' => $data['amount'], 'max_value' => $data['amount'], 'total_num' => 1, 'wishing' => $data['wishing'], 'client_ip' => '115.155.155.155', 'act_name' => $data['act_name'], 'remark' => $data['remark'], ]; ksort($body); $query = urldecode(http_build_query($body)); $stringSign = sprintf('%s&key=%s', $query, $key); $sign = md5($stringSign); $sign = strtoupper($sign); $body['sign'] = $sign; $xml = new \SimpleXMLElement('<xml></xml>'); foreach ($body as $k => $v) { $xml->addChild($k, $v); } $certPath = sprintf('%s/misc/all.pem', $this->container->getParameter('kernel.root_dir')); $xml = $guzzle->post($url, [ 'body' => $xml->asXml(), 'cert' => $certPath, ])->xml();
请求返回处理
1.返回是XML文件,需要解析xml文件拿到返回的数据
- 涉及金额问题,根据返回值,如果有异常发送,必定要发送报错原因告诉给维护人员,并且要注意写日志!
代码片
if (!isset($xml->result_code)) { return new JsonResponse(Commons::getResult('wechat api response result_code is null','500')); } if ('SUCCESS' != $xml->result_code) { $message = \Swift_Message::newInstance() ->setSubject('红包接口通知!') ->setFrom($this->getParameter('mailer_user')) ->setTo($this->getParameter('app_error_receipants')) ->setBody("$xml->return_msg"."红包发送失败,请知悉!"); $this->get('mailer')->send($message); //将报错信息发送出去 return new JsonResponse(Commons::getResult(<span style="color: #ff0000;">"$xml->return_msg"</span>,'500')); } $hongBaoLog->send();
0 0
- 微信公众号发送红包
- PHP:微信公众号的红包发送功能
- php微信公众号发送红包功能
- 调用微信公众号现金红包接口给用户发送红包
- 微信公众号开发---红包模块
- 微信公众号 调用红包接口
- 微信公众号下发红包功能
- 微信公众号开发----现金红包
- php微信公众号发送红包功能,以及40029错误
- 微信公众号开发系列之发送红包-java版本
- C# .net MVC 微信红包(服务号发送红包)
- C# .net MVC 微信红包(服务号发送红包)
- 2015-12-4 微信公众号红包
- 微信红包-公众号-打击
- 微信公众号开发---红包高级接口(java)
- 微信公众号 红包接口的功能实现
- Java:微信公众号:现金红包支付
- 微信公众号现金红包红包 企业付款openid 获取
- Qt:通过QML Profiler分析程序性能问题
- Android:内存泄露的发现
- WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理--01
- Qt入门(4)——控件
- java类加载机制
- 微信公众号发送红包
- java 流常用操作
- Win7+Ubuntu双系统安装完成后时间不一致相差大概8小时
- 关于cv::Mat和IplImage之间的互相转换
- 安装SecureCRT
- java 面试题(三)
- CNN & Tensorflow 入门——以Cifar-10为例
- iOS开发——MBProgressHUD 与 SVProgressHUD iOS提示框的优缺点
- 一个基于 React Native 的 Android 企业级应用。