支付宝服务窗API接口开发php版本.docx

上传人:b****5 文档编号:12539762 上传时间:2023-04-20 格式:DOCX 页数:21 大小:19.85KB
下载 相关 举报
支付宝服务窗API接口开发php版本.docx_第1页
第1页 / 共21页
支付宝服务窗API接口开发php版本.docx_第2页
第2页 / 共21页
支付宝服务窗API接口开发php版本.docx_第3页
第3页 / 共21页
支付宝服务窗API接口开发php版本.docx_第4页
第4页 / 共21页
支付宝服务窗API接口开发php版本.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

支付宝服务窗API接口开发php版本.docx

《支付宝服务窗API接口开发php版本.docx》由会员分享,可在线阅读,更多相关《支付宝服务窗API接口开发php版本.docx(21页珍藏版)》请在冰豆网上搜索。

支付宝服务窗API接口开发php版本.docx

支付宝服务窗API接口开发php版本

  这篇文章主要介绍了php版本的支付宝服务窗API接口开发,感兴趣的小伙伴们可以参考一下

  支付宝服务窗API接口的开发对于许多网站要充值的朋友来讲是非常的重要的,今天我们就一起来看一篇关于php版本的支付宝服务窗API接口的开发例子。

  这两天没事要接入支付宝服务窗,看支付宝的DEMO,我的神,我怎么评价好呢?

阅读性不是很好,很阻碍简单的开发。

所以我就根据提供的API简单的开发了点,接口还有很多不完善,有兴趣的可以自己完善一下,下边我就把代码贴出来,有时间再写如何使用。

  <?

php 

  classAlipayService{ 

   /** 

   -服务接口信息 

   */

   public$service=null; 

   /** 

   -签名信息 

   */

   public$sign=null; 

   /** 

   -签名类型 

   */

   public$sign_type=null; 

   /** 

   -字符集 

   */

   public$charset=null; 

   /** 

   -解析的biz_content数据 

   */

   public$request=null; 

   /** 

   -用户openid 

   */

   public$from_user_id=null; 

   /** 

   -消息类型 

   */

   public$msg_type=null; 

   /** 

   -事件类型 

   */

   public$event_type=null; 

   /** 

   -行为参数 

   */

   public$action_param=null; 

   /** 

   -支付宝用户信息 

   */

   public$user_info=null; 

   /** 

   -文本消息内容 

   */

   public$text=null; 

   /** 

   -图片媒体id 

   */

   public$media_id=null; 

   /** 

   -图片格式 

   */

   public$format=null; 

   /** 

   -是否开启调试 

   */

   private$debug=false; 

   /** 

   -接口类型 

   */

   private$interface_type=array( 

   'qrcode'=>'alipay.mobile.public.qrcode.create', 

   'follow'=>'alipay.mobile.public.follow.list', 

   'gis_get'=>'alipay.mobile.public.gis.get', 

   'menu_get'=>'alipay.mobile.public.menu.get', 

   'menu_add'=>'alipay.mobile.public.menu.add', 

   'down_media'=>'alipay.mobile.public.multimedia.download', 

   'menu_update'=>'alipay.mobile.public.menu.update', 

   'info_query'=>'alipay.mobile.public.info.query', 

   'info_modify'=>'alipay.mobile.public.info.modify', 

   'shortlink'=>'alipay.mobile.public.shortlink.create', 

   'label_add'=>'alipay.mobile.public.label.add', 

   'label_del'=>'alipay.mobile.public.label.delete', 

   'label_update'=>'alipay.mobile.public.label.update', 

   'label_query' =>'alipay.mobile.public.label.query', 

   'label_user_add'=>'alipay.mobile.public.label.user.add', 

   'label_user_del'=>'alipay.mobile.public.label.user.delete', 

   'label_user_query'=>'alipay.mobile.public.label.user.query', 

   'message_custom'=>'alipay.mobile.public.message.custom.send', 

   'message_total'=>'alipay.mobile.public.message.total.send', 

   'message_single'=>'alipay.mobile.public.message.single.send', 

   'message_label_send'=>'alipay.mobile.public.message.label.send', 

   ); 

   /** 

   -私有密钥地址,替换为你自己的 

   */

   private$private_rsa_key_path='rsa_private_key.pem'; 

   /** 

   -私有密钥地址,替换为你自己的 

   */

   private$public_rsa_key_path='rsa_public_key.pem'; 

   /** 

   -支付宝窗的appid替换成你自己的 

   */

   private$app_id='2015120200901652'; 

   /** 

   -开启DEBUG参数 

   -@paramsbooldebugtrue开启调试false关闭调试 

   -@authorwiduu<admin@> 

   */

   publicfunction__construct($debug=false){ 

   /*是否开启DEBUG*/

   if($debug)$this->debug=true; 

   } 

   /** 

   -获取参数,解析请求参数 

   - 

   -@authorwiduu<admin@> 

   */

   publicfunctionget_request(){ 

   if(!

emptyempty($_POST)){ 

   //请求的服务接口 

   $this->service=$_POST['service']; 

   //获取请求字符集 

   $this->charset=$_POST['charset']; 

   //获取请求的biz_content 

   $request_biz_content=$_POST['biz_content']; 

   //加密算法 

   $this->sign_type=$_POST['sign_type']; 

   //加密字符串 

   $this->sign=$_POST['sign']; 

   //如果请求格式不是Utf-8转换格式为Utf-8 

   if(strtolower($this->charset)!

='utf-8'){ 

   $request_biz_content=iconv('GBK','utf-8',$request_biz_content); 

   } 

   //解析字符串为xml 

   $request_xml=@simplexml_load_string($request_biz_content,"SimpleXMLElement",LIBXML_NOCDATA); 

   //解析为数组 

   $request_array=$request_xml),true); 

   $this->request=$request_array; 

   /*解析*/

   $this->analysis($request_array); 

   if($this->debug)$this->write_log('REQUEST_INFO',var_export($request_array,true)); 

   //默认验证方法 

   if($this->service=='alipay.service.check'){ 

   $this->verify($_POST); 

   exit(); 

   } 

   /*返回结果*/

   return$request_array; 

   } 

   } 

   /** 

   -回复文本内容 

   -@paramsstringcontent文本数据 

   -@paramsboolmassture为群发 

   -@authorwiduu<admin@> 

   */

   publicfunctiontext($content,$mass=false){ 

   $info['text']=array('content'=>$content); 

   /*组织内容*/

   $biz_content=$this->common_response('text',$info,$mass); 

   /*判断是否为群发*/

   if($mass){ 

   $method='message_total'; 

   }else{ 

   $method='message_custom'; 

   } 

   $sys_params=$this->common_system($method,$biz_content); 

   $sys_params['sign']=$this->rsa_sign($this->build_query($sys_params)); 

   /*返回结果结果是JSON数据*/

   $result=$this->response_post($sys_params); 

   return$result; 

   } 

   /** 

   -回复图文内容 

   -@paramsarrayarticles拼接的图文消息数组 

   -@paramsboolmassture为群发 

   -@authorwiduu<admin@> 

   */

   publicfunctionarticles($articles,$mass=false){ 

   $info['articles']=array($articles); 

   /*组织内容*/

   $biz_content=$this->common_response('image-text',$info,$mass); 

   /*判断是否群发*/

   if($mass){ 

   $method='message_total'; 

   }else{ 

   $method='message_custom'; 

   } 

   /*加密参数*/

   $sys_params=$this->common_system($method,$biz_content); 

   /*加密字符*/

   $sys_params['sign']=$this->rsa_sign($this->build_query($sys_params)); 

   /*返回结果结果是JSON数据*/

   $result=$this->response_post($sys_params); 

   return$result; 

   } 

   /** 

   -关注事件 

   - 

   -@authorwiduu<admin@> 

   */

   publicfunctionis_follow(){ 

   $request=$this->request; 

   if($request['MsgType']=='event'&&$request['EventType']=='follow'){ 

   returntrue; 

   }else{ 

   returnfalse; 

   } 

   } 

   /** 

   -取消关注事件 

   - 

   -@authorwiduu<admin@> 

   */

   publicfunctionis_unfollow(){ 

   $request=$this->request; 

   if($request['MsgType']=='event'&&$request['EventType']=='unfollow'){ 

   returntrue; 

   }else{ 

   returnfalse; 

   } 

   } 

   /** 

   -下载用户发来的图片 

   -@parammedia_idstring图片id 

   -@paramfilenamestring保存图片地址和名称 

   -@authorwiduu<admin@> 

   */

   publicfunctiondown_media($media_id,$filename){ 

   $sys_params=$this->common_system('down_media',array('mediaId'=>$media_id)); 

   $sys_params['sign']=$this->rsa_sign($this->build_query($sys_params)); 

   /*返回数据*/

   $result=$this->response_post($sys_params,true); 

   $result=file_put_contents($filename,$result); 

   if($this->debug){ 

   $this->write_log('SAVE_IMAGE','保存图片'.(string)$result); 

   } 

   return$result; 

   } 

   /** 

   -(添加|更新|获取)自定义菜单 

   -@paramstring$type(add|update|get) 

   -@paramarray$menu菜单数组,如果是获取菜单可以留空 

   -@authorwiduu<admin@> 

   */

   publicfunctionmenu($type,$menu=array()){ 

   if(!

in_array($type,array('get','update','add'))){ 

   if($this->debug){ 

   $this->write_log('ERROR','菜单操作方法错误'); 

   } 

   returnfalse; 

   } 

   /*拼接接口方法*/

   $method='menu_'.$type; 

   $sys_params=$this->common_system($method,$menu); 

   /*加密字符串*/

   $sys_params['sign']=$this->rsa_sign($this->build_query($sys_params)); 

   /*请求获取结果*/

   $result=$this->response_post($sys_params); 

   /*转义并解析JSON数据*/

   $menu_js

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1