diff --git a/addons/shopro_huifu/library/onboard/HuifuOnboardBusiOpen.php b/addons/shopro_huifu/library/onboard/HuifuOnboardBusiOpen.php index adc37a1..e57648f 100644 --- a/addons/shopro_huifu/library/onboard/HuifuOnboardBusiOpen.php +++ b/addons/shopro_huifu/library/onboard/HuifuOnboardBusiOpen.php @@ -90,12 +90,19 @@ class HuifuOnboardBusiOpen // 汇付 card_type:0=对公,1=对私法人,2=对私非法人 $bankAccountType = (string) ($form['bank_account_type'] ?? '0'); $cardType = $bankAccountType === '1' ? '0' : '1'; + $accountType = $form['account_type'] ?? 'indv'; + $cardName = $form['card_name'] ?? ''; + if ($accountType === 'indv') { + $cardName = $form['name'] ?? $cardName; + } elseif ($bankAccountType === '0') { + $cardName = $form['legal_name'] ?? $cardName; + } $cardInfo = [ 'card_type' => $cardType, - 'card_name' => $form['card_name'], + 'card_name' => $cardName, 'card_no' => $form['card_no'], diff --git a/addons/shopro_huifu/library/onboard/HuifuOnboardError.php b/addons/shopro_huifu/library/onboard/HuifuOnboardError.php index a97b474..6d92373 100644 --- a/addons/shopro_huifu/library/onboard/HuifuOnboardError.php +++ b/addons/shopro_huifu/library/onboard/HuifuOnboardError.php @@ -32,6 +32,12 @@ class HuifuOnboardError if (strpos($msg, '图片') !== false || strpos($lower, 'picture') !== false || strpos($lower, 'file_id') !== false) { return '证件或银行卡图片上传失败,请重新上传 jpg/png 清晰照片'; } + if (strpos($msg, '持卡人姓名') !== false || strpos($msg, '法人姓名') !== false) { + return '银行卡户名须与身份证姓名完全一致(个人进件 name 与 card_name 相同)'; + } + if (strpos($msg, 'cardType') !== false || strpos($msg, '对私结算') !== false) { + return '个人进件仅支持对私银行卡,请确认结算账户类型为对私'; + } if (preg_match('/基础参数校验失败[::](.+?)(?:,resp_code|$)/u', $msg, $m)) { return '资料校验未通过:' . trim($m[1]); diff --git a/addons/shopro_huifu/library/onboard/HuifuOnboardValidator.php b/addons/shopro_huifu/library/onboard/HuifuOnboardValidator.php index e0d3f85..646c446 100644 --- a/addons/shopro_huifu/library/onboard/HuifuOnboardValidator.php +++ b/addons/shopro_huifu/library/onboard/HuifuOnboardValidator.php @@ -206,13 +206,15 @@ class HuifuOnboardValidator } if ($data['account_type'] === 'indv') { - $data['card_name'] = trim($data['card_name'] ?: $data['name']); + // 汇付对私法人:card_name 必须与个人开户姓名 name 完全一致 + $data['card_name'] = $data['name']; $data['mp'] = trim($data['mp'] ?? $data['mobile_no']); } else { if ($data['bank_account_type'] === '1') { $data['card_name'] = trim($data['card_name'] ?: $data['reg_name']); } else { - $data['card_name'] = trim($data['card_name'] ?: $data['legal_name']); + // 企业/个体户对私结算:card_name 必须与法人姓名一致 + $data['card_name'] = $data['legal_name']; $data['cert_no'] = $data['legal_cert_no']; $data['cert_validity_type'] = $data['legal_cert_validity_type']; $data['cert_begin_date'] = $data['legal_cert_begin_date'];