微信支付商户平台登录平台怎么发红包

关于微信公众号发红包|应该知道的几种玩法 - 简书
关于微信公众号发红包|应该知道的几种玩法
微信公众号发红包首先必须是开通微信支付了的公众号,支持开通微信支付的公众号类型包括:服务号和主体为政府或媒体资质的订阅号,公众号发红包的渠道有两种,其一:直接通过-产品中心 -产品大全 -运营工具 -现金红包,运营者可调用接口根据开发文档进行开发或收集要发送红包对象的openid,将openid编辑成txt文件,使用上传文件功能发放,这两种方式俨然要求运营者需具备开发能力,否则无法获取用户的openid进行红包发放,即使通过技术手段获取到用户的openid,此种方式既繁琐也不实用。其二:通过第三方功能平台来实现,直接授权公众号绑定到第三方功能平台,套用模板并且有详细的操作指南,简单易懂,借用第三方平台实现公众号发红包是大众用户普遍的选择,免除了高额的开发成本,而且玩法多样。1.关注领红包玩法介绍:新用户关注公众号后自动回复红包活动超链接或点击自定义菜单活动入口等,用户参与的方式有很多种,可以自由发挥,红包功能含强制关注公众号的设置,红包金额可设定固定或随机。功能特点:可以设置强制关注公众号,红包领取详情活动页面中可展示并且支持Excel导出。
关注公众号领红包
2.口令红包系统批量生成口令,红包口令由纯数字、纯字母或字母和数字组合自定义设置并且口令位数也可以自定义,口令使用一次立即失效,红包金额可设置固定/随机,用户关注公众号之后,回复口令便可领取红包。当然口令也可以个性化自定义,这种玩法广泛适用于“淘宝返现”、“提升图文阅读量及公众号用户活跃度”等。功能特点:操作简单,5分钟即可搞定功能设置实现发红包。
3.关键词红包玩法介绍:自定义关键词(例如:圣诞快乐),可设定活动时间,内置活动开关,红包金额支持1元以上或1元以下(满1元提现)两种模式,支持同步推送图文消息、超链接、祝福语等相关设置,用户关注公众号回复“关键词”即可领取现金红包,同一个“关键词”不同微信iD用户仅限领取一次,非常适合节假日做粉丝福利活动。
系统功能设置
4.好评返现微信红包|简单·安全·高效的好评返现工具玩法介绍:电商平台严禁好评返现,脱离电商平台结合微信公众号返现微信红包不失为一种良策,卖家印刷&包裹里放置“好评返现”指引卡片,买家收到包裹后微信扫码指引卡片上二维码关注卖家微信公众号,按指引提示买家自助将“订单号”与“好评截图”上传(系统会自动验证订单号是否正确),卖家每天只需抽出几分钟时间进行图片审核,通过后,返现金额将以现金红包的形式从公众号中发出,买家直接点击领取即可;功能特点:
人工成本大大降低,买家按指引全自助操作,安全可靠,高效提升DSR;
返现成本大大降低,1~x元微信红包自定义随机发放;
资金安全可控,交易流水及现金红包发放详情兼可Excel导出查询;
用户留存公众号,无任何限制,便于促销推送,提升复购率;
脱离电商平台进行好评返现,无违规风险;
5.摇一摇红包玩法介绍:这种玩法与16年春节微信官方搞的摇红包活动功能一样,采用ibeacon蓝牙技术,通过“微信摇一摇周边”入口参与活动,用户打开手机蓝牙,摇一摇即可领取现金红包并且可以强制/默认用户关注公众号,所获得的红包金额直接转入用户零钱包,支持设置固定/随机金额红包,可限定参与活动用户,支持领取红包后自定义广告跳转,可设定中奖概率。功能特点:优化了用户操作层级,红包金额直接转入用户零钱包;默认勾选关注公众号,粉丝沉淀。
摇一摇红包
6.摇钱树玩法介绍:摇钱树这种摇红包玩法目前在全国掀起了一股热潮,此功能基于ibeacon蓝牙技术,结合微信红包做广告分发,购买了ibeacon设备的用户,每天可以免费摇几次红包,满1元即可提现,页面中可以设置广告,通过红包的粘性培养用户摇红包看广告的习惯,以此获得广告收益,并且可以使公众号用户快速增长。功能特点:打破了公众号红包最低1元的限制,支持设置1元以下的红包金额,用户累积满1元可提现;摇红包中融入广告,让看广告变得更有趣;增加了分销返现机制,可以快速拓展市场;
摇钱树(天天摇红包)
7.订阅号摇红包玩法介绍:订阅号无法开通微信支付,可以发红包吗?相信有很多用户都会有这个疑问,本质上订阅号所开放的相关接口权限不具备发红包的能力,但通过技术手段结合开通微信支付的服务号可以伪装让用户通过订阅号领红包以满足众多企业/商户订阅号吸粉的共需。订阅号摇红包可以实现强制用户先关注订阅号才能领红包,活动页面中显示订阅号的相关信息(公众号名称及Logo),可设置固定/随机金额,支持用户数据查询及Excel导出,活动内设开关按钮(灵活控制活动开启/暂停)。功能特点:既未影响活动的互动效果,且又增加了订阅号的用户量;
#订阅号摇红包功能演示# @功能开发
8.摇一摇抽奖玩法介绍:在摇周边“抽奖模板”的基础上进行了功能性的全面升级,奖项设置增加了红包和自定义页面,商家可同时设置红包和卡券作为奖项,并且可以控制用户领取红包或卡券的次数,灵活调整奖品的发放概率,还能实时增加奖品数量,自带开关按钮(随时开启/暂停活动),沿袭“抽奖模板”的页面设计,交互顺畅自然,页面赏心悦目,轻松应对火热的抽奖互动。功能特点:●
操作简单,5分钟即可设置活动;●
丰富了奖项,红包、卡券、html5兼可设置;●
功能规则更符合用户需求,可设置奖项类别用户领取次数,降低活动成本;
随机摇出红包、卡券、html5、自定义页面
摇一摇互动的内容包括红包、卡券、抽奖、html5、签到等,其中摇红包最受用户喜爱,瞬间即可引爆现场气氛,适用于企业年会、婚庆、产品发布会、各种答谢宴、大型演唱会、开业庆典等场景。
编辑| BR-互动专家 · 专注摇一摇互动/公众号红包开发如有任何操作疑问,欢迎交流探讨,(电话兼微信)此文为本人原创,转载请注明出处。
专注iBeacon智能硬件、公众号红包、摇一摇互动等领域开发,承接摇一摇互动(红包、卡券、ht...公众号向粉丝发红包怎么做?
微速云最新升级,微信红包功能。目前支持认证服务号且开通微信支付接口的公众号!
一.使用粉丝红包的前提,请注意看温馨提示,务必使认证的服务号并且已经申请了微信支付,配置信息正确,微信支付证书下载的都是pem格式的
二.添加红包注意一下几点
(1)红包发送者名称:就是收到红包是显示的名称
(2)活动名称:不显示在手机端,仅供商家后台方便区分可查看使用的
(3)红包祝福语:拆开红包后,会和红包发送者一起显示,红包发送者在上 & 面,祝福语在红包发送者的下面
(4)红包金额根据自己的实际情况设置,这是总得可发送金额
(5)(6)(7)针对裂变红包:单个红包的最小金额必须大于等于裂变人 & & 数,其中裂变红包人数里面是包括自己的,【例如】裂变人数是3人,自己 & & 拆开后分享出去还可以有两个人领取,其中这个单个人领取的总金额在3到 & &5&元之间,针对普通红包,就是只能自己领取,不能分享给别人领取,自己 &&领取的金额在单个红包金额范围内
(8)(9)指定粉丝方式可以选择三种:分组群发,这些分组是和粉丝管理里 & 面同步的;指定粉丝,是针对性的选择某一些粉丝,注意看指定粉丝的注意 & 事项;全部粉丝,就是不限制,只有关注的系统里面已经获取到这个粉丝信 & 息的就可以收到
(10)备注信息不能超过250字,保存
三.设置好保存后,显示如图,要是想重新发送,可以点击重新发送这个红包,红包的领取记录,领取记录里面显示商户号,领取详情里面会有这个红包是有哪些人领取的,没有领取的金额会在3个工作日退还,可能有延迟也是正常的
(1)普通红包点击领取记录--领取详情信息【如图一】
(2)裂变红包点击领取记录--领取详情信息【如图二】
温馨提示:1.只有微信认证服务号并且有微信支付才能使用此功能。
&&&&&& &&&&&&&&&&2.请确保“在线支付设置”中的配置正常。
&&&&&& &&&&&&&&&&3.请确保中证书已上传正确。
&&&&&& &&&&&&&&&&4.如果粉丝过多,建议选择分组或指定粉丝的方式发送红包。每个红包发送的粉丝数不超过1000个,一分钟内各个公众号各个活动发送的粉丝数和不超过1800个。
&&&&&& &&&&&&&&& 5.每个粉丝收到的红包金额必须在1块或1块以上。
&&&&&& &&&&&&&&& 6.如果您在微信公众平台的用户管理中修改了粉丝的分组,请先去里刷新所有粉丝信息。&
&&&&&& &&&&&&&&& 7.如果您在微信公众平台的用户管理中新建了一个分组请在做同步操作并在里刷新所有粉丝信息。&
&&&&&& &&&&&&&&& 8.由于微信的原因,Iphone手机第二次分享红包给好友时会出现分享按钮点击无效,请退出分享页重新进入红包点击分享。支付宝商家红包怎么用 支付宝商家红包平台发红包方法 - 电脑教程 - 电脑百事网
手机扫描二维码
支付宝商家红包怎么用 支付宝商家红包平台发红包方法
随春春节红包的火爆,很多商家也打算借助春节红包提升品牌影响力,面对企业用户的品牌红包需求,支付宝今天正式上线了支付宝商家红包,商家可以在红包口令上加上自家商品的品牌LOGO和品牌宣传语,这样既可以回馈消费者,又能提高品牌影响力。那么支付宝商家红包怎么用?下面百事网小编为大家详细介绍下。
第一步:首先在电脑中打开支付宝商家红包网站网址:,然后点击界面中的发红包,如下图所示。
第二步:如果还首次打开,则还需要使用支付宝账号登陆,如下图所示。
第三步:登陆支付宝商家红包管理界面后,就可以开始发品牌红包了,在创建红包的时候,主要需要准备好的是:
●商家标志LOGO图片;
●背景图片;
●祝福语;
●红包金额。
最后生成推广的支付宝钱包红包口令即可。
以上就是支付宝商家红包平台发红包方法,适合商家用户使用,普通个人支付宝用户登陆后,会提示没资格,如下图所示。
仅针对企业用户
支付宝商家红包优势:
1、更直接的品牌露出
在图片中可以直接展示品牌形象,在口令中可以输入品牌宣传语。
2、病毒式的传播效果
口令红包玩法天然的分享基因,让百万用户,直接和你互动、千万用户看到你的身影。
3、更高性价比的广告
无需昂贵的媒体广告费、可量化的,传播效果,让你的付出物超所值。
支付宝商家红包主要是针对拥有支付宝企业账户的商家,商家均可以登录这一平台,创建品牌群红包。生成品牌图片之后,就能在微信、朋友圈、微博和来往等社交平台进行裂变式传播扩散,用以提升自己品牌知名度和影响力。
加载更多内容
关注智能手机、电脑、笔记本、科技资讯, 致力于提供有价值的IT资讯。微信API接口(全) - 微信支付/微信红包/微信卡券/微信小店/JSAPI - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 13时,
微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中。微信支付、微信红包、微信卡券、微信小店。微信开发探讨群&
代码片段(5)
1.&[代码]index.php&&&&
include_once 'lib.inc.php';
$wcObj = new WeChat("YOUKUIYUAN");
$wcObj-&wcValid();
2.&[代码]微信入口类&&&&
* Description of wechat
* @author Administrator
class WeChat extends WxApi{
public $token = "";
//put your code here
public function __construct($token = "") {
parent::__construct();
$this-&token = $
public function wcCheckSignature(){
if (empty($this-&token)) {
throw new Exception('TOKEN is not defined!');
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = $this-&
$tmpArr = array($token, $timestamp, $nonce);
// use SORT_STRING rule
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
catch (Exception $e) {
echo 'Message: ' .$e-&getMessage();
public function wcValid(){
$echoStr = isset($_GET["echostr"]) && !empty($_GET["echostr"]) ? addslashes($_GET["echostr"]) : NULL;
if(is_null($echoStr)){
$this-&wcMsg();
//valid signature , option
if($this-&wcCheckSignature()){
echo $echoS
public function wcMsg(){
//get post data, May be due to the different environments
$postStr = isset($GLOBALS["HTTP_RAW_POST_DATA"]) && !empty($GLOBALS["HTTP_RAW_POST_DATA"]) ? $GLOBALS["HTTP_RAW_POST_DATA"] : "";
if(!empty($postStr)){
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$this-&zcLog(TRUE,$postObj);
$fromUsername = $postObj-&FromUserN
$toUsername = $postObj-&ToUserN
$MsgType = $postObj-&MsgT
if($MsgType == 'event'){//执行事件相应
$Event = $postObj-&E
switch ($Event) {
case 'subscribe'://关注
case 'unsubscribe'://取消关注
case 'SCAN'://扫描
case 'LOCATION'://地址
case 'CLICK'://点击时间
case 'VIEW'://跳转
case 'card_pass_check'://卡券审核通过
case 'card_not_pass_check'://卡券审核失败
case 'user_get_card'://用户领取卡券
case 'user_del_card'://用户删除卡券
case 'user_view_card'://用户浏览会员卡
case 'user_consume_card'://用户核销卡券
case 'merchant_order'://微小店用户下单付款
switch ($MsgType) {
case 'text'://文本格式
case 'image'://图片格式
case 'voice'://声音
case 'video'://视频
case 'shortvideo'://小视频
case 'location'://上传地理位置
case 'link'://链接相应
////////////////////////////////////////////////////////////////////
$keyword = trim($postObj-&Content);
$time = time();
$textTpl = "&xml&
&ToUserName&&![CDATA[%s]]&&/ToUserName&
&FromUserName&&![CDATA[%s]]&&/FromUserName&
&CreateTime&%s&/CreateTime&
&MsgType&&![CDATA[%s]]&&/MsgType&
&Content&&![CDATA[%s]]&&/Content&
&FuncFlag&0&/FuncFlag&
if(!empty( $keyword )){
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultS
echo "Input something...";
////////////////////////////////////////////////////////////////////
echo "暂时没有任何信息!";
public function zcLog($errcode , $errmsg){
$this-&returnAy = array();
$this-&returnAy['errcode'] = $
$this-&returnAy['errmsg'] = $
$this-&returnAy['errtime'] = date("Y-m-d H:i:s",time());
$logfile = fopen("logfile_".date("Ymd",time()).".txt", "a+");
$txt = json_encode($this-&returnAy)."\n";
fwrite($logfile, $txt);
fclose($logfile);
//return $this-&returnAy;
3.&[代码]微信操作类 - 更新了自定义菜单部分&&&&
/********************************************************
@author Kyler You &QQ:&
@link http://mp./wiki/home/index.html
@version 2.0.1
@uses $wxApi = new WxApi();
@package 微信API接口 陆续会继续进行更新
********************************************************/
class WxApi {
//const appId
//const appSecret
const appId
const appSecret
//const mchid
= ""; //商户号
//const privatekey
= ""; //私钥
public $parameters
= array();
public function __construct(){
/****************************************************
* 微信提交API方法,返回微信指定JSON
****************************************************/
public function wxHttpsRequest($url,$data = null){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
/****************************************************
微信带证书提交数据 - 微信红包使用
****************************************************/
public function wxHttpsRequestPem($url, $vars, $second=30,$aHeader=array()){
$ch = curl_init();
//超时时间
curl_setopt($ch,CURLOPT_TIMEOUT,$second);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
//这里设置代理,如果有的话
//curl_setopt($ch,CURLOPT_PROXY, '10.206.30.98');
//curl_setopt($ch,CURLOPT_PROXYPORT, 8080);
curl_setopt($ch,CURLOPT_URL,$url);
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().'/apiclient_cert.pem');
//默认格式为PEM,可以注释
curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLKEY,getcwd().'/apiclient_key.pem');
curl_setopt($ch,CURLOPT_CAINFO,'PEM');
curl_setopt($ch,CURLOPT_CAINFO,getcwd().'/rootca.pem');
//第二种方式,两个文件合成一个.pem文件
//curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/all.pem');
if( count($aHeader) &= 1 ){
curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);
$data = curl_exec($ch);
if($data){
curl_close($ch);
$error = curl_errno($ch);
echo "call faild, errorCode:$error\n";
curl_close($ch);
/****************************************************
* 微信获取AccessToken 返回指定微信公众号的at信息
****************************************************/
public function wxAccessToken($appId = NULL , $appSecret = NULL){
= is_null($appId) ? self::appId : $appId;
$appSecret
= is_null($appSecret) ? self::appSecret : $appS
$data = json_decode(file_get_contents("access_token.json"));
if ($data-&expire_time & time()) {
//echo $appId,$appS
= "https://api./cgi-bin/token?grant_type=client_credential&appid=".$appId."&secret=".$appS
= $this-&wxHttpsRequest($url);
//print_r($result);
= json_decode($result, true);
$access_token
= $jsoninfo["access_token"];
if ($access_token) {
$data-&expire_time = time() + 7000;
$data-&access_token = $access_
$fp = fopen("access_token.json", "w");
fwrite($fp, json_encode($data));
fclose($fp);
$access_token = $data-&access_
return $access_
/****************************************************
* 微信获取AccessToken 返回指定微信公众号的at信息
****************************************************/
public function wxJsApiTicket($appId = NULL , $appSecret = NULL){
= is_null($appId) ? self::appId : $appId;
$appSecret
= is_null($appSecret) ? self::appSecret : $appS
$data = json_decode(file_get_contents("jsapi_ticket.json"));
if ($data-&expire_time & time()) {
= "https://api./cgi-bin/ticket/getticket?type=jsapi&access_token=".$this-&wxAccessToken();
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
$ticket = $jsoninfo['ticket'];
if ($ticket) {
$data-&expire_time = time() + 7000;
$data-&jsapi_ticket = $
$fp = fopen("jsapi_ticket.json", "w");
fwrite($fp, json_encode($data));
fclose($fp);
$ticket = $data-&jsapi_
/****************************************************
* 微信通过OPENID获取用户信息,返回数组
****************************************************/
public function wxGetUser($openId){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/user/info?access_token=".$wxAccessToken."&openid=".$openId."&lang=zh_CN";
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/****************************************************
* 微信生成二维码ticket
****************************************************/
public function wxQrCodeTicket($jsonData){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/qrcode/create?access_token=".$wxAccessT
= $this-&wxHttpsRequest($url,$jsonData);
/****************************************************
* 微信通过ticket生成二维码
****************************************************/
public function wxQrCode($ticket){
= "https://mp./cgi-bin/showqrcode?ticket=" . urlencode($ticket);
/****************************************************
发送自定义的模板消息
****************************************************/
public function wxSetSend($touser, $template_id, $url, $data, $topcolor = '#7B68EE'){
$template = array(
'touser' =& $touser,
'template_id' =& $template_id,
'url' =& $url,
'topcolor' =& $topcolor,
'data' =& $data
$jsonData = json_encode($template);
$result = $this-&wxSendTemplate($jsonData);
/****************************************************
* 微信设置OAUTH跳转URL,返回字符串信息 - SCOPE = snsapi_base //验证时不返回确认页面,只能获取OPENID
****************************************************/
public function wxOauthBase($redirectUrl,$state = "",$appId = NULL){
= is_null($appId) ? self::appId : $appId;
$url = "https://open./connect/oauth2/authorize?appid=".$appId."&redirect_uri=".$redirectUrl."&response_type=code&scope=snsapi_base&state=".$state."#wechat_redirect";
/****************************************************
* 微信设置OAUTH跳转URL,返回字符串信息 - SCOPE = snsapi_userinfo //获取用户完整信息
****************************************************/
public function wxOauthUserinfo($redirectUrl,$state = "",$appId = NULL){
= is_null($appId) ? self::appId : $appId;
$url = "https://open./connect/oauth2/authorize?appid=".$appId."&redirect_uri=".$redirectUrl."&response_type=code&scope=snsapi_userinfo&state=".$state."#wechat_redirect";
/****************************************************
* 微信OAUTH跳转指定URL
****************************************************/
public function wxHeader($url){
header("location:".$url);
/****************************************************
* 微信通过OAUTH返回页面中获取AT信息
****************************************************/
public function wxOauthAccessToken($code,$appId = NULL , $appSecret = NULL){
= is_null($appId) ? self::appId : $appId;
$appSecret
= is_null($appSecret) ? self::appSecret : $appS
$url = "https://api./sns/oauth2/access_token?appid=".$appId."&secret=".$appSecret."&code=".$code."&grant_type=authorization_code";
= $this-&wxHttpsRequest($url);
//print_r($result);
= json_decode($result, true);
//$access_token
= $jsoninfo["access_token"];
/****************************************************
* 微信通过OAUTH的Access_Token的信息获取当前用户信息 // 只执行在snsapi_userinfo模式运行
****************************************************/
public function wxOauthUser($OauthAT,$openId){
= "https://api./sns/userinfo?access_token=".$OauthAT."&openid=".$openId."&lang=zh_CN";
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/****************************************************
* 创建自定义菜单
****************************************************/
public function wxMenuCreate($jsonData){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/menu/create?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url,$jsonData);
= json_decode($result, true);
/****************************************************
* 获取自定义菜单
****************************************************/
public function wxMenuGet(){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/menu/get?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/****************************************************
* 删除自定义菜单
****************************************************/
public function wxMenuDelete(){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/menu/delete?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/****************************************************
* 获取第三方自定义菜单
****************************************************/
public function wxMenuGetInfo(){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/get_current_selfmenu_info?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/*****************************************************
生成随机字符串 - 最长为32位字符串
*****************************************************/
public function wxNonceStr($length = 16, $type = FALSE) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$str = "";
for ($i = 0; $i & $ $i++) {
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
if($type == TRUE){
return strtoupper(md5(time() . $str));
/*******************************************************
微信商户订单号 - 最长28位字符串
*******************************************************/
public function wxMchBillno($mchid = NULL) {
if(is_null($mchid)){
if(self::mchid == "" || is_null(self::mchid)){
$mchid = time();
$mchid = self::
$mchid = substr(addslashes($mchid),0,10);
return date("Ymd",time()).time().$
/*******************************************************
微信格式化数组变成参数格式 - 支持url加密
*******************************************************/
public function wxSetParam($parameters){
if(is_array($parameters) && !empty($parameters)){
$this-&parameters = $
return $this-&
return array();
/*******************************************************
微信格式化数组变成参数格式 - 支持url加密
*******************************************************/
public function wxFormatArray($parameters = NULL, $urlencode = FALSE){
if(is_null($parameters)){
$parameters = $this-&
$restr = "";//初始化空
ksort($parameters);//排序参数
foreach ($parameters as $k =& $v){//循环定制参数
if (null != $v && "null" != $v && "sign" != $k) {
if($urlencode){//如果参数需要增加URL加密就增加,不需要则不需要
$v = urlencode($v);
$restr .= $k . "=" . $v . "&";//返回完整字符串
if (strlen($restr) & 0) {//如果存在数据则将最后“&”删除
$restr = substr($restr, 0, strlen($restr)-1);
return $//返回字符串
/*******************************************************
微信MD5签名生成器 - 需要将参数数组转化成为字符串[wxFormatArray方法]
*******************************************************/
public function wxMd5Sign($content, $privatekey){
if (is_null($privatekey)) {
throw new Exception("财付通签名key不能为空!");
if (is_null($content)) {
throw new Exception("财付通签名内容不能为空");
$signStr = $content . "&key=" . $
return strtoupper(md5($signStr));
catch (Exception $e)
die($e-&getMessage());
/*******************************************************
微信Sha1签名生成器 - 需要将参数数组转化成为字符串[wxFormatArray方法]
*******************************************************/
public function wxSha1Sign($content){
if (is_null($content)) {
throw new Exception("签名内容不能为空");
//$signStr = $
return sha1($content);
catch (Exception $e)
die($e-&getMessage());
/*******************************************************
微信jsApi整合方法 - 通过调用此方法获得jsapi数据
*******************************************************/
public function wxJsapiPackage(){
$jsapi_ticket = $this-&wxJsApiTicket();
// 注意 URL 一定要动态获取,不能 hardcode.
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url = $protocol.$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$timestamp = time();
$nonceStr = $this-&wxNonceStr();
$signPackage = array(
"jsapi_ticket" =& $jsapi_ticket,
"nonceStr"
=& $nonceStr,
"timestamp" =& $timestamp,
// 这里参数的顺序要按照 key 值 ASCII 码升序排序
$rawString = "jsapi_ticket=$jsapi_ticket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";
//$rawString = $this-&wxFormatArray($signPackage);
$signature = $this-&wxSha1Sign($rawString);
$signPackage['signature'] = $
$signPackage['rawString'] = $rawS
$signPackage['appId'] = self::appId;
return $signP
/*******************************************************
将数组解析XML - 微信红包接口
*******************************************************/
public function wxArrayToXml($parameters = NULL){
if(is_null($parameters)){
$parameters = $this-&
if(!is_array($parameters) || empty($parameters)){
die("参数不为数组无法解析");
$xml = "&xml&";
foreach ($arr as $key=&$val)
if (is_numeric($val))
$xml.="&".$key."&".$val."&/".$key."&";
$xml.="&".$key."&&![CDATA[".$val."]]&&/".$key."&";
$xml.="&/xml&";
/*******************************************************
微信卡券:上传LOGO - 需要改写动态功能
*******************************************************/
public function wxCardUpdateImg() {
$wxAccessToken
= $this-&wxAccessToken();
//$data['access_token'] =
$wxAccessT
$data['buffer']
'@D:\\workspace\\htdocs\\yky_test\\logo.jpg';
= "https://api./cgi-bin/media/uploadimg?access_token=".$wxAccessT
= $this-&wxHttpsRequest($url,$data);
= json_decode($result, true);
//array(1) { ["url"]=& string(121) "/mmbiz/ibuYxPHqeXePNTW4ATKyias1Cf3zTKiars9PFPzF1k5icvXD7xW0kXUAxHDzkEPd9micCMCN0dcTJfW6Tnm93MiaAfRQ/0" }
/*******************************************************
微信卡券:获取颜色
*******************************************************/
public function wxCardColor(){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./card/getcolors?access_token=".$wxAccessT
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/*******************************************************
微信卡券:创建卡券
*******************************************************/
public function wxCardCreated($jsonData) {
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./card/create?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url,$jsonData);
= json_decode($result, true);
/*******************************************************
微信卡券:JSAPI 卡券Package - 基础参数没有附带任何值 - 再生产环境中需要根据实际情况进行修改
*******************************************************/
public function wxCardPackage($cardId){
$timestamp = time();
$api_ticket = $this-&wxJsApiTicket();
$cardId = $cardId;
$arrays = array($api_ticket,$timestamp,$cardId);
sort($arrays);
$string = sha1(implode("",$arrays));
$resultArray['card_id'] = $cardId;
$resultArray['card_ext'] = array();
$resultArray['card_ext']['openid'] = 'oOmn4s9MiwqHSNNvPn0dBtU23toA';
$resultArray['card_ext']['timestamp'] = $
$resultArray['card_ext']['signature'] = $
return $resultA
4.&[代码]微信JSAPI&&&&
require_once 'lib.inc.php';
$wx = new WxApi();
//通过网页获取openid
//if(!isset($_GET['code'])){
header("location:https://open./connect/oauth2/authorize?appid=".WxApi::appId."&redirect_uri=http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."&response_type=code&scope=snsapi_base&state=1#wechat_redirect");
$_GET['code'];
$Info = $wx-&wxOauthAccessToken($CODE);
//print_r($Info);
$openId = $Info['openid'];
////////////////////////////////////////////
$signPackage = $wx-&wxJsapiPackage();
//print_r($signPackage);
$kqInfo = $wx-&wxCardPackage("");
$listInfo = $wx-&wxCardListPackage();
&title&JSAPI接口测试&/title&
&meta charset="UTF-8"&
&meta name="viewport" content="width=device-width, initial-scale=1.0"&
&script src="/jquery-1.11.2.min.js"&&/script&
&script src="http://res./open/js/jweixin-1.0.0.js"&&/script&
&input type="button" id="batchAddCard" name="batchAddCard" value="添加卡券" /&&br /&
&input type="button" id="openCard" name="openCard" value="拉起卡券库" /&&br /&
&input type="button" id="ShareTimeLine" name="ShareTimeLine" value="分享朋友圈" /&&br /&
&div id="showInfo"&
wx.config({
debug: false,
appId: '&?php echo $signPackage["appId"];?&',
timestamp: &?php echo $signPackage["timestamp"];?&,
nonceStr: '&?php echo $signPackage["nonceStr"];?&',
signature: '&?php echo $signPackage["signature"];?&',
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'onMenuShareTimeline',
'onMenuShareAppMessage',
'addCard',
'openCard'
wx.ready(function () {
// 在这里调用 API
wx.onMenuShareAppMessage({
title: '互联网之子',
desc: '在长大的过程中,我才慢慢发现,我身边的所有事,别人跟我说的所有事,那些所谓本来如此,注定如此的事,它们其实没有非得如此,事情是可以改变的。更重要的是,有些事既然错了,那就该做出改变。',
link: '/subject//',
imgUrl: 'http://demo.open./jssdk/images/p.jpg',
trigger: function (res) {
// 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回
alert('用户点击发送给朋友');
success: function (res) {
alert('已分享');
cancel: function (res) {
alert('已取消');
fail: function (res) {
alert(JSON.stringify(res));
document.querySelector('#ShareTimeLine').onclick = function () {
wx.onMenuShareTimeline({
title: '互联网之子',
link: '/subject//',
imgUrl: 'http://demo.open./jssdk/images/p.jpg',
trigger: function (res) {
// 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回
alert('用户点击分享到朋友圈');
success: function (res) {
alert('已分享');
cancel: function (res) {
alert('已取消');
fail: function (res) {
alert(JSON.stringify(res));
document.querySelector('#batchAddCard').onclick = function () {
wx.addCard({
cardList: [
cardId: '***********************',
cardExt: '{"timestamp":"&?php echo $kqInfo['cardExt']['timestamp'];?&", "signature":"&?php echo $kqInfo['cardExt']['signature'];?&"}'
success: function (res) {
var cardList = res.cardL // 添加的卡券列表信息
alert(cardList);
cancel: function (res) {
alert('已取消');
fail: function (res) {
alert(JSON.stringify(res));
var shareData = {
title: '微信JS-SDK Demo',
desc: '微信JS-SDK,帮助第三方为用户提供更优质的移动web服务',
link: 'http://demo.open./jssdk/',
imgUrl: '/mmbiz/icTdbqWNOwNRt8Qia4lv7k3M9J1SKqKCImxJCt7j9rHYicKDI45jRPBxdzdyREWnk0ia0N5TMnMfth7SdxtzMvVgXg/0'
wx.onMenuShareAppMessage(shareData);
wx.onMenuShareTimeline(shareData);
var readyFunc = function onBridgeReady() {
// 绑定关注事件
document.querySelector('#openCard').addEventListener('click',
function(e) {
WeixinJSBridge.invoke('chooseCard', {
"app_id": "&?php echo $listInfo['app_id']?&",
"location_id ": '',
"sign_type": "SHA1",
"card_sign": "&?php echo $listInfo['card_sign']?&",
"card_id": "&?php echo $listInfo['card_id']?&",
"card_type": "&?php echo $listInfo['card_type']?&",
"time_stamp": "&?php echo $listInfo['time_stamp']?&",
"nonce_str": "&?php echo $listInfo['nonce_str']?&"
function(res) {
alert(res.err_msg + res.choose_card_info);
$("#showInfo").empty().append(res.err_msg + res.choose_card_info);
if (typeof WeixinJSBridge === "undefined") {
document.addEventListener('WeixinJSBridgeReady', readyFunc, false);
readyFunc();
5.&[代码]创建卡券&&&&
$kqinfo = array("card" =& array());
$kqinfo['card']['card_type'] = 'GENERAL_COUPON';
$kqinfo['card']['general_coupon'] = array('base_info' =& array(), 'default_detail' =& array());
$kqinfo['card']['general_coupon']['base_info']['logo_url'] = 'URL';
$kqinfo['card']['general_coupon']['base_info']['code_type'] = 'CODE_TYPE_QRCODE';
$kqinfo['card']['general_coupon']['base_info']['brand_name'] = '';
$kqinfo['card']['general_coupon']['base_info']['title'] = '测试卡券';
$kqinfo['card']['general_coupon']['base_info']['color'] = 'Color030';
$kqinfo['card']['general_coupon']['base_info']['notice'] = '测试测试测试';
$kqinfo['card']['general_coupon']['base_info']['description'] = '这是一张优惠券';
$kqinfo['card']['general_coupon']['base_info']['date_info']['type'] = 1;
$kqinfo['card']['general_coupon']['base_info']['date_info']['begin_timestamp'] = time();
$kqinfo['card']['general_coupon']['base_info']['date_info']['end_timestamp'] = time() + 100 * 24 * 3600;
$kqinfo['card']['general_coupon']['base_info']['sku']['quantity'] = 100000;
$kqinfo['card']['general_coupon']['default_detail'] = '测试数据\n测试数据\n测试数据';
//var_dump($kqinfo);
//$kqinfo = json_encode($kqinfo);
$kqinfo = C::enJson($kqinfo);
//print_r( $kqinfo);
//$resultData = $wx-&wxCardCreated($kqinfo);
开源中国-程序员在线工具:
相关的代码(855)
1回/1238阅
请问有用过退款的接口吗?为什么我发请求 curl报52 &那个链接是连不上还算需要什么验证吗?
2楼:youkuiyuan 发表于
退款 这个接口没有用到。但是我们这边解决的方案是通过微信交易平台进行退款的。然后更新微小店系统
3楼:clearair 发表于
引用来自“youkuiyuan”的评论退款 这个接口没有用到。但是我们这边解决的方案是通过微信交易平台进行退款的。然后更新微小店系统谢谢
4楼:mag868310 发表于
好东西啊,最近正在为微信开发的事情头疼呢,一点都没接触过,但工作要用。
5楼:USIDCBBS 发表于
有C++开发范例吗
6楼:格格巫2012 发表于
好东西。最近在使用JAVA搞微信应用,换换口味挺好。
7楼:红白机 发表于
楼主,有没有完整的一个东西?或者有没有官网来学习一下?
8楼:jluflyingz 发表于
什么卡券呀,分享呀,如果不花钱开通认证,都玩不了。。
9楼:风情万种 发表于
可以下载地址?
10楼:添加软件 发表于
git仓库在哪
11楼:都市网达 发表于
12楼:国民妹夫 发表于
13楼:AlwaysFuns 发表于
最近正在研究微信周边,很有价值的代码,git有没?
14楼:banzhiyanz 发表于
做个标记,日后用
15楼:王铁锤 发表于
16楼:笑小龙 发表于
引用来自“AlwaysFuns”的评论最近正在研究微信周边,很有价值的代码,git有没?/dodgepudding/wechat-php-sdk
这个写的也不错啊
17楼:锟铻科技 发表于
没有下载,伤心~
18楼:西瓜 发表于
引用来自“clearair”的评论请问有用过退款的接口吗?为什么我发请求 curl报52 &那个链接是连不上还算需要什么验证吗?我也是遇到这个问题了。 咋解决的?兄弟
19楼:clearair 发表于
引用来自“clearair”的评论请问有用过退款的接口吗?为什么我发请求 curl报52 &那个链接是连不上还算需要什么验证吗?引用来自“西瓜”的评论我也是遇到这个问题了。 咋解决的?兄弟我没解决 。。。 后来不做退款了
20楼:eric_xue8 发表于
wxCardListPackage(),怎么没有找到。求解。
开源从代码分享开始
youkuiyuan的其它代码}

我要回帖

更多关于 微信支付商户平台提现 的文章

更多推荐

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

点击添加站长微信