From 77da2311a09b9a9c0041ca468f4ecacda05b73b5 Mon Sep 17 00:00:00 2001 From: wyongk <937888580@qq.com> Date: Fri, 18 Dec 2020 14:35:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=AE=9D=E5=AE=9E=E5=90=8D?= =?UTF-8?q?=E8=AE=A4=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alipay/Aliverify.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/alipay/Aliverify.php b/alipay/Aliverify.php index f5c69c5..e89f2db 100644 --- a/alipay/Aliverify.php +++ b/alipay/Aliverify.php @@ -20,15 +20,23 @@ class Aliverify public static function initVerify() { global $config; - $aop = new \AopClient(); + $aop = new \AopCertClient(); + + $appCertPath = $config['alipay']['app_crt']; + $alipayCertPath = $config['alipay']['public_crt']; + $rootCertPath = $config['alipay']['root_crt']; + $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do'; $aop->appId = $config['alipay']['app_id']; $aop->rsaPrivateKey = $config['alipay']['private_key']; - $aop->alipayrsaPublicKey = $config['alipay']['public_key']; + $aop->alipayrsaPublicKey = $aop->getPublicKey($alipayCertPath);//调用getPublicKey从支付宝公钥证书中提取公钥 $aop->apiVersion = '1.0'; $aop->signType = 'RSA2'; - $aop->postCharset = 'utf-8'; - $aop->format = 'json'; + $aop->postCharset='utf-8'; + $aop->format='json'; + $aop->isCheckAlipayPublicCert = true;//是否校验自动下载的支付宝公钥证书,如果开启校验要保证支付宝根证书在有效期内 + $aop->appCertSN = $aop->getCertSN($appCertPath);//调用getCertSN获取证书序列号 + $aop->alipayRootCertSN = $aop->getRootCertSN($rootCertPath);//调用getRootCertSN获取支付宝根证书序列号 $request = new \AlipayUserCertifyOpenInitializeRequest(); //$request = new AlipayUserCertifyOpenInitializeRequest (); //TODO 官方这个地方写错了,应该用下面的代码才能实现