83 lines
3.9 KiB
PHP
Raw Normal View History

2025-10-17 16:32:16 +08:00
<?php
/**
* 建行生活对接配置文件
*
* 重要说明:
* - 建行只提供生产环境,没有测试环境
* - 配置优先从.env读取,如果没有则使用默认值
* - 请在.env文件中配置敏感信息(密钥等)
*
* @author Billy
* @date 2025-01-16
*/
use think\Env;
return [
// API基础地址 (生产环境)
2025-10-18 15:47:25 +08:00
'api_base_url' => 'https://yunbusiness.ccb.com/tp_service/txCtrl/server',
2025-10-17 16:32:16 +08:00
// 收银台地址 (生产环境)
2025-10-17 17:18:15 +08:00
'cashier_url' => 'https://yunbusiness.ccb.com/clp_service/txCtrl',
2025-10-17 16:32:16 +08:00
// 交易代码映射
'tx_codes' => [
2025-10-18 15:47:25 +08:00
'order_push' => 'A3341TP01', // 订单推送
'order_update' => 'A3341TP02', // 订单状态更新
'order_query' => 'A3341TP03', // 订单查询
'order_refund' => 'A3341TP04', // 订单退款
2025-10-17 16:32:16 +08:00
],
2025-10-17 17:18:15 +08:00
// 服务方信息(生产环境)
'service_id' => Env::get('ccb.service_id', 'YS44000009001853'),
2025-10-17 16:32:16 +08:00
2025-10-17 17:18:15 +08:00
// 商户信息(从.env读取)
2025-10-17 16:32:16 +08:00
'merchant_id' => Env::get('ccb.merchant_id', '105003953998037'),
'pos_id' => Env::get('ccb.pos_id', '068295530'),
'branch_id' => Env::get('ccb.branch_id', '340650000'),
2025-10-17 17:18:15 +08:00
// 密钥配置 (从.env读取BASE64格式不含PEM头尾)
2025-10-18 15:47:25 +08:00
// ⚠️ 注意密钥会在代码中自动添加PEM包装.env中只需要存储BASE64内容
2025-10-17 17:18:15 +08:00
'private_key' => Env::get('ccb.private_key', 'MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBALrJmPmtQfP6mURtMxLEXqJHLldN3zYukoaRxG0lw2IdcC86H9C9brFz4YlJ+98z2mdELJaQWu8VWI4actSuPKgHTBr9MSpaii0QQpdINpwXJD9AglIrT7MxhMLYx3qAYDhjKUlC5hnWVYOg4sG32k/3dCebRHY8RDlrXUfHB2+VAgMBAAECgYArgn5R2pv8WymMmOtGudtZbb9LsuYF1v9mvVnGGv/SQQ060w1KMHYye83TjxpOueNsHqNMR0AHZS+Fmn+ZLyUNj9S77oQvUx5HQvY2/TDnsKbETzEMDybIWB+XdLsUkOrB3peVLTbk25i6oSNPOT2Fvd8TWbDqzBL9Ci27uJH72QJBAP/DfDLYoYx9OIRCykkxrDdQVFEkzhXj0wIkLa0Wnf8kP/JfBqvr0AGUPF8nEfh7fLVXYQlh5ab2FL5KvUifSL8CQQC69crW0fryyDHePp6OIVRUbw0T93h52vbGXnoQ6wdvKxZeL3MsfdNUvsJYeSxmtyY+LLgz1p3qOoEn6UpLvCirAkEA4N7qUvY+y3vJdhgXLNV8mkGJcLKQc5SUkJxogHeTQKGJi7ra7ctuXgUMM4jxduxz0CjcS1iEhxBzWn/x/mj1lwJBALgtv39VKLTXx1i7s5Ms/liXdfi/iC3zKbxOAk58WryHY+exMvMXmYMY0Xg7FySxNLl3cJeQy8ydifL5fbmSSTUCQQCj/YUbcTP8BQ6N0AgFdBwmXJyiNkB9zaDI5cEtpSCgq72m8lfn883GJ1MT7nKVXeX69/q5yDQUYiYPBXH4lCEC'),
'public_key' => Env::get('ccb.public_key', 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6yZj5rUHz+plEbTMSxF6iRy5XTd82LpKGkcRtJcNiHXAvOh/QvW6xc+GJSfvfM9pnRCyWkFrvFViOGnLUrjyoB0wa/TEqWootEEKXSDacFyQ/QIJSK0+zMYTC2Md6gGA4YylJQuYZ1lWDoOLBt9pP93Qnm0R2PEQ5a11HxwdvlQIDAQAB'),
2025-10-17 16:32:16 +08:00
2025-10-18 15:47:25 +08:00
// 建行平台公钥如果建行提供则配置否则使用merchant_public_key
'platform_public_key' => Env::get('ccb.platform_public_key', ''),
2025-10-17 16:32:16 +08:00
// HTTP请求配置
'http' => [
'timeout' => 30, // 超时时间(秒)
'retry_times' => 3, // 重试次数
'retry_delay' => [1, 2, 5], // 重试间隔(秒)
],
// 支付配置
'payment' => [
'currency_code' => '01', // 币种: 01-人民币
'tx_code' => '520100', // 支付交易码
'third_app_info' => 'comccbpay1234567890cloudmerchant',
'timeout_minutes' => 30, // 支付超时时间(分钟)
],
// 日志配置
'log' => [
'enabled' => true,
'level' => Env::get('ccb.log_level', 'info'), // debug, info, warning, error
2025-10-18 15:47:25 +08:00
'path' => __DIR__ . '/../../../runtime/log/ccblife/',
2025-10-17 16:32:16 +08:00
],
// 安全配置
'security' => [
'encrypt_enabled' => true, // 是否启用加密
'sign_enabled' => true, // 是否启用签名
'verify_sign' => true, // 是否验证响应签名
],
// 商户信息
'merchant' => [
'name' => Env::get('ccb.merchant_name', '商户名称'),
'logo_url' => Env::get('ccb.merchant_logo', ''),
'order_detail_url' => Env::get('app_url', 'http://fengketrade.test') . '/pages/order/detail?id=',
],
];