<?php//私钥和公钥在芝麻信用后台设置,官网有详细说明
class ZhimaAction extends CommonAction {//芝麻信用网关地址public $gatewayUrl = "https://zmopenapi.zmxy.com.cn/openapi.do";//商户私钥文件public $privateKeyFile = "商户私钥文件(绝对路径)";//芝麻公钥文件public $zmPublicKeyFile = "芝麻公钥文件(绝对路径)";//数据编码格式public $charset = "UTF-8";//应用idpublic $app_id = "*******";//要调用的接口名public $method = "zhima.credit.score.get";//来源平台,默认为zmoppublic $platform = "zmop";//接口版本,目前只支持1.0public $version = "1.0";//    加密后信息  RSA加密后的业务参数public $params = "";// 加密后信息  对params参数加密前的签名,算法为SHA1WithRSApublic $sign = "1.0";/*         加签过程1、在加密过程的第一步,我们得到了拼接在一起的业务参数,同样以芝麻信用评分为例,拼接的参数如下:transaction_id=URLEncode(1234567)&product_code=URLEncode(w1010100100000000001)&open_id=URLEncode(268810000007909449496)2、使用 SHA1WithRSA 算法以及商户自己的私钥进行签名,得到 byte 数组SHA1WithRSA(transaction_id=URLEncode(1234567)&product_code=URLEncode(w1010100100000000001)&open_id=URLEncode(268810000007909449496))3、将 byte 数组进行 Base64 编码,得到一个签名的字符串Base64(SHA1WithRSA(transaction_id=URLEncode(1234567)&product_code=URLEncode(w1010100100000000001)&open_id=URLEncode(268810000007909449496)))经过了上述三步,我们便得到了业务参数的签名,最后我们将这个签名的值放入系统参数 sign 中:sign=Base64(SHA1WithRSA(transaction_id=URLEncode(1234567)&product_code=URLEncode(w1010100100000000001)&open_id=URLEncode(268810000007909449496)))解密和验签*/public function __construct() {parent::__construct();//在官网下载Vendor('zhima.zmop.ZmopClient');Vendor('zhima.zmop.RSAUtil');Vendor('zhima.zmop.ZhimaCreditIvsDetailGetRequest');Vendor('zhima.ZmopSdk');}public function grant(){if(IS_POST){$name = I('name');//姓名$IDnumber = I('IDnumber');  //×××号码$client = new ZmopClient($this->gatewayUrl,$this->app_id,$this->charset,$this->privateKeyFile,$this->zmPublicKeyFile);$RSAUtil = new RSAUtil();$identity_type ='2';$identity_param =json_encode(array('certNo'=>$IDnumber,'name'=>$name,'certType'=>"IDENTITY_CARD"));$request['app_id'] = $this->app_id;$request['charset'] = $this->charset;$request['method'] = 'zhima.auth.info.authorize';$request['version'] = $this->version;$request['platform'] = $this->platform;$request['params'] = $RSAUtil->rsaEncrypt($str,$this->zmPublicKeyFile);$request['sign'] = $RSAUtil->sign($str,$this->privateKeyFile);$request['identity_type'] = $identity_type;$request['identity_param'] = $identity_param;$str ='identity_type='.urlencode($identity_type).'&identity_param='.urlencode($identity_param).'';$request = new ZhimaAuthInfoAuthorizeRequest ();$request->setIdentityType ("2");//   $request->setParams ("2");$request->setIdentityParam ($identity_param);//$request->setBizParams ( "{\"auth_code\":\"M_APPPC_CERT\",\"state\":\"透传参数\"}" ); //$url = $client->generatePageRedirectInvokeUrl ( $request );//dump($url); if($url){$json['msg'] =1; $json['url'] =$url; }else{$json['msg'] =0; $json['info'] ='参数错误'; }echo json_encode($json);exit;}else{$json['msg'] =0; $json['info'] ='参数错误'; echo json_encode($json);exit;}}//返回public function returndata(){$params=$_GET['params'];$sign=$_GET['sign'];if(!$sign){$this->redirect('Member/rz');exit;}// 判断串中是否有%,有则需要decode//   dump($sign);$params = strstr ( $params, '%' ) ? urldecode ( $params ) : $params;$sign = strstr ( $sign, '%' ) ? urldecode ( $sign ) : $sign;$client = new ZmopClient ( $this->gatewayUrl, $this->app_id, $this->charset, $this->privateKeyFile, $this->zmPublicKeyFile );$result = $client->decryptAndVerifySign ( $params, $sign );//转数组$parts = explode('&',$result);$array=array();foreach($parts as $k=>$v){$parts[$k] = explode('=',$v);$array[$parts[$k]['0']] = $parts[$k]['1'];}//dump($array['success']='false');if($array['success']!='false'){//dump($array);exit;$res =$this->ToRz($array);if($res->success){//返回数据 更新会员信息$is_zhima =  M('member')->where(array('id'=>cookie('id')))->find();if($is_zhima['zhima']!=$res->zm_score){$save['open_id'] = $array['open_id'];$save['zhima'] = $res->zm_score;$save['state'] = '1';$save['optime'] = time();$save['rztime'] = time();$member = M('member')->where(array('id'=>cookie('id')))->save($save);}echo '<script>alert("认证成功");window.location.href ="/Member/rz"</script>';}///dump($member);//    dump($result);}else{//echo '<script>alert("验签失败");window.location.href ="/Member/rz"</script>';$this->redirect('Member/rz');exit;}}}

PHP 蚂蚁芝麻信用分接口相关推荐

  1. php 芝麻信用api接口,PHP 蚂蚁芝麻信用分接口

    PHP 蚂蚁芝麻信用分接口 发布时间:2020-05-25 08:06:07 来源:51CTO 阅读:136895 作者:pansw113 //私钥和公钥在芝麻信用后台设置,官网有详细说明 class ...

  2. 芝麻信用分750以上有什么特殊作用?

    芝麻是蚂蚁金服旗下的一个信用体系,它的信息采集来源包括阿里巴巴体系里的一些平台,比如淘宝,天猫,借呗,花呗,支付宝,余额宝以及其他授权芝麻信用获取信息的平台. 而芝麻信用分的高低代表的是一个人综合的信 ...

  3. 淘宝芝麻信用分提升方法技巧

    最近小编为大家介绍了一些关于芝麻信用分相关内容教程,不知道大家有没有看呢?今天还是有关芝麻信用分的内容,如何快速提升我们的信用分数?这也是有技巧的哦,一起来看看吧! 支付宝的芝麻信用分影响到蚂蚁花呗和 ...

  4. 支付宝 芝麻信用分过600,你不知道的八个特权

    晒芝麻信用分已经是一个潮流了,但是很多人并不知道自己高高的芝麻信用分有何用武之地,为大家总结了一下芝麻分超过600可以获得的特权. 1.芝麻分在750分以上的用户,可通过阿里旅行办理卢森堡的" ...

  5. 为什么你的支付宝芝麻信用分就是不涨?

    支付宝芝麻信用分越来越重要,应用场景越来越多,免押租物.信用购.办理证件手续.信用金融等. 芝麻信用分的高低,有时能直接影响你能否享受某些特权,还是比较重要的. 有的同学比较疑惑,为什么一直在守约,但 ...

  6. 大家的芝麻信用分都是多少?

    支付宝的芝麻信用分对于用户来说可以说是非常重要的一个用户信用衡量标准的,而且支付宝芝麻信用分的衡量条件也是各不相同的,那么下面和大家一起来说一说支付宝芝麻信用分的作用的功能以及其评估的方式. 目前支付 ...

  7. 微信上线支付分对标芝麻信用分,教你如何开通!

    支付宝很早以前就推出了芝麻信用分,相信大家应该都开通并正在使用,它的高低在一定程度上可以反映一个人的信用状况,可以用来做某些租赁服务的免押金门槛,甚至可以作为申请加拿大签证的重要资料,非常实用.类似的 ...

  8. 微信支付分开通了!对飙芝麻信用分!开通与查看攻略!

    微信支付分是微信体系下对个人的消费.守约等行为的综合计算分值,为用户提供更便捷的生活方式!其实就是微信的芝麻信用分~ 如何开通?目前可以接入微信支付分的商户所提供的指定服务中,申请开通微信支付分.比如 ...

  9. 如何快速把芝麻信用分提高到750以上?

    支付宝圈子要求芝麻信用分在750以上,那么最快提分的方式是什么.那么使用诸如像电兔贷款这样的网贷平台借款,能否快速提升积分呢? 首先我们来看看芝麻信用分是什么? 芝麻信用评分,是在用户授权的情况下,依 ...

  10. 支付宝 android ui,Android 仿支付宝芝麻信用分仪表盘效果 CreditSesameRingView

    软件介绍 自定义View之仿支付宝芝麻信用分仪表盘效果,喜欢的话,请给个star,谢谢. 使用添加项目依赖Add it in your root build.gradle at the end of  ...

最新文章

  1. 热更新 FrameWork
  2. php 远程下载图片到本地
  3. 机器学习之手把手实现,第 2 部分 频繁项集与关联规则 FP-growth 的原理和实现...
  4. mysql目录权限设置_MySQL文件及目录权限设置分析-爱可生
  5. 命令行切换到conda环境_Anaconda命令行常用操作
  6. 服务器响应HTTP的类型ContentType大全
  7. Linux学习之磁盘操作
  8. linux 抓包文件 导出,Fiddler抓包13-fiddler 抓包导出 curl 命令行
  9. centos 6 apt.sw.be 错误 无法yum安装软件解决方案
  10. linux awk数组使用
  11. php表单美化,使用css美化html表单控件详细示例(表单美化)_HTML/Xhtml_网页制作
  12. RAR压缩包有密码怎么办
  13. 准提咒LA 观想 3D文字
  14. Rockchip平台TP驱动详解
  15. Nginx正反向代理的具体步骤讲解
  16. Mybatis--SqlSession对象创建过程
  17. 绿色木霉的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. 政客常用手段_我可以比政客更好地管理经济
  19. html中页面背景属性,css背景属性有哪些?
  20. Multi-Scale Attention Network for Crowd Counting:用于人群计数的多尺度注意网络

热门文章

  1. 【python学习笔记】爬虫总遇到的:'latin-1' codec can't encode character...
  2. ARM Linux从Bootloader、kernel到filesystem启动流程
  3. 华为畅享7鸿蒙,华为畅享7开箱图赏:做工配置表现不俗
  4. Elasticsearch:深入理解 Dissect ingest processor
  5. 云计算设计模式翻译(五):Compute Resource Consolidation Pattern
  6. Modbus CRC计算器(编译环境:C-Free 5.0)
  7. QT for Android 修改图标与名称
  8. 【某deed和某app面试】
  9. 山东大学项目实训(三十二)—— 科室管理
  10. php apply filters,apply_filters()应用过滤器