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 官方这个地方写错了,应该用下面的代码才能实现