微信支付-微信商户平台发红包-现金红包功能

微信支付商户平台使用协议_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
微信支付商户平台使用协议
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩9页未读,
定制HR最喜欢的简历
你可能喜欢php实现微信支付之现金红包
转载 &更新时间:日 10:46:55 & 作者:织梦猫2
这篇文章主要为大家详细介绍了php实现微信支付之现金红包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
网上的很多PHP微信支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后给出一个单文件版的,希望可以给各位想接入微信支付的带来些许帮助和借鉴意义。
直接运行该文件即可给指定的微信用户发送现金红包。
需要注意的事项:
1.微信现金红包要求必传证书,需要到 账户中心-&账户设置-&API安全-&下载证书,然后修改代码中的证书路径
2.默认的使用场景是抽奖(即scene_id参数为PRODUCT_2),额度是1-200元,所以测试时的最低金额是1元。如需修改在产品中心-&产品大全-&现金红包-&产品设置中修改
3.该文件需放到支付授权目录下,可以在微信支付商户平台-&产品中心-&开发配置中设置。
4.如提示签名错误可以通过微信支付签名验证工具进行验证:
5.错误码参照 :
代码如下:
* 关于微信现金红包的说明
* 1.微信现金红包要求必传证书,需要到https://pay.weixin.qq.com 账户中心-&账户设置-&API安全-&下载证书,证书路径在第214行和217行修改
* 2.默认的使用场景是抽奖(即scene_id参数为PRODUCT_2),额度是1-200元,所以测试时的最低金额是1元。如需修改在产品中心-&产品大全-&现金红包-&产品设置中修改
* 3.错误码参照 :https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3
header('Content-type:text/ Charset=utf-8');
$mchid = 'xxxxx';
//微信支付商户号 PartnerID 通过微信支付商户资料审核后邮件发送
$appid = 'xxxxx'; //微信支付申请对应的公众号的APPID
$appKey = 'xxxxx'; //微信支付申请对应的公众号的APP Key
$apiKey = 'xxxxx'; //https://pay.weixin.qq.com 帐户设置-安全设置-API安全-API密钥-设置API密钥
//①、获取当前访问页面的用户openid(如果给指定用户发送红包,则填写指定用户的openid)
$wxPay = new WxpayService($mchid,$appid,$appKey,$apiKey);
$openId = $wxPay-&GetOpenid(); //获取openid
if(!$openId) exit('获取openid失败');
//②、发送红包
$outTradeNo = uniqid(); //你自己的商品订单号
$payAmount = 1;
//红包金额,单位:元
$sendName = '织梦猫'; //红包发送者名称
$wishing = '感谢您参加猜灯谜活动,祝您元宵节快乐!'; //红包祝福语
$act_name='猜灯谜抢红包活动';
//活动名称
$result = $wxPay-&createJsBizPackage($openId,$payAmount,$outTradeNo,$sendName,$wishing,$act_name);
echo 'success';
class WxpayService
protected $
protected $
protected $appK
protected $apiK
public $data =
public function __construct($mchid, $appid, $appKey,$key)
$this-&mchid = $
$this-&appid = $
$this-&appKey = $appK
$this-&apiKey = $
* 通过跳转获取用户的openid,跳转流程如下:
* 1、设置自己需要调回的url及其其他参数,跳转到微信服务器https://open.weixin.qq.com/connect/oauth2/authorize
* 2、微信服务处理完成之后会跳转回用户redirect_uri地址,此时会带上一些参数,如:code
* @return 用户的openid
public function GetOpenid()
//通过code获得openid
if (!isset($_GET['code'])){
//触发微信返回code码
$scheme = $_SERVER['HTTPS']=='on' ? 'https://' : 'http://';
$baseUrl = urlencode($scheme.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].$_SERVER['QUERY_STRING']);
$url = $this-&__CreateOauthUrlForCode($baseUrl);
Header("Location: $url");
//获取code码,以获取openid
$code = $_GET['code'];
$openid = $this-&getOpenidFromMp($code);
* 通过code从工作平台获取openid机器access_token
* @param string $code 微信跳转回来带上的code
* @return openid
public function GetOpenidFromMp($code)
$url = $this-&__CreateOauthUrlForOpenid($code);
$res = self::curlGet($url);
//取出openid
$data = json_decode($res,true);
$this-&data = $
$openid = $data['openid'];
* 构造获取open和access_toke的url地址
* @param string $code,微信跳转带回的code
* @return 请求的url
private function __CreateOauthUrlForOpenid($code)
$urlObj["appid"] = $this-&
$urlObj["secret"] = $this-&appK
$urlObj["code"] = $
$urlObj["grant_type"] = "authorization_code";
$bizString = $this-&ToUrlParams($urlObj);
return "https://api.weixin.qq.com/sns/oauth2/access_token?".$bizS
* 构造获取code的url连接
* @param string $redirectUrl 微信服务器回跳的url,需要url编码
* @return 返回构造好的url
private function __CreateOauthUrlForCode($redirectUrl)
$urlObj["appid"] = $this-&
$urlObj["redirect_uri"] = "$redirectUrl";
$urlObj["response_type"] = "code";
$urlObj["scope"] = "snsapi_base";
$urlObj["state"] = "STATE"."#wechat_redirect";
$bizString = $this-&ToUrlParams($urlObj);
return "https://open.weixin.qq.com/connect/oauth2/authorize?".$bizS
* 拼接签名字符串
* @param array $urlObj
* @return 返回已经拼接好的字符串
private function ToUrlParams($urlObj)
$buff = "";
foreach ($urlObj as $k =& $v)
if($k != "sign") $buff .= $k . "=" . $v . "&";
$buff = trim($buff, "&");
* 发送红包
* @param string $openid 用户在该公众号下的Openid
* @param float $totalFee 红包金额 单位元
* @param string $outTradeNo 订单号
* @param string $orderName 红包发送者名称
* @param string $wishing 祝福语
* @param string $actName 互动名称
* @return string
public function createJsBizPackage($openid, $totalFee, $outTradeNo, $sendName,$wishing,$actName)
$config = array(
'mch_id' =& $this-&mchid,
'appid' =& $this-&appid,
'key' =& $this-&apiKey,
$unified = array(
'wxappid' =& $config['appid'],
'send_name' =& $sendName,
'mch_id' =& $config['mch_id'],
'nonce_str' =& self::createNonceStr(),
're_openid' =& $openid,
'mch_billno' =& $outTradeNo,
'client_ip' =& '127.0.0.1',
'total_amount' =& intval($totalFee * 100), //单位 转为分
'total_num'=&1,
//红包发放总人数
'wishing'=&$wishing,
//红包祝福语
'act_name'=&$actName,
//活动名称
'remark'=&'remark',
//备注信息,如为中文注意转为UTF8编码
'scene_id'=&'PRODUCT_2', //发放红包使用场景,红包金额大于200时必传。https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3
$unified['sign'] = self::getSign($unified, $config['key']);
$responseXml = $this-&curlPost('https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack', self::arrayToXml($unified));
$unifiedOrder = simplexml_load_string($responseXml, 'SimpleXMLElement', LIBXML_NOCDATA);
if ($unifiedOrder === false) {
die('parse xml error');
if ($unifiedOrder-&return_code != 'SUCCESS') {
die($unifiedOrder-&return_msg);
if ($unifiedOrder-&result_code != 'SUCCESS') {
die($unifiedOrder-&err_code);
public static function curlGet($url = '', $options = array())
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
if (!empty($options)) {
curl_setopt_array($ch, $options);
//https请求 不验证证书和host
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$data = curl_exec($ch);
curl_close($ch);
public function curlPost($url = '', $postData = '', $options = array())
if (is_array($postData)) {
$postData = http_build_query($postData);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置cURL允许执行的最长秒数
if (!empty($options)) {
curl_setopt_array($ch, $options);
//https请求 不验证证书和host
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//第一种方法,cert 与 key 分别属于两个.pem文件
//默认格式为PEM,可以注释
curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/cert/apiclient_cert.pem');
//默认格式为PEM,可以注释
curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLKEY,getcwd().'/cert/apiclient_key.pem');
//第二种方式,两个文件合成一个.pem文件
// curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/all.pem');
$data = curl_exec($ch);
curl_close($ch);
public static function createNonceStr($length = 16)
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$str = '';
for ($i = 0; $i & $ $i++) {
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
public static function arrayToXml($arr)
$xml = "&xml&";
foreach ($arr as $key =& $val) {
if (is_numeric($val)) {
$xml .= "&" . $key . "&" . $val . "&/" . $key . "&";
$xml .= "&" . $key . "&&![CDATA[" . $val . "]]&&/" . $key . "&";
$xml .= "&/xml&";
public static function getSign($params, $key)
ksort($params, SORT_STRING);
$unSignParaString = self::formatQueryParaMap($params, false);
$signStr = strtoupper(md5($unSignParaString . "&key=" . $key));
return $signS
protected static function formatQueryParaMap($paraMap, $urlEncode = false)
$buff = "";
ksort($paraMap);
foreach ($paraMap as $k =& $v) {
if (null != $v && "null" != $v) {
if ($urlEncode) {
$v = urlencode($v);
$buff .= $k . "=" . $v . "&";
$reqPar = '';
if (strlen($buff) & 0) {
$reqPar = substr($buff, 0, strlen($buff) - 1);
return $reqP
github下载地址:
相关文章:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具来自企业号开发者接口文档
使用前,请确保你的企业号已经开通了微信支付。
企业号开通微信支付后,即可使用微信红包功能。
在使用微信红包前,请仔细阅读以下流程:
确定需要发放红包的企业号应用和成员名单;
使用企业号,将应用ID和成员userid转换成红包参数中要求的appid和openid;
注意:在使用userid转openid接口时,请务必传参agentid来获取对应的appid,否则会导致红包发送失败
获得了appid 和 openid之后,你就可以通过以下两种方式给企业号成员发放微信红包:
登录选择现金红包进行发放;
通过微信现金红包接口接口进行发送;
了解更多:
同样,企业号在开通了微信支付之后,就可以使用企业付款功能,企业付款是微信支付提供给企业向普通个人用户转账的功能。其能支持单笔交易金额远大于微信红包,且无需用户领取,直接存到用户的微信零钱包里。
在使用企业号企业付款功能前,你同样需要进行参数转换:
确定需要企业付款的成员;
调用,将成员userid转换成openid;
(注意:在使用userid转openid接口时,无需传参agentid,在使用企业付款时appid即为企业号的corpid)
之后,使用corpid和openid之后,你就可以通过以下两种方式给企业号成员进行企业付款:
登录进行企业付款;
通过企业付款接口进行付款;
了解更多:微信公众号现金红包怎么发 微信公众号现金红包设置教程_西西软件资讯
西西软件园多重安全检测下载网站、值得信赖的软件下载站!
→ 微信公众号现金红包怎么发 微信公众号现金红包设置教程
v1.0 安卓版
类型:新闻资讯大小:57.7M语言:中文 评分:5.0
中的红包玩法是越来越多,最普通的、语音红包、现金红包以及今天小编要讲的公众号现金红包。前几种相信大家都知道怎么去操作了吧!可你知道怎么去发公众号现金红包吗?不知道就接着往下看吧!方法:1.登录微信支付商户平台官网2.准备好微信支付的相关资料,商户号、证书、密钥3.免费注册并登录摇摇啦应用平台,授权公众号4.选择公众号的功能管理→微信红包→微信支付设置,提交准备好的资料。5.选择公众号的功能管理→微信红包→公众号红包,进入红包活动的详细设置。6.设置好活动之后再次点击公众号红包,找到设置好的活动,点击编辑,获取活动的链接。7.如果想做扫码关注送红包,那就把活动链接放在微信公众平台的“被添加自动回复”里面就可以了。8.如果想做摇一摇红包,选择公众号功能管理→摇一摇周边→页面管理→添加页面,将活动链接填到“跳转URL”处。9.选择公众号功能管理→摇一摇周边→设备管理→添加设备。在页面绑定处选择绑定设置好的红包活动页面。10.将设备ID通过手机APP“realkit”配置给要使用的基站设备。11.设置完成之后。打开手机蓝牙,使用微信摇一摇即可摇出设置好的红包。
(11) 微信公众号客户端平台为一款独立的app,让公众号管理者们能更加方便地展示自己公众号的资源信息发布,同时也方便了用户进行新闻查看,兴趣搜寻。微信公众号客户端支持安卓与苹果版本,经常看微信公众号的朋友们不妨试试吧!微信公众号客户端相关功能1.可以发语音、文字消息、表情、图片、视频。30M流量可以收发上千条语音。2.朋友圈,跟朋友们分享生活点滴。3.摇一摇、查看附近的人,世界不再有陌生人。4.扫一扫,可以扫商品条码、...
01-15 / 57.7M
推荐理由:微信公众号是微信平台上的一个新闻资讯功能插件,用户可以订阅喜欢的公众号来实时查看最新
01-15 / 6.2M
推荐理由:微信公众号编辑器是一款可以在手机上编辑公众号文章的软件,在手机上直接可以进行整理,编辑,排版各种;类
01-15 / 57.7M
推荐理由:微信公众号2018独立版是一款全新的公众号软件,软件不但能够让你们用手机来创作各类的公众号文章,
01-15 / 57.7M
推荐理由:微信公众号app是一款最新官方开发的独立手机软件,微信公众号app不但能够让你们用手机来创作各类的公众号文
01-15 / 57.5M
推荐理由:微信公众号app是一款全新的手机独立软件,重新支持苹果手机的赞赏功能,更加方便用手机使用微信公众号,提高
01-15 / 57.5M
推荐理由:微信公众号平台app是在近期微信宣布的最新企划,现在用户能通过这个独立化的微信公众号平台,更加方便的管理
01-1801-1501-1512-2812-2612-2412-1412-0712-0712-04
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载&>&微信商户平台现金红包API文档V2
微信商户平台现金红包API文档V2
上传大小:590KB
【商户平台】现金红包API文档_V2.pdf
综合评分:0
10积分/C币
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
万能的小土豆
综合评分:
积分/C币:5
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
微信商户平台现金红包API文档V2
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
微信商户平台现金红包API文档V2}

我要回帖

更多关于 微信商户红包 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信