caipan_shop_admin/app/service/Alipay.php

64 lines
2.2 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
namespace app\service;
use Yansongda\Pay\Pay;
use Yansongda\Pay\Log;
use think\facade\Config;
class Alipay
{
private static $app = null;
private function __construct()
{
}
private function __clone()
{
}
/**
* 支付宝配置
*
* @return array
*/
public static function config(): array
{
Config::load('extra/alipay', 'alipay');
$conf = config('alipay');
return [
'app_id' => trim($conf['appId']),
'notify_url' => trim($conf['notify_url']),
'return_url' => trim($conf['return_url']) ?? trim($conf['notify_url']),
'ali_public_key' => trim($conf['aliPubKey']),//注意 这里的是支付宝的公钥
// 加密方式: **RSA2**
'private_key' => trim($conf['priKey']),
// 使用公钥证书模式请配置下面两个参数同时修改ali_public_key为以.crt结尾的支付宝公钥证书路径
// 如(./cert/alipayCertPublicKey_RSA2.crt
// 'app_cert_public_key' => './cert/appCertPublicKey.crt', //应用公钥证书路径
// 'alipay_root_cert' => './cert/alipayRootCert.crt', //支付宝根证书路径
'log' => [ // optional
'file' => './logs/alipay.log',
'level' => 'debug', // 建议生产环境等级调整为 info开发环境为 debug
'type' => 'single', // optional, 可选 daily.
'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天
],
'http' => [ // optional
'timeout' => 5.0,
'connect_timeout' => 5.0,
// 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
],
// 'mode' => 'dev', // optional,设置此参数,将进入沙箱模式
];
}
//支付宝支付实例 单例模式
public static function getInstance(): ?\Yansongda\Pay\Gateways\Alipay
{
if (self::$app == null) {
self::$app = Pay::alipay(self::config());
}
return self::$app;
}
}