微信卡券开发HelloWord

本文为PHP开发者提供微信卡券开发的入门教程,从获取access_token到创建卡券、生成二维码、设置测试白名单及核销卡券的完整流程,帮助开发者快速上手微信卡券接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

卡券开发HelloWord(PHP)-原来它一直都很简单

为了让开发者尽快熟悉卡券接口开发,卡券小助手特意找到开发GG,死缠烂打求到一篇HelloWord教程,真TM的感动啊,感谢给力的Barry大神,后续小助手会针对各个卡券开发流程的难点出教程,请大家期待。
本文仅提供PHP版本的代码示例,欢迎大家补充Java、.NET和Python的开发心得。

CURL POST
由于多数卡券接口采用post请求的方式,在开始卡券接口使用之前,编写一个post函数,是一个良好的开端。

// curl post
    function http_post( $url, $data ) {
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_URL, $url );
        curl_setopt( $ch, CURLOPT_HEADER, 1 );
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt( $ch, CURLOPT_POST, 1 );
        curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );
        $resp = curl_exec( $ch );
        curl_close( $ch );
        return $resp;

一、获取access_token
a) debug页面获取

http://mp.weixin.qq.com/debug/
接口类型:基础支持
接口列表:获取access_token接口

参数填写开发者的appid和secret
点击检查问题,即可返回access_token,access_token的有效期是两小时

b) php curl post获取:

function getAccessToken( $appid, $secret ) {
        $url = "https://api.weixin.qq.com/cgi-bin/token";
        $data = "grant_type=client_credential" . "&appid=" . urlencode( $appid ) . "&secret=" . urlencode( $secret );
        $resp = http_post( $url, $data );

        //截取token
        $token=strstr( $resp, "\":\"" );  
        $token=trim( $token, "\":\"" );
        $token=strstr( $token, "\",\"", true );
        return $token;
    }

    //获取Access_token
    $appid = "wx57bf46878716c27e";
    $secret = "875e5cc094b78f230b0588c2a5f3c49f";
    $access_token = getAccessToken( $appid, $secret );

    echo "$access_token<br>";

二、上传卡卷logo
a) debug页面获取

http://mp.weixin.qq.com/debug/
接口类型:基础支持
接口列表:上传logo接口

access_token: 上一步获得的access_token
buffer:你选择的图片
点击检查问题,即可获取图片url,在下一步创建卡劵的参数中需要

b) php curl post获取:

// 上传图片获得logo链接 
    $url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=" . urlencode( $access_token );
    $file = array( "buffer"=>"@haha.jpg" );
    $resp = http_post( $url, $file );
    echo "$resp<br>";  

三、创建卡卷
a) debug页面获取

http://mp.weixin.qq.com/debug/
接口类型:卡劵接口
接口列表:创建卡劵接口
access_token

json: 示例

{
        "card": {
            "card_type": "EXPERIENCE",
            "experience": {
                "base_info": {
                    "logo_url": "http://mmbiz.qpic.cn/mmbiz/nqLnAvgTl6Sy0frKicGcWqzomd46yUpxx2ficib99oicErgOJsic9ya9Xhzkib7kvaE6xsh8ibjdlksQpy5QvSjIRWBXA/0",
                    "brand_name": "tit 体验劵",
                    "title": "第一张卡劵",
                    "sub_title": "hello world!",
                    "color": "Color010",
                    "notice": "享受创建卡劵的乐趣吧",
                    "service_phone": "020-88888888",
                    "description": "1、使用时间\nXXXXX\n2、适用条件\nXXXXX\n3、是否预约\nXXXXX\n",
                    "source": "灌灌灌",
                    "date_info": {"type": 1, "begin_timestamp": 1437549651, "end_timestamp": 1446307200},
                    "sku": {
                        "quantity": 50000000 },
                    "location_id_list": [288907692,288839879],
                    "use_limit": 10,
                    "get_limit": 30,
                    "use_custom_code": false,
                    "bind_openid": false,
                    "can_share": false
                },
                "experience_detail": "欢迎体验"
            }

        }
}

注意项:date_info中用的是timestamp,注意把begin_timestamp修改小于当前时间,end_timestamp修改成今天之后,这样在后面核销卡劵测试才能成功

b) php curl post获取

    //创建卡卷
    $url = "https://api.weixin.qq.com/card/create?access_token=" . urlencode( $access_token );
    $file = file_get_contents( "card.json" );


    // 上传的json格式文件,文件头可能会出现多余的特殊字符
    while( $file[0] != '{' ){
        $file = substr( $file, 1 );
    }

    echo "$file<br>";
    $resp = http_post( $url, $file );
    echo "$resp<br>";


    ?>

四、创建二维码ticket

a) debug页面获取

http://mp.weixin.qq.com/debug/
接口类型:卡劵接口
接口列表:创建二维码ticket接口
access_token:

json: 示例:

{
"action_name": "QR_CARD", 
"action_info": {
"card": {
"card_id": "po_2DjgJ2zrboM6SzK3qNuje5iWQ", 
        }
    }
}

五、显示二维码
浏览器中输入:https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET
把TICKET替换成上一步获得的ticket

示例:

https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQEr8ToAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xLy1YV21CQi1sc3dUS0p1M3NjRjVuAAIE3kqwVQMEgDPhAQ==

打开微信扫一扫,然后领取卡劵,如果显示卡劵未通过审核,那么需要下一步设置测试白名单,如果可以领取就忽略第六步。

六、设置测试白名单
debug页面获取

http://mp.weixin.qq.com/debug/
接口类型:卡劵接口
接口列表:设置测试白名单接口
access_token:

json: 示例:

{ "username":["usr1","usr2"] }

其中usr1,sur2是领取卡劵的微信号

七、核销卡劵
a) debug页面获取

http://mp.weixin.qq.com/debug/
接口类型:卡劵接口
接口列表:核销卡劵接口
access_token:

json: 示例:

{ “code”:“759733467744”  }

仅支持核销有效期内的卡劵

代码下载
http://pan.baidu.com/s/1i3rOJZ3

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值