调用微信红包接口返回(转)

终于找到原因了,写微信开发文档的真是垃圾,需要去掉 CDATA 标记

string nonce_str = Get_GuidStr();//随机字符串

            string sign = "";//签名

            string mch_id = "100000000";//商户号

            string mch_billno = Get_BillNo(mch_id);//商户订单号

            string wxappid = "wx8asdfderqweqweqwe2b";//公众账号appid

            string nick_name = "aa";//提供方名称

            string send_name = "aa";//商户名称

            string re_openid = "asdfasfwerqweqeqweqe";//用户openid

            int total_amount = 100;//付款金额(分)

            int min_value = 100;//最小红包金额

            int max_value = 100;//最大红包金额

            int total_num = 1;//红包发放总人数

            string wishing = "新年新气象,祝您身体健康,万事如意!";//红包祝福语

            string client_ip = "114.249.210.173"//"221.5.252.231";//Ip地址

            string act_name = "测试红包功能。";//活动名称

            string remark = "测的越多,送的越多。";//备注

            string logo_imgurl = "";//商户logo的url

            string share_content = "";//分享文案

            string share_url = "";//分享链接

            string share_imgurl = "";//分享的图片

<?php

const API = ‘https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack‘;

const MCH_ID = ‘‘;

const MCH_SECRET = ‘‘;

const APP_KEY = ‘‘;

const APP_SECRET = ‘‘;

const OPENID = ‘‘;

$money = 100;

//------------------logic----------------------

$params = [

    ‘mch_billno‘=>gen_mch_billno(),

    ‘mch_id‘=>MCH_ID,

    ‘wxappid‘=>APP_KEY,

    ‘nick_name‘=>‘xxxxx‘,

    ‘send_name‘=>‘xxxx‘,

    ‘re_openid‘=>OPENID,

    ‘total_amount‘=>$money,

    ‘min_value‘=>$money,

    ‘max_value‘=>$money,

    ‘total_num‘=>1,

    ‘wishing‘=>‘感谢您参加!‘,

    ‘client_ip‘=>‘127.0.0.1‘,

    ‘act_name‘=>‘测试红包‘,

    ‘act_id‘=>17481,

    ‘remark‘=>‘备注提示‘,

    ‘logo_imgurl‘=>‘http://www.sogou.com/images/logo/new/sogou.png‘ ,

    ‘share_url‘=>‘http://xxxx.com‘,

    ‘share_imgurl‘=>‘http://www.sogou.com/images/logo/new/sogou.png‘,

    ‘share_content‘=>‘恭喜发财‘,

    ‘remark‘=>‘新年红包哦~‘,

    ‘nonce_str‘=>gen_nonce(),

];

$res = post(API, gen_xml($params), true);

var_dump($res);

//-----------------func-----------------------

function gen_xml($params) {

    $xml ‘<xml>‘;

    $fmt ‘<%s><![CDATA[%s]]></%s>‘;

    foreach($params as $key=>$val){

        $xml.=sprintf($fmt$key$val$key);

    }

    $xml.=‘</xml>‘;

    return $xml;

}

function sign($params){

    ksort($params);

    $beSign array_filter($params‘strlen‘);

    $pairs array();

    foreach ($beSign as $k => $v) {

        $pairs[] = "$k=$v";

    }

    $sign_data = implode(‘&‘$pairs);

    $sign_data.=‘&key=‘.MCH_SECRET;

    return strtoupper(md5($sign_data));

}

function gen_nonce(){

    return md5(uniqid(‘‘, true));

}

function gen_mch_billno(){

    return MCH_ID.date(‘Ymd‘).time();

}

function post($url$strXml$CA = true) {

    //$arrHeader[] = ‘Content-Length: ‘ . strlen($strXml);

    $cacert = __DIR__ . ‘/cacert.pem‘//CA根证书  

    $SSL substr($url, 0, 8) == "https://" ? true : false;  

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);

    //curl_setopt($ch, CURLOPT_HTTPHEADER, $arrHeader);

    if ($SSL && $CA) {  

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);   // 只信任CA颁布的证书  

        curl_setopt($ch, CURLOPT_SSLCERT,__DIR__.‘/apiclient_cert.pem‘);

        curl_setopt($ch, CURLOPT_SSLKEY,__DIR__.‘/apiclient_key.pem‘);

        curl_setopt($ch, CURLOPT_CAINFO, $cacert); // CA根证书(用来验证的网站证书是否是CA颁布)  

        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配  

    else if ($SSL && !$CA) {  

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书  

        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名  

    }  

    curl_setopt($ch, CURLOPT_POST, 1);

    curl_setopt($ch, CURLOPT_POSTFIELDS, $strXml);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_HEADER, 0);

    $res = curl_exec($ch);

    curl_close($ch);

    return $res;

}

时间: 2024-10-15 01:45:14

调用微信红包接口返回(转)的相关文章

asp.net mvc 如何调用微信jssdk接口:分享到微信朋友(圈)| 分享到qq空间

如何在asp.net mvc 项目里, 调用微信jssdk接口,现实功能: 分享到微信朋友(圈)| 分享到qq空间 1 创建一个Action,准备一些数据,初始化数据(签名): /// <summary> /// 分享的内容 /// 必须写在html的head里面才可以生效 /// </summary> /// <param name="fxUrl"></param> /// <returns></returns>

.net Core 调用微信Jsapi接口,H5解析二维码

项目里需要用到扫描二维码,自己实现,不会. 找到了两种解决方案: 通过reqrcode.js,这是一个前端解析二维码内容的js库.如果二维码比较清晰,用这种效果也不错 调用微信扫一扫功能,这种效果很好.但是调试接口超级麻烦. 具体实现:前端代码(vue)(前端用到 vux) <template> <div class="main"> <group title="打印机参数" label-width="5.5em"&g

调用微信支付接口总结

毕业设计项目里面用到了微信支付的功能,在视频教程里面学习了一下,这里做个总结来记录.教材的模板里面用到的是anglusJS来做前端开发,我这边简化了,用的ajax进行异步的调用,然后业务也直接写在了控制层(不过不应该这么写的..),应该是个简洁明了的模板,主要是让自己理解整个流程. 1 关于在调用微信支付接口之前的一些准备工作,申请公众号,认证,拿到密钥等等操作就不概述了, 微信的在线支付文档中都有描述,这里贴出地址 :https://pay.weixin.qq.com/wiki/doc/api

微信红包接口开发

开源项目见:https://github.com/JeffreySu/WeiXinMPSDK public ActionResult SendRedPack() { string mchbillno = DateTime.Now.ToString("HHmmss") + TenPayV3Util.BuildRandomStr(28); string nonceStr = TenPayV3Util.GetNoncestr(); RequestHandler packageReqHandl

转:微信红包接口开放!

去年春节红包闪击战,掀起了一阵波澜!马云直呼-珍珠港事件! 2014年春节,超800万的用户通过微信参与了抢红包活动,超过4000万个红包被用户领取,人均抢到红包4-5个,除夕高峰区间,每分钟有2.5万个. 在2014世界杯期间,微信彩票每天发放红包,网友投注世界杯焦点赛事即可100%领取. 现在,微信红包功能接口对商户正式开放.没有了复杂的申请流程,商户可根据开发能力及所举办活动的具体需求来选择红包发放方式.目前,商户发放现金红包有系统自动发放.人工手动发放两种方式.其中“系统自动发放”由商户

微信红包接口开放 ,助力开年促销第一战

      摘要:昨日消息,微信正式宣布面向商户开发微信现金红包申请,只要商户(公众号.App或者线下店皆可)开通了微信支付,就可以申请接入现金红包. 2014年,从除夕夜到大年初八,有超过800万的用户通过微信参与了抢红包活动,超过4000万个红包被领取,平均每人抢到了4至5个红包,在除夕夜的最高峰时段,每分钟有2.5万个红包被领取.在2014世界杯期间,微信彩票每天发放红包,网友投注世界杯焦点赛事即可100%领取,不仅吸引了大批球迷关注,甚至很多不看球的普通人也因此开始关注赛程.如今,这项商

官方微信接口(全接口) - 微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI

微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中.微信支付.微信红包.微信卡券.微信小店. 微信开发探讨群 330393916 <?php /**  * Description of wechat  *  * @author Administrator  */ class WeChat extends WxApi{     public $token = "";     //put your code here     public function __const

微信红包接口开发-yunmatui

摇钱盒是2016年最新微创业项目,可咨询QQ:1991810626:用户只需打开蓝牙,就可以开始使用微信摇红包了,即不需要任何复杂的操作,也不需要抢,每个微信号每天保证可以摇三个红包. 一.摇钱盒系统怎么通过发红包赚钱? 1.你可以带着你的摇钱盒到处炫耀随时随地发红包,每个微信号每天可以摇到三个现金红包. 2.如果你一年内摇了188天,但是所有的收益加起来没有达到188元,可以直接申请返款! 3.别人通过你的设备摇到的红包你还可以得到红包总额的30%返利. 4.系统会为你生成一个设备激活码,如果

调用微信现金红包接口发放红包

1.通过code获取到用户的openid. 地址: "https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxid&secret=secret&code="            + code + "&grant_type=authorization_code"; 公众号需获取网页授权获取用户基本信息权限. 引导用户到指定的授权页面 例如:https://open.weixin.qq