第一次搞这玩意,真是心累了。麻烦。。 参考了好几个文章 1、基于php的身份证实名认证接口调用代码实例 2、支付宝身份验证接口踩坑实录-PHP(基于ThinkPHP5)
public function userCertifyOpenInitialize($outer_order_no,$cert_name,$cert_no,$return_url) { require(EXTEND_PATH . 'Alipay/aop/AopClient.php'); require(EXTEND_PATH . '/Alipay/aop/request/AlipayUserCertifyOpenInitializeRequest.php'); require(EXTEND_PATH . '/Alipay/aop/request/AlipayUserCertifyOpenCertifyRequest.php'); $aop = new \AopClient (); $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do'; $aop->appId = 'APPID'; $aop->rsaPrivateKey = '私钥'; $aop->alipayrsaPublicKey = '公钥'; $aop->apiVersion = '1.0'; $aop->signType = 'RSA2'; $aop->postCharset = 'UTF-8'; $aop->format = 'json'; $request = new \AlipayUserCertifyOpenInitializeRequest (); $newsigndata=array(); $newsigndata['outer_order_no']=$outer_order_no; $newsigndata['biz_code']="FACE"; $newsigndata['identity_param']['identity_type']="CERT_INFO"; $newsigndata['identity_param']['cert_type']="IDENTITY_CARD"; $newsigndata['identity_param']['cert_name']=$cert_name; $newsigndata['identity_param']['cert_no']=$cert_no; $newsigndata['merchant_config']['return_url']=$return_url; $newsigndata['face_contrast_picture']=""; $tosign=json_encode($newsigndata); $request->setBizContent($tosign); $result = $aop->execute($request); dump($result);die(); $responseNode = str_replace(".","_",$request->getApiMethodName())."_response"; $resultCode = $result->$responseNode->code; if(!empty($resultCode)&&$resultCode == 10000){ echo "成功"; } else { echo "失败"; } } require(EXTEND_PATH . 'Alipay/aop/AopClient.php'); require(EXTEND_PATH . '/Alipay/aop/request/AlipayUserCertifyOpenInitializeRequest.php'); require(EXTEND_PATH . '/Alipay/aop/request/AlipayUserCertifyOpenCertifyRequest.php'); $data['cert_name'] = "收委"; $data['cert_no'] = "260104197909275964"; $data['outer_order_no'] = "ZGYD201809132323000001234"; $aop = new \AopClient (); $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do'; $aop->appId = 'APPID'; $aop->rsaPrivateKey = '私钥'; $aop->alipayrsaPublicKey = '公钥'; $aop->apiVersion = '1.0'; $aop->signType = 'RSA2'; $aop->postCharset = 'UTF-8'; $aop->format = 'json'; $request = new \AlipayUserCertifyOpenInitializeRequest (); $request->setBizContent("{" . "\"outer_order_no\":\"" . $data['outer_order_no'] . "\"," . "\"biz_code\":\"FACE\"," . "\"identity_param\":" . "{\"identity_type\":\"CERT_INFO\",\"cert_type\":\"IDENTITY_CARD\",\"cert_name\":\"" . $data['cert_name'] . "\",\"cert_no\":\"" . $data['cert_no'] . "\"}" . "," . "\"merchant_config\":" . "{\"return_url\":\"www.baidu.com\"}" . " }"); $result = $aop->execute($request); echo "<pre>"; var_dump($result); $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response"; $resultCode = $result->$responseNode->code; if (!empty($resultCode) && $resultCode == 10000) { echo "成功"; } else { echo "失败"; } die();