# alipaysdk **Repository Path**: ezy/alipaysdk ## Basic Information - **Project Name**: alipaysdk - **Description**: 简单易用的支付宝开放平台服务端SDK,提供基本的支付宝API调用能力。 - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-26 - **Last Updated**: 2022-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## AlipaySdk Latest Version 一个简单易用的支付宝开放平台服务端SDK,提供基本的支付宝API调用能力。 ## 安装依赖 ```bash composer require reezy/alipaysdk ``` ## 使用 创建SDK实例 ```php // 创建 AlipaySdk 实例 $sdk = AlipaySdk::create($appId, $appSecret); // 使用证书 $sdk->useCerts($appCertPath, $rootCertPath, $alipayCertPath); ``` 支付宝接口,响应一般有以下几种形式,这里做了兼容处理 - `{error_response: {}, ...}` ,返回 `error_response` - `{a_b_c_d_response: {}, ...}`,返回 `a_b_c_d_response` - `{...}` 直接返回 ```php $resp = $sdk->execute('alipay.system.oauth.token', [ 'grant_type' => 'authorization_code', 'code' => $code, ]); $resp = $sdk->execute('alipay.user.info.share', [ 'auth_token' => $this->accessToken, ]); if ($resp['code'] == 10000) { // ... } ``` 实例配置 ```php [ // 应用ID,例如:2019051064521003 'app_id' => env('ALIPAY_APP_ID'), // 应用私钥,例如:MIIEvQIBADANB ... 'app_secret' => env('ALIPAY_APP_SECRET'), // 应用公钥证书文件路径,例如:/foo/appCertPublicKey_2019051064521003.crt 'app_cert_path' => env('ALIPAY_APP_CERT_PATH'), // 支付宝根证书文件路径,例如:/foo/alipayRootCert.crt 'root_cert_path' => env('ALIPAY_ROOT_CERT_PATH'), // 支付宝公钥证书文件路径,例如:/foo/alipayCertPublicKey_RSA2.crt 'alipay_cert_path' => env('ALIPAY_ALIPAY_CERT_PATH'), // 支付宝公钥,例如:MIIBIjANBg... // 注:如果采用非证书模式,则无需赋值上面的三个证书路径,改为赋值如下的支付宝公钥字符串即可 'alipay_public_key' => env('ALIPAY_ALIPAY_PUBLIC_KEY'), // 可选,商户ID 'merchant_id' => env('ALIPAY_MERCHANT_ID'), // 可选,可设置AES密钥,调用AES加解密相关接口时需要,例如:aa4BtZ4tspm2wnXLb1ThQA== 'encrypt_key' => env('ALIPAY_ENCRYPT_KEY'), // 可选,可设置异步通知接收服务地址,例如:https://www.test.com/callback 'notify_url' => env('ALIPAY_NOTIFY_URL'), ], ]; ``` 通过工厂获取SDK实例 ```php $factory = new AlipaySdkFactory(); $sdk = $factory->get('default'); ``` 在Hyperf中获取默认实例 ```php $sdk = ApplicationContext::getContainer()->get(AlipaySdkFactoryInterface::class)->get(); ``` 获取支付宝用户信息 ```php $client = ApplicationContext::getContainer()->get(AlipaySdkFactoryInterface::class)->get()->oauth($authCode); $info = $client->getUserInfo(); ``` ## 参考 https://github.com/alipay/alipay-easysdk/tree/master/php ## LICENSE The Component is open-sourced software licensed under the [Apache license](LICENSE).