Skip to content

汇丰业务线基本常识

开发人员需要懂的银行业务基础


为什么要了解业务?

作为一个从互联网转入银行的Java/React开发者,你会发现:

  • 业务复杂度更高:金融业务逻辑复杂,规则繁多
  • 术语满天飞:同事聊天全是缩写,不懂会很困惑
  • 合规要求严格:每个业务都有监管要求

这篇文档帮你快速建立银行业务的基础认知。


汇丰业务架构一览

汇丰银行 (HSBC)
├── 零售银行及财富管理 (RBWM)
│   ├── 个人存款
│   ├── 个人贷款
│   ├── 信用卡
│   └── 财富管理
├── 工商金融业务 (CMB)
│   ├── 企业贷款
│   ├── 现金管理
│   └── 贸易金融
├── 环球银行及资本市场 (GB&M)
│   ├── 投资银行
│   ├── 金融市场
│   └── 资产管理
└── 其他业务
    ├── 保险
    └── 私人银行

一、零售银行(个人业务)

1.1 账户体系

账户类型说明特点
活期账户随时存取利率低,无期限
定期账户固定期限存款利率较高,提前支取有罚息
储蓄账户存款为主只能存钱、消费受限

开发要点:

  • 账户状态:正常、冻结、注销
  • 账户余额:可用余额 vs 账面余额
  • 利息计算:按日计息、按季结息

1.2 交易类型

交易类型说明示例
存款钱存入账户现金存入、转账汇入
取款钱取出账户现金取出、转账汇出
转账账户间资金转移行内转账、跨行汇款
消费商户pos/网上消费购物、缴费
还款信用卡还款自动还款、主动还款

开发要点:

  • 交易状态:pending(处理中)/success(成功)/failed(失败)
  • 交易限额:单笔限额、日累计限额
  • 交易时间:工作日 vs 非工作日、大额和小额通道

1.3 信用卡

核心概念:

术语含义
信用额度银行给你的最高可透支额度
可用额度当前可用的额度 = 信用额度 - 已用额度
账单日每月生成账单的日子
还款日必须还款的最后日期
免息期消费后到还款日的时间(通常50天左右)
最低还款额必须还的最低金额
分期将欠款分成多期还

开发要点:

  • 积分计算规则
  • 手续费(取现手续费、分期手续费)
  • 欺诈检测(异常消费模式)

二、财富管理

2.1 产品类型

产品风险等级说明
存款保本保息
理财产品中低不保本,收益浮动
基金中-高证券投资基金
保险低-中保障+投资
债券固定收益证券
股票高风险高收益

2.2 KYC(了解你的客户)

这是银行最核心的合规要求之一:

java
// KYC 信息
CustomerKYC.builder()
    .customerId("C123456")
    .name("张三")
    .idCard("310***********1234")  // 身份证
    .nationality("中国")
    .riskLevel("MEDIUM")           // 风险等级
    .kycStatus("APPROVED")         // KYC状态
    .kycDate(LocalDateTime.now())
    .build();

开发要点:

  • 客户风险评级:高/中/低
  • 产品适配:只能卖给风险等级匹配的客户
  • 销售双录:录音录像留痕

三、对公业务(企业银行)

3.1 企业账户

与个人账户的区别:

维度个人账户企业账户
开户材料身份证营业执照等
操作人员本人多个授权人
监管要求相对简单反洗钱更严格
交易金额通常较小金额大

3.2 现金管理

银行帮助企业管理现金:

  • 收款:代收、扫码收款
  • 付款:代发工资、对外付款
  • 资金归集:子公司资金自动归集到母公司
  • 现金池:多个账户统一调度

3.3 贸易金融

产品说明
信用证银行信用担保的支付工具
保函银行担保履行某义务
票据银行承兑汇票、商业承兑汇票
福费廷出口信用证融资

四、支付清算

4.1 支付系统

中国主要支付系统:

系统简称特点
大额实时支付系统HVPS实时到账,限额无限
小额批量支付系统BEPS批量处理,7×24小时
网上支付跨行清算系统IBPS互联网支付
同城清算系统-同城结算

4.2 清算流程

A银行转账100元给B银行

1. A银行扣减A账户100元
2. A银行发送清算指令给央行
3. 央行清算所处理
4. B银行增加B账户100元
5. 通知B账户收款

开发要点:

  • 清算状态:清算中、已清算、失败
  • 对账:每日与央行/清算所对账
  • 差错处理:长款、短款处理

五、风险控制

5.1 核心风险类型

风险类型说明
信用风险借款人违约不还钱
市场风险市场波动造成损失
操作风险内部流程/系统出问题
合规风险违反监管规定
欺诈风险被骗、被盗用身份

5.2 反欺诈

常见欺诈类型:

java
// 欺诈检测规则示例
public class FraudDetectionRule {

    // 规则1:短时间内多笔大额转出
    public boolean isSuspiciousPattern1(List<Transaction> transactions) {
        BigDecimal total = transactions.stream()
            .filter(t -> t.getAmount().compareTo(new BigDecimal("10000")) > 0)
            .filter(t -> t.getTime().isAfter(LocalDateTime.now().minusHours(1)))
            .map(Transaction::getAmount)
            .reduce(BigDecimal.ZERO, BigDecimal::add);

        return total.compareTo(new BigDecimal("50000")) > 0;
    }

    // 规则2:非常住城市登录
    public boolean isSuspiciousPattern2(String loginCity, String residentCity) {
        return !loginCity.equals(residentCity);
    }

    // 规则3:新设备登录即转账
    public boolean isSuspiciousPattern3(boolean newDevice, BigDecimal amount) {
        return newDevice && amount.compareTo(new BigDecimal("5000")) > 0;
    }
}

5.3 反洗钱 (AML)

核心要求:

  • 客户身份识别:实名制
  • 交易监控:大额交易、可疑交易报告
  • 名单筛查:制裁名单、恐怖分子名单
java
// 名单筛查
public class SanctionsScreening {

    public boolean isSanctioned(String name, String country) {
        // 检查是否在制裁名单中
        return sanctionsList.contains(name)
            || sanctionsList.contains(country);
    }
}

六、核心账务概念

6.1 记账规则

复式记账法:

有借必有贷,借贷必相等

例子:客户存款1000元

资产(+1000)  负债(+1000)
借:库存现金   贷:客户存款

6.2 账户余额

余额类型说明
账面余额理论上的余额
可用余额可以使用的余额(考虑冻结金额)
冻结金额被冻结不可用的金额
java
// 可用余额计算
public BigDecimal calculateAvailableBalance(Account account) {
    return account.getBalance()
        .subtract(account.getFrozenAmount())
        .subtract(account.getPendingAmount());
}

6.3 利息计算

java
// 简单利息计算
public BigDecimal calculateInterest(BigDecimal principal,
                                    BigDecimal rate,
                                    int days) {
    // 日利息 = 本金 × 年利率 ÷ 360 × 天数
    return principal.multiply(rate)
        .divide(new BigDecimal("360"))
        .multiply(new BigDecimal(days));
}

七、常见业务术语速查

7.1 交易相关

术语全称含义
T+0T+0当日结算
T+1T+1次日结算
T+2T+2两个工作日后
RTGSReal-Time Gross Settlement实时全额清算
ACHAutomated Clearing House自动清算中心

7.2 卡组织

组织说明
银联中国银行卡联合组织
VISA国际卡组织
MasterCard国际卡组织
AMEX美国运通

7.3 外汇相关

术语含义
即期汇率立即交割的汇率
远期汇率未来交割的汇率
结汇把外币换成人民币
售汇买外汇
跨境汇款国际汇款(SWIFT)

八、开发中的常见业务问题

8.1 幂等性

金融交易必须保证幂等:

java
// 订单支付幂等处理
@Transaction
public PaymentResult processPayment(PaymentRequest request) {
    // 1. 检查是否已处理(通过唯一请求ID)
    if (paymentRepository.existsByRequestId(request.getRequestId())) {
        return paymentRepository.findByRequestId(request.getRequestId())
            .map(PaymentResult::from)
            .orElseThrow();
    }

    // 2. 执行支付
    Payment payment = doPayment(request);

    // 3. 保存结果(使用唯一索引防重)
    paymentRepository.save(payment);

    return PaymentResult.success(payment);
}

8.2 并发控制

账户操作必须考虑并发:

java
// 扣款时的并发控制
@Lock(LockModeType.PESSIMISTIC_WRITE)
@Query("SELECT a FROM Account a WHERE a.id = :id")
Optional<Account> findByIdForUpdate(String id);

public void deduct(Account account, BigDecimal amount) {
    // 先锁定账户再扣款,防止超付
    Account lockedAccount = accountRepository.findByIdForUpdate(account.getId())
        .orElseThrow();

    if (lockedAccount.getAvailableBalance().compareTo(amount) < 0) {
        throw new InsufficientFundsException();
    }

    lockedAccount.setBalance(lockedAccount.getBalance().subtract(amount));
    accountRepository.save(lockedAccount);
}

8.3 对账

日终对账流程:

1. 银行与央行对账(清算数据)
2. 银行与银联对账(卡交易)
3. 核心系统与各业务系统对账
4. 账务与会计系统对账

业务线详细文档

想深入了解某个业务线的技术细节?请查看:


九、总结

作为汇丰的开发人员,你需要理解:

  1. 业务是核心:技术服务于业务,要主动了解业务
  2. 合规是底线:任何业务都有合规要求
  3. 风险意识:每一行代码都要考虑风险
  4. 术语积累:银行业术语很多,多听多问

建议:入职后多和BA、业务同事聊天,不懂就问,这 是最快了解业务的方式


持续补充中...如果你有新的业务问题或发现,欢迎添加!

> 学而时习之,不亦说乎?