This commit is contained in:
Your Name
2026-06-05 17:15:15 +08:00
parent b9d36d8d04
commit 5a235280a1
10 changed files with 328 additions and 54 deletions
+15 -8
View File
@@ -41,9 +41,11 @@ $forceDisable = filter_var($forceDisableRaw, FILTER_VALIDATE_BOOLEAN);
// 已填 CUSTOMER+KEY 即启用;需临时关闭时设 LOGISTICS_KUAIDI100_DISABLE=trueLOGISTICS_KUAIDI100_ENABLE 已废弃,可删)
$kuaidiEnabled = ! $forceDisable && $hasCreds;
// 京东官方物流接口(JOS 开放平台 https://api.jd.com/routerjson
// 仅当填好 APP_KEY / APP_SECRET / ACCESS_TOKEN 时启用;作为快递100 对京东自营单(JDVE…)轨迹陈旧时的兜底数据源。
// 京东物流开放平台 LOPhttps://api.jdl.com
// 仅当填好 APP_KEY / APP_SECRET / ACCESS_TOKENRSA2 模式还需 RSA_PRIVATE_KEY)时启用;
// 作为快递100 对京东自营单(JDVE…)轨迹陈旧时的兜底数据源,并供后台「京东接口更新」按钮使用。
// 未配置时本段 enable=falseExpressTrackService 完全沿用现有快递100 逻辑,互不影响。
// 加签方式由 JD_LOGISTICS_ALGORITHM 控制:rsa2(默认,需私钥) / md5(摘要,无需私钥)。
$envJd = static function (string $suffix, $default = '') use ($stripQuotes) {
$top = 'JD_LOGISTICS_' . $suffix;
$v = env($top, null);
@@ -79,12 +81,17 @@ return [
'app_key' => $jdAppKey,
'app_secret' => $jdAppSecret,
'access_token' => $jdAccessToken,
'gateway' => $envJd('GATEWAY', 'https://api.jd.com/routerjson'),
// 青龙运单轨迹查询;如改用 ECLP 等可在 .env 覆盖 method / param_key / waybill_field
'method' => $envJd('METHOD', 'jingdong.ldop.receive.trace.get'),
'param_key' => $envJd('PARAM_KEY', '360buy_param_json'),
'waybill_field' => $envJd('WAYBILL_FIELD', 'waybillCode'),
// 部分接口需商家编码 / 事业部编码,可选
// LOP 网关签名算法(与官方 SDK 一致):md5-salt(默认) / HMacMD5 / HMacSHA1 / HMacSHA256 / HMacSHA512
'algorithm' => $envJd('ALGORITHM', 'md5-salt'),
// 生产网关基址(不含路径)
'gateway' => $envJd('GATEWAY', 'https://api.jdl.com'),
// 接口 path(即签名里的 method);京东物流标准轨迹服务(2025-04-29 改版)
'method' => $envJd('METHOD', '/jd/tracking/query'),
// LOP-DN:对接方案编码(订阅记录可查),标准轨迹服务为 Tracking_JD
'lop_dn' => $envJd('LOP_DN', 'Tracking_JD'),
// 业务体字段:单号字段名 / 单号类型(20000=运单号) / 商家编码(可选)
'reference_field' => $envJd('REFERENCE_FIELD', 'referenceNumber'),
'reference_type' => $envJd('REFERENCE_TYPE', '20000'),
'customer_code' => $envJd('CUSTOMER_CODE', ''),
'api_version' => $envJd('API_VERSION', '2.0'),
],