调用微信红包接口返回(转)
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
;
}
转载于:https://www.cnblogs.com/sanwenyu/p/4688935.html
调用微信红包接口返回(转)相关推荐
- java调用微信红包接口_java调用微信现金红包接口的心得与体会
这几天看了下以前写的有关微信支付的博客,看的人仍是挺多的,看了下留言不知道是由于博客写的不够细仍是什么状况,大多都找我要源码,我以为吧程序员仍是须要有这么一个思考的过程,所以没直接给源码,俗话说&qu ...
- php 调用微信支付的时间戳,前端调用微信支付接口
支付按钮的点击事件$(´.Save_Patient_Msg´).click(function(){ $(´.Save_Patient_Msg´).off(´click´); var hrdfId = ...
- 微信公众号开发 自定义分享 从前台到Java后台 调用微信JS接口分享朋友圈
20180811写在前面的话 有很多人遇到问题之后问我,结果大多数是因为配置问题,所以请详细阅读前面的配置步骤. 20181016注意事项 收到反馈,之前写的接口即将废弃,源代码中的js接口需要修改, ...
- 微信开发 --- 调用微信上传图片接口,并保存到自己的服务器
微信开发 - 调用微信上传图片接口,并保存到自己的服务器 整体思路是这样的: 1.先把手机上的图片上传到微信服务器,然后返回一个图片ID 2.在通过后台根据ID从微信后台拿到流,保存到服务器 前几个步 ...
- 调用微信上传图片接口和下载图片接口
目的:调用微信上传图片接口上传图片,并调用下载图片接口下载到本地 1.绑定域名 登录微信公众平台后,进入 公众号设置-->公众号设置页面如图(1),点击设置如图(2),输入域名后,点击保存. 注 ...
- Android应用调用微信登录接口
很多App都是需要用户登录的,例如电商类的APP,用户登录后可以查看自己的购物订单,浏览痕迹等,登陆的话又可以分为多种登录,例如QQ,微信,微博,支付宝等,那么接下来这篇文章讲诉的是应用如何调用微信的 ...
- 【spring boot】使用RestTemplate调用微信code2Session接口
前言 spring boot 2.1.1.RELEASE 使用RestTemplate调用微信code2Session接口 spring boot中使用RestTemplate,参考这里. 调用方法 ...
- 调用微信支付接口总结
项目里面用到了微信支付的功能,照着文档学习了一下,这里做个总结来记录.项目用到的是anglusJS来做前端开发,我这边简化了,用的ajax进行异步的调用,然后业务也直接写在了控制层(不过不应该 ...
- java 微信报关_微信开放平台,_请求微信报关接口返回的数据,微信开放平台 - phpStudy...
请求微信报关接口返回的数据 请求微信报关 接口错误 552E051CB6F4DBC6029B8218DBD5A52A gh_4dbf09a0a18e 1342661701 20160825113538 ...
最新文章
- 对列表去重并保持原来的顺序
- 【怎样写代码】偷窥高手 -- 反射技术(四):深入窥视属性
- c语言测验答案,C语言测验题答案.doc
- npm ERR! cb.apply is not a function npm ERR! A complete log of this run can be found in: npm ERR!
- lsof查看占用高_查看端口占用情况lsof,并关闭对应进程kill
- UE4学习-虚幻4帮助手册、通过蓝图实现动画效果、添加时间轴、添加声音、C++和蓝图事件关联
- android抽奖动画,Android App中实现简单的刮刮卡抽奖效果的实例详解
- mysql binlog查看_MySQL--17 配置binlog-server 及中间件
- VM虚拟机链接克隆及linux eth0网卡的快速设置方法
- 新人学习web前端必须要知道的基础知识,让你轻松入门
- 配置quick-cocos2d-x-develop OpenGL version too old
- Silverlight:UpdateSourceTrigger属性的应用
- mysql job status_检查SQL Server Job状态
- pytorch 中Tensor.uniform_代替numpy.random.uniform/ permute函数 /torch.mm()和torch.matmul()
- 按键精灵实现自动刷抖音、快手等app
- 说说vector的emplace_back和push_back
- Android vitamo 实现横竖屏的切换和页面内部的网络视频
- 【微信公众号开发解决URL接口配置问题 】
- Google最热门60款开源项目
- 动态规划-(基本知识总结)
热门文章
- 联想thinkpadE450笔记本电脑自带的键盘不停自动打\\\\\\
- 动态内存的申请和非动态内存的申请_深圳罗湖“限制非深户申请公办学位”惹争议,官方权威回应来了...
- 什么是C语言,对C语言的基本认识,C语言开始。
- C语言字母升序排列,C语言改错题,题目:实现n个字符串的升序排列
- 一、剪辑行业概述与剪辑工具介绍
- SOA对话:金融风暴不会阻碍SOA市场发展
- ETUDE HOUSE伊蒂之屋携手全新中国区品牌大使Justin黄明昊
- 《黄昏清兵卫》中学到的工作态度
- 神经网络及其在点云中的应用
- 坚持终身学习的重要性:只靠已有知识,你走不了多远