微信商城二次开发php,php版微信小店API二次开发及使用示例-微信开发

本文实例讲述了php版微信小店API二次开发及使用方法。分享给大家供大家参考,具体如下:

1. weixiaodian.php页面:

class wXd

{

public $AppID = "";

public $AppSecret = "";

public $OutPut = "";

public $AccessToken = "";

public $ID = "";

public $HandleAT = array();

public $Logistics = array();

public function __construct($ID = '0'){

$this->ID = $ID;

$this->sLogisticsList();

}

public function cUrlRequest($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);

return $output;

}

//获取ACCESSTOKEN

public function sAcessToken(){

$this->HandleAT = $this->gAccessToken();

if($this->HandleAT->expire_time < time()){

$appid = $this->AppID;

$appsecret = $this->AppSecret;

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;

$result = https_request($url);

//echo '

'; var_dump($result);die;

$jsoninfo = json_decode($result, true);

$access_token = $jsoninfo["access_token"];

$this->pAccessToken($access_token);

return $access_token;

}

else{

return $this->HandleAT->access_token;

}

}

//保存ACCESSTOKEN

public function pAccessToken($accesstoken){

$Path = $_SERVER['DOCUMENT_ROOT']."/jSon_file/access_token_".$this->ID.".json";

//print_r($Path);

if(!file_exists($Path)){

touch($Path);

chmod($Path,0777);

}

$data['expire_time'] = time() + 7000;

$data['access_token'] = $accesstoken;

$fp = fopen($Path, "w");

fwrite($fp, json_encode($data));

fclose($fp);

}

//读取ACCESSTOKEN

public function gAccessToken(){

$Path = $_SERVER['DOCUMENT_ROOT']."/jSon_file/access_token_".$this->ID.".json";

if(!file_exists($Path)){

$data['expire_time'] = 0;

$data['access_token'] = '';

}

else{

$data = json_decode(file_get_contents($Path));

//print_r($data);

}

return $data;

}

//获取所有商品

public function gStateProduct($state = 0){

//https://api.weixin.qq.com/merchant/getbystatus?access_token=ACCESS_TOKEN

//{"status": 0}

$this->AccessToken = $this->sAcessToken();

$url = "https://api.weixin.qq.com/merchant/getbystatus?access_token=".$this->AccessToken;

//print_r($this->AccessToken);

$ResData = $this->cUrlRequest($url,'{"status": '.$state.'}');

//echo "

";

print_r( json_decode($ResData) );

}

//设置微小店物流支持列表

public function sLogisticsList(){

$this->Logistics['Fsearch_code'] = "邮政EMS";

$this->Logistics['002shentong'] = "申通快递";

$this->Logistics['066zhongtong'] = "中通速递";

$this->Logistics['056yuantong'] = "圆通速递";

$this->Logistics['042tiantian'] = "天天快递";

$this->Logistics['003shunfeng'] = "顺丰速运";

$this->Logistics['059Yunda'] = "韵达快运";

$this->Logistics['064zhaijisong'] = "宅急送";

$this->Logistics['020huitong'] = "汇通快运";

$this->Logistics['zj001yixun'] = "易迅快递";

}

//获取订单详情

public function gOrderInfo($order){

$this->AccessToken = $this->sAcessToken();

//print_r($this->AccessToken);

$url = "https://api.weixin.qq.com/merchant/order/getbyid?access_token=".$this->AccessToken;

$ResData = $this->cUrlRequest($url,'{"order_id": "'.$order.'"}');

//$url = "https://api.weixin.qq.com/merchant/order/getbyfilter?access_token=".$this->AccessToken;

//$ResData = $this->cUrlRequest($url,'{"status": 2}');

print_r( json_decode($ResData) );

}

//查询全部订单

public function gOrderAll($data = array()){

$this->AccessToken = $this->sAcessToken();

$url = "https://api.weixin.qq.com/merchant/order/getbyfilter?access_token=".$this->AccessToken;

if(!empty($data)){

$data = json_encode($data);

}

else{

$firstday = strtotime(date("Y-m-01",time()));

$data = array('begintime' => $firstday,'endtime' => strtotime("$firstday +1 month -1 day"));

$data = json_encode($data);

}

$ResData = $this->cUrlRequest($url,$data);

print_r( json_decode($ResData) );

}

//设置订单发货

public function sOrderDelivery($data = array("need_delivery" => '0')){

$this->AccessToken = $this->sAcessToken();

$url = "https://api.weixin.qq.com/merchant/order/setdelivery?access_token=".$this->AccessToken;

if(!empty($data)){

$data = json_encode($data);

}

else{

$data = array("need_delivery" => '0');

$data = json_encode($data);

}

$ResData = $this->cUrlRequest($url,$data);

print_r( json_decode($ResData) );

}

//关闭订单

public function sOrderClose($order){

$this->AccessToken = $this->sAcessToken();

$url = "https://api.weixin.qq.com/merchant/order/close?access_token=".$this->AccessToken;

$ResData = $this->cUrlRequest($url,'{"order_id": "'.$order.'"}');

print_r( json_decode($ResData) );

}

}

2. 页面执行代码<?php

include_once 'class/weixiaodian.php';

$wXd = new wXd();

echo "

";

//查询全部商品

$wXd->gStateProduct();

//获取订单信息

$wXd->gOrderInfo('12963133879983601645');

//关闭订单

$wXd->sOrderClose('12963133879983600740');

//发货订单设置

$data['need_delivery'] = '1';

$data['order_id'] = '12963133879983600667';

$data['delivery_company'] = '059Yunda';

$data['delivery_track_no'] = '1000464090326';

$wXd->sOrderDelivery($data);

//获取所有订单

$wXd->gOrderAll();

echo "

";

以上就是php版微信小店API二次开发及使用示例的内容,更多相关内容请关注PHP中文网(www.erdangjiade.com)!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
wemall7.0 开源系统,基于thinkphp5开发,支持composer,优化核心,减少依赖,基于全新的架构思想和命名空间。 wemall7.0特性: 基于TP5,性能优越 前后分离,简单方便 插件扩展,功能丰富 钩子机制,高度扩展 自动升级,维护简单 使用pjax,体验提升 rest架构,耦合度低 功能列表: 首页=》系统首页 设置=》站点设置,短信配置,邮件配置 微信=》微信配置,微信菜单,自定义回复,模消息,多客服设置,微信打印机 内容=》文章分类,文章列表 模=》模设置,邮件模,短信模 用户=》管理员用户组,管理员列表,用户列表,会员列表 插件=》插件管理,插件商店 帮助=》使用帮助 ... thinkphp5.0特性 基于命名空间和众多PHP新特性 核心功能组件化 强化路由功能 更灵活的控制器 重构的模型和数据库类 配置文件可分离 重写的自动验证和完成 简化扩展机制 API支持完善 改进的Log类 命令行访问支持 REST支持 引导文件支持 方便的自动生成定义 真正惰性加载 分布式环境支持 更多的社交类库 ThinkPHP5的运行环境要求PHP5.4以上。 插件钩子机制 安装 composer require qingyuexi/think-addons 配置 公共配置 'addons'=>[ // 可以定义多个钩子 'testhook'=>'putong\demo\demo' // 键为钩子名称,用于在业务中自定义钩子处理,值为实现该钩子的插件, // 多个插件可以用数组也可以用逗号分割 ] 或者在application\extra目录中新建addons.php,内容为: 'putong\demo\demo' // 键为钩子名称,用于在业务中自定义钩子处理,值为实现该钩子的插件, // 多个插件可以用数组也可以用逗号分割 ] 创建插件 创建的插件可以在view视图中使用,也可以在php业务中使用 安装完成后访问系统时会在项目根目录生成名为addons的目录,在该目录中创建需要的插件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值