## 场景说明
B扫C是“商户扫顾客”的付款方式。顾客在微信、支付宝等支付应用中出示付款码,收银员使用扫码枪、POS或其他收银设备读取付款码,商户后台随后向收钱吧发起扣款。
该场景适合线下收银台。商户系统负责创建订单、提交付款码、确认最终交易结果并完成出货或核销。
## 顾客支付流程
### 免密支付
```text
顾客出示付款码
→ 收银员扫码
→ 商户后台发起付款码支付
→ 支付渠道完成扣款
→ 商户后台确认最终成功
→ 收银系统提示收款成功并完成履约
```
支付金额和渠道风控条件允许时,顾客不需要再次输入密码。收银系统仍须以后端取得的最终交易结果为准。
### 有密支付
```text
顾客出示付款码
→ 收银员扫码
→ 商户后台发起付款码支付
→ 顾客在手机上完成密码、生物识别等验证
→ 商户后台查询原订单
→ 确认最终成功后完成履约
```
需要顾客验证时,首次支付响应通常不是最终结果。收银页面应提示顾客完成验证,并由商户后台持续查询原订单。
## 系统对接结构
```text
顾客支付应用
│ 展示付款码
▼
扫码枪或收银设备
│ 将付款码和商户订单提交给后台
▼
商户后台
│ 使用terminal_sn和terminal_key调用接口
▼
收钱吧
│ 连接支付渠道并返回交易状态
▼
微信、支付宝等支付渠道
```
扫码设备不应直接保存终端密钥或调用收钱吧接口。签名、支付、查询、回调和退款均应在商户服务端完成。
## 参与方职责
| 参与方 | 主要职责 |
| ---------------- | ------------------------------------------------------------ |
| 顾客 | 出示本人付款码,并在需要时完成支付验证 |
| 收银员与收银设备 | 录入订单、扫描付款码、展示等待或最终结果 |
| 商户后台 | 保证订单号唯一,调用支付、查询和退款接口,处理回调与幂等履约 |
| 收钱吧 | 受理支付请求,连接支付渠道并提供交易结果 |
| 支付渠道 | 完成顾客身份验证和资金处理 |
## 使用接口
- **[付款码支付接口](https://open.shouqianba.com/docs/payment/75?category_id=54)**
- **[查询接口](https://open.shouqianba.com/docs/payment/71?category_id=54)**
- **[回调接口](https://open.shouqianba.com/docs/payment/70?category_id=54)**
- **[退款接口](https://open.shouqianba.com/docs/payment/72?category_id=54)**
本页只说明业务用途。请求字段、响应字段和枚举值以对应API文档为准。