php网站小程序接入抖音团购核销
网站小程序接入抖音团购核销第一步注册抖音开放平台和抖音来客根据这个文档注册设置https://developer.open-douyin.com/docs/resource/zh-CN/local-life/connect/developer/self-developed-merchant-guide整一个php文件吧放在extend文件夹下然后接口调用/*** * 验券准备接口 */publicfunctionprepareCertificate(){$code$this-request-request(code,);if($code){$resulturl$this-request-request(resulturl,);if($resulturl){$this-error(请输入券码);}//访问该链接$resdoGet($resulturl,);$parsed_urlparse_url($res);parse_str($parsed_url[query],$query_params);$object_id$query_params[amp;object_id];//循环查是哪个平台// dump($object_id);$resDouyin::prepareCertificate($object_id,);//抖音平台}else{//循环查是哪个平台$resDouyin::prepareCertificate(,$code);//抖音平台}if(!$res||$res[extra][error_code]!0){//抖音没有查出来$this-error(该券码无效请上传真实券码);//, $res[extra][description]}else{if(!isset($res[data][certificates][0])){$this-error(该券码无效请上传真实券码);}$platform3;$sku_id$res[data][certificates][0][sku][sku_id];//看询券码属于哪个商品$goodsitemGoodsitem::where([douyin$sku_id])-find();$parties[encrypted_code$res[data][certificates][0][encrypted_code],sku_id$sku_id,platform$platform,verify_token$res[data][verify_token],];}if(!$goodsitem){$this-error(商品不存在,请重输入兑换);}$goodsGoods::where(id,$goodsitem[goods_id])-find();if(!$goods){$this-error(商品不存在,请重输入兑换);}$goods[parties]$parties;$this-success(成功,$goods);}/*** * 最终验券接口 */publicfunctioncertificate(){//抖音核销$verifyToken$this-request-request(verify_token,);if(empty($verifyToken)||$verifyToken){$this-error(__(请选择核销券));}$encryptedCodes$this-request-request(encryptedCodes,);if(empty($encryptedCodes)||$encryptedCodes){$this-error(__(请选择核销券));}//先查询是否已经核验$checkVerifyDouyin::checkVerify($encryptedCodes);if(!$checkVerify||$checkVerify[extra][error_code]!0){$this-error($checkVerify[extra][description]);}else{// $this-success(成功, $checkVerify);$status$checkVerify[data][certificate][status];// dump($status);exit;if($status!1){$this-error(__(该券已核销));}}$encryptedCodes[$encryptedCodes];$resDouyin::verifyCoupon($verifyToken,$encryptedCodes);$this-success(成功,$res);}}?phpnamespacefast;usethink\Request;usethink\Config;usefast\Random;classDouyin{/** * 验券 */constVERIFYhttps://api.jianjianyouzhi.com/tuangouuserservice/mt/consume;/** * 查询已验券信息 */constCHECKVERIFYhttps://api.jianjianyouzhi.com/tuangouuserservice/mt/fetchconsumed;publicfunction__construct(){// $this-Appid Config::get(douyin.appid);// $this-AppSecret Config::get(douyin.appsecret);// $this-pro_id Config::get(douyin.pro_id);$this-Appida*******a;// 抖音开放平台应用的AppID$this-AppSecreta********4;// 抖音开放平台应用的AppSecret$this-pro_id7**************************5;// 抖音门店ID}/*** * 验券准备接口 */publicstaticfunctionprepareCertificate($encrypted_data,$codenull){$access_tokenself::getClientToken();$poi_id7***************3;$urlhttps://open.douyin.com/goodlife/v1/fulfilment/certificate/prepare/?poi_id.$poi_id.code.$code;$backdoGet($url,$access_token);$backjson_decode($back,true);return$back;}/*** * 实际验券接口 */publicstaticfunctionverifyCoupon($verifyToken,$encryptedCodes){$client_tokenself::getClientToken();$poiId***************;$urlhttps://open.douyin.com/goodlife/v1/fulfilment/certificate/verify/;$data[verify_token$verifyToken,poi_id$poiId,encrypted_codes$encryptedCodes];$resdoPost($url,$data,$client_token);$responsejson_decode($res,true);return$response;}/*** * 查询券状态 */publicstaticfunctioncheckVerify($encrypted_data){$access_tokenself::getClientToken();$poi_id***************;//转义$encrypted_dataurlencode($encrypted_data);$urlhttps://open.douyin.com/goodlife/v1/fulfilment/certificate/get/?encrypted_code.$encrypted_data;$backdoGet($url,$access_token);$backjson_decode($back,true);return$back;}/*** * 获取access_token */publicstaticfunctiongetClientToken(){$urlhttps://open.douyin.com/oauth/client_token/;$Appid***************;// 抖音开放平台应用的AppID$AppSecret***************;// 抖音开放平台应用的AppSecret$pro_id***************;// 抖音门店ID$param[client_key$Appid,client_secret$AppSecret,grant_typeclient_credential];$res\fast\Http::post($url,$param);$backjson_decode($res,true);// dump($back);// exit;if($back[data][error_code]0){return$back[data][access_token];}returnfalse;}}