文件
xionggeshop/addons/shopro_huifu/library/onboard/HuifuOnboardError.php
可乐加冰 f2bca20a22 ```
feat(shopro_huifu): 完善汇付 onboard 流程中的银行卡信息处理

- 根据账户类型和银行账户类型动态设置持卡人姓名(card_name)
- 个人账户时 card_name 与 name 保持一致
- 企业/个体户对私结算时 card_name 与 legal_name 保持一致
- 优化错误信息提示,针对持卡人姓名和银行卡类型错误提供明确指引
- 修复个人进件银行卡户名校验不一致的问题
```
2026-09-29 15:23:17 +08:00

54 行
2.3 KiB
PHP

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

<?php
namespace addons\shopro_huifu\library\onboard;
class HuifuOnboardError
{
/**
* 将汇付/系统异常转为用户可读提示(去掉 resp_code 等技术字段)
*/
public static function translate($message)
{
$msg = trim((string) $message);
if ($msg === '') {
return '进件提交失败,请稍后重试';
}
$lower = strtolower($msg);
if (strpos($msg, 'certEndDate') !== false
|| strpos($msg, '证件有效期') !== false
|| strpos($msg, '到期日') !== false) {
return '身份证/证件有效期须晚于今天;长期有效请选择 2099-12-31';
}
if (strpos($msg, 'certBeginDate') !== false || strpos($msg, '开始日期') !== false) {
return '证件开始日期填写有误,请与身份证一致';
}
if (strpos($msg, 'branch') !== false || strpos($msg, '联行') !== false) {
return '开户银行支行信息有误,请重新搜索选择支行';
}
if (strpos($msg, 'branch_code') !== false) {
return '请选择正确的开户银行支行';
}
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]);
}
$msg = preg_replace('/,resp_code=[^,]+/u', '', $msg);
$msg = preg_replace('/,trans_stat=[^,]+/u', '', $msg);
$msg = str_replace('汇付业务失败,', '', $msg);
$msg = str_replace('汇付 SDK 请求异常:', '', $msg);
return $msg !== '' ? $msg : '进件提交失败,请检查资料后重试';
}
}