PHP 对接美团大众点评团购券(门票)
一、功能简要介绍
1、根据需求,用户在美团大众点评中所购买的门票在自己的系统上可以核销,同时把核销信息存储到自己的系统里。
2、美团点评API文档地址:
二、开发步骤:
1、用点评管家账号登录文档,相应文档说明:
2 、选好自己相应的应用型,审核通过之后,就可以用平台系统的测试的数据就行接口调用
3、在大众点评app购买相应票,根据验券核销API文档(根据业务需求选择的类型是自用型)调取查询券、验券即核销券的接口,代码如下:
运用平台提供的相应参数,流程能顺利走通。
4、当放到线上的时候,选择相应的进行上线,首先要去平台“我的应用”设置回调地址,然后再授权地址上加上回调地址,还要进行授权去获取session,然后通过session去获取店铺的id
回调地址:
授权地址:
5、授权地址:
https://e.dianping.com/dz-open/merchant/auth?app_key=1ef0*****e3a8&redirect_url=https://*****/admin/Dian/get_auth&state=teststate&scope=[%22tuangou%22]
授权地址可以获取auth_code,根据这个值去换取session,换取session后可以去换取店铺id
//获取auth_code
public function get_auth(){
$auth_code = input(auth_code);
if(!isset($auth_code)) {
$app_key=1ef*****3a8;
$state=teststate;
$redirect_url=https://****/admin/Dian/get_auth;
$scope=tuangou;
$url=https://e.dianping.com/dz-open/merchant/auth?;
$data=[
app_key =>$app_key,
state => $state,
redirect_url =>$redirect_url,
scope =>$scope,
];
$postdata = http_build_query($data);
Header("Location: $url$postdata");
} else {
var_dump($auth_code);die();
}
}
//获取session
public function get_session(){
$app_key=1ef0*****e3a8;
$app_secret=dd8a291******bd9be6ff;
$auth_code=4e027519e******a6a9d1ee5f2;
$grant_type=authorization_code;
$redirect_url=https://*****/admin/Dian/get_auth;
$data=[
app_key =>$app_key,
app_secret => $app_secret,
redirect_url =>$redirect_url,
auth_code =>$auth_code,
grant_type =>$grant_type
];
$postdata = http_build_query($data);
$url=https://openapi.dianping.com/router/oauth/token;
$tmpInfo=$this->curl_post($url,$postdata);
var_dump($tmpInfo);
}
//获取所有店铺的id
public function get_shopid(){
$app_key=1ef04*****e3a8;
$secret = "dd8a29*****fbd9be6ff"; //秘钥
$sign_method=MD5;
$timestamp = date(Y-m-d H:i:s);
$format = json;
$v = 1;
//$session = f44d594ab895c******85b70bade02c;
$session = bbf7059256aaf3*******0816cf819b7;
$bid=5da1aab********5ad457a2c;//和session一起返回的
$offset =0;
$limit = 20;
$url=https://openapi.dianping.com/router/oauth/session/scope?;
$data=[
app_key =>$app_key,
sign_method => $sign_method,
timestamp =>$timestamp,
format =>$format,
v =>$v,
session =>$session,
bid =>$bid,
offset =>$offset,
limit =>$limit,
];
ksort($data);
$sign = $this->cal_sign($secret, $data);
$data[sign] = $sign;
$postdata = http_build_query($data);
$tmpInfo=$this->curl_get($url.$postdata);
var_dump($tmpInfo);
}
