feat(shopro_huifu): 增加分账确认接口的确认基础金额参数支持

新增可选的确认基础金额参数,用于控制分账确认时的总金额计算,
同时添加了相应的日志记录功能,便于调试和监控分账流程。
```
这个提交包含在:
可乐加冰
2026-10-05 10:39:14 +08:00
父节点 4094ff5cf7
当前提交 c4df5ae710

查看文件

@@ -97,7 +97,7 @@ class HuifuSplitService
]);
}
$confirmResult = $this->confirm($ext, $acctInfos, $outOrderNo);
$confirmResult = $this->confirm($ext, $acctInfos, $outOrderNo, $confirmBase);
$splitOrder->status = 2;
$splitOrder->confirm_hf_seq_id = $confirmResult['hf_seq_id'] ?? ($confirmResult['confirm_hf_seq_id'] ?? '');
$splitOrder->hf_req_seq_id = $outOrderNo;
@@ -136,7 +136,7 @@ class HuifuSplitService
return $this->executeByOrderId($orderId);
}
protected function confirm($ext, array $acctInfos, $confirmReqSeqId)
protected function confirm($ext, array $acctInfos, $confirmReqSeqId, $confirmBase = null)
{
SdkLoader::requireRequest('V2TradePaymentDelaytransConfirmRequest.php');
$request = new \BsPaySdk\request\V2TradePaymentDelaytransConfirmRequest();
@@ -144,7 +144,16 @@ class HuifuSplitService
$request->setReqSeqId($confirmReqSeqId);
$request->setHuifuId($this->config->get('huifu_id'));
$acctSplitBunch = json_encode(['acct_infos' => $acctInfos], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
$confirmBase = $confirmBase !== null
? number_format((float) $confirmBase, 2, '.', '')
: null;
$bunch = ['acct_infos' => $acctInfos];
if ($confirmBase !== null && bccomp($confirmBase, '0.00', 2) > 0) {
// 本次交易确认总额(待确认全额);acct_infos 为向外分出的部分,其余留主商户
$bunch['total_div_amt'] = $confirmBase;
}
$acctSplitBunch = json_encode($bunch, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
\think\Log::info('[shopro_huifu] delaytrans confirm acct_split_bunch=' . $acctSplitBunch);
$request->setExtendInfo([
'org_req_date' => $ext['req_date'],
'org_req_seq_id' => $ext['req_seq_id'],