1. 进入支付宝 官方api文档查找对应的php sdk,地址:https://opendocs.alipay.com/open/54/cyz7do/#SDK

  2. 使用新版的sdk,地址:https://opendocs.alipay.com/open/00y8k9

  3. 点击php  Composer 项目依赖,地址:https://packagist.org/packages/alipaysdk/easysdk

  4. 安装Composer 安装 alipay SDK   命令:composer require alipaysdk/easysdk

  5. SDK接口文档:https://github.com/alipay/alipay-easysdk/blob/master/APIDoc.md

  6. SDK接口文档:https://github.com/alipay/alipay-easysdk/tree/master/php

  7. 请求下载对账单示例:

    <?php    
    namespace App\Console\Commands;
    use Alipay\EasySDK\Kernel\Config;
    use Alipay\EasySDK\Kernel\Factory;
    use Illuminate\Console\Command;
    use Illuminate\Support\Facades\Log;
    use PHPUnit\Exception;
    class Sync_Trade_Query extends Command
    {
        /**
         * The name and signature of the console command.
         *
         * @var string
         */
        protected $signature = 'SyncTradeQuery';
        /**
         * The console command description.
         *
         * @var string
         */
        protected $description = 'Sync Trade Query';
        /**
         * Create a new command instance.
         *
         * @return void
         */
        public function __construct()
        {
            parent::__construct();
        }
        /**
         * https://github.com/alipay/alipay-easysdk/tree/master/php
         * https://github.com/alipay/alipay-easysdk/blob/master/APIDoc.md
         * https://opendocs.alipay.com/apis/api_1/alipay.trade.query
         * https://opendocs.alipay.com/apis/api_15/alipay.data.dataservice.bill.downloadurl.query
         * https://opendocs.alipay.com/open/00y8k9
         * https://opendocs.alipay.com/open/54/cyz7do/#SDK
         * Execute the console command.
         *
         * @return mixed
         */
        public function handle()
        {
            Factory::setOptions($this->getOptions());
            //支付宝api       
            #$this->syncAlipay($out_trade_no);
            //下载对账单
            $billDate = '2020-06-03';
            $this->downloadAlipayBill($billDate);
        }
        /**
         * 查询交易
         * @param $out_trade_no
         * @throws \Exception
         */
        private function syncAlipay($out_trade_no){
            Log::info('syncAlipay', ['syncAlipay']);
            try{
                $result = Factory::payment()->common()->query($out_trade_no);
                Log::info('syncAlipay result', [$result]);
                if (!empty($result->code) && $result->code == 10000) {
                    Log::info('syncAlipay chargeAmount', [$result->chargeAmount]);
                    Log::info('syncAlipay success', [$result->httpBody]);
                } else {
                    Log::info('syncAlipay error', [$result->chargeAmount]);
               }
            }catch (Exception $e){
                Log::info('syncAlipay Exception', [$e->getMessage()]);
            }
        }
        /**
         * 支付宝对账单下载地址
         * @throws \Exception
         */
        private function downloadAlipayBill($billDate){
            Log::info('downloadAlipayBill', ['downloadAlipayBill']);
            try{
                
                $billType ='signcustomer';
                #$billType ='trade';
                $result = Factory::payment()->common()->downloadBill($billType, $billDate);
                if (!empty($result->code) && $result->code == 10000) {
                    Log::info('downloadAlipayBill success', [$result]);
                    Log::info('downloadAlipayBill success', [$result->billDownloadUrl]);
                } else {
                    Log::info('downloadAlipayBill error', [$result]);
                }
            }catch (Exception $e){
                Log::info('downloadAlipayBill Exception', [$e->getMessage()]);
            }
        }
        //设置参数
        public function getOptions()
        {
            $options = new Config();
            $options->protocol = 'https';
            $options->gatewayHost = 'openapi.alipay.com';
            $options->signType = 'RSA2';
            $options->appId = config('pay.alipay.app_id');
            // 为避免私钥随源码泄露,推荐从文件中读取私钥字符串而不是写入源码中
            $options->merchantPrivateKey = config('pay.alipay.private_key');
            //$options->alipayCertPath = '<-- 请填写您的支付宝公钥证书文件路径,例如:/foo/alipayCertPublicKey_RSA2.crt -->';
            //$options->alipayRootCertPath = '<-- 请填写您的支付宝根证书文件路径,例如:/foo/alipayRootCert.crt" -->';
            //$options->merchantCertPath = '<-- 请填写您的应用公钥证书文件路径,例如:/foo/appCertPublicKey_2019051064521003.crt -->';
            //注:如果采用非证书模式,则无需赋值上面的三个证书路径,改为赋值如下的支付宝公钥字符串即可
             $options->alipayPublicKey = config('pay.alipay.ali_public_key');
            //可设置异步通知接收服务地址(可选)
            $options->notifyUrl = "<-- 请填写您的支付类接口异步通知接收服务地址,例如:https://www.test.com/callback -->";
            //可设置AES密钥,调用AES加解密相关接口时需要(可选)
            $options->encryptKey = "<-- 请填写您的AES密钥,例如:aa4BtZ4tspm2wnXLb1ThQA== -->";
            return $options;
        }
    }

.env文件

    ALI_APP_ID=2017082518448464    
    
    ALI_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgSV6ePfSKZa9nY5opAmIKP+zFwvBCXLuj4GvKBbog6CW7EcZvoQqOn+lTxdBFJ3EVgdTxMXzCjhIDMsOnwhdGxdmXCIaqZ5kYnk9EBKECIqUZUYj9S3uYxmXUrsIUJ4PNdKTYvd3hedLbc1UZtFlgmiA8MZ7X+7y+f0nZOsBSVMv5edC5U92EWAMnHO2PBDHba/peuGI+5fz6jjVFcxJ3VH1nAppexiRUjG1zj9TJnazWBAQRmH6uCrvCWMlvIHo4tV+nklU0GxRmRRaUam0fctvuVCiBkKTCZUkFZK43Btq2yGyNNuX643SxFNr2uZX3FXXOblsmCi2xgBGItKd5wIDAQAB
    
    ALI_PRIVATE_KEY=MIIEogIBAAKCAQEAoO7kdE9OHhL410+tzxE5k61CnbNMnDNVOzcvDeXjyHBy2Q8M6qG7sce2G1aIJ5eNpQ1zBcTOGaeYbjXDBbJlwPPcgrYuhieU2l7t+6JmfrB3XsKJgISp9/XMHgYevFOV475icDfntsAEcWnFgmW+K2Hka68xGnYD5Lvwq0Y9HTlL5R+mIDIkUdjPm3XKJE0E2Sg+IRYxCjL0kxiG6dLku/5UMg6UwLTf5rydN7RXM5jP8sIgPnTRZudhy7jww8FJv10cyezucdRpUhMzQcGv14tchOfZTLp7oF9mHRUGY84opp9po0BvM+QI09rnm6wDhauJSP0LrGXn3yZ520UokQIDAQABAoIBADqFA+/DUr2e2nu4zpQISG6Jxzp/E3GNPQXuWB7upHijYy/IyEKdkxnfbDneql3zPx9wl43WdbdgeQ5CYGs25sdWJa4mPx6rT/ZkJJenAyw4UP/VL5jbJM80wwd75DtJDa0l8reprImIo1T2SErVYmR2EVCTAQEFPv8y1B4DyX9RXcZEGvGlI1CbBP5IOdJ0l7Njs16ssQdXmeXHYPCwLlSpcQiLYRtLcseDRO3/24xWI7nlNE1TRWivK4vE+noeAK+iie0tg5b3GVjhcAzgItWdXK9zanJTU/B3aahiYDx8S9OJ6kBJDFo0bXRiwxbAj6G7vLI/mVCbXXZhqwVvAy0CgYEAzVyKBfBdqrp4GYrtgzfp1bKz3DgomiYA/uvREL6hIvbi4yDieQnNICwApIKhqb84V912Ptjr4c9zVZbbUjkH598uccMsqoXhzNrYVYp0Ux8MSx4ovj/tgrDwNeYvEUsscIxU2gSTQaHqquaPxPoAPpvZKr0ZwgeaV2q7mUErulsCgYEAyJ3QBMfPse//jSIVOcy5s3lkRYZQIb8CXlrKelNFyobQoq+bL//cb74bWQUdvzslKPy3/+rrAKwgRBPyFKyOqYqjjJMw9yQnocMNLgWtFEx4Ng5eUYxr92w+1fsxMJwv4+lfoQJtJaEBRCL7MleNg8TSPx1V5u4wqM9viQIQJIMCgYAbPI7BwuNpZVnQaXCe2qeUxCK+rmQULb4sETKlOeM9M+lbnlzrGLWv8qYTK5AtZ0MdxC2OoE6IoG73hw6HlTDLO/p49B3Ub/VGqi/PCJHtBE0pGVLmCKyDjNwPCfxsGsBGHRaT4890APmSuQmQYmft5dWjqXjlFwUNWwaOiOo3yQKBgHV+r+lM2SCeri4LayEJ/SzXCNoLOv04sHtwcyvHf5WI9cKCVMJ8+K7dSYkOjQiF7FKgCGezr9hZ9x/ICrz+/yLe1sCrKD9mhmugICT3IBJGYxVNvwHF2yny1K5gSsPshcPW17ImCKTEMkiksDggvPoSmQxr8vaoRAlqTCmS8r9fAoGAcs7yiKlMoIuEb7148AmA3NeMzN0C4qiiypw2mgT5xkxOqsbNRQDFKtFLqQpnZoMlPdBlmlTa02vlV6EC3qSMRfgua7wxfvakChh1sVTQ3eogWP7eH2a5q5jEP2KvW5A2v63+koPA89KBpEHVIdWpbCx8d2QKQxF0NpFIv/xaDUA=

发表评论

电子邮件地址不会被公开。 必填项已用*标注