# BharatPay 印度接入说明

商户仍调用 AllOnePay 统一代收/代付接口，`channelCode` 使用 `bharatpay`。

## 代收

- 国家/币种：`IN` / `INR`
- `payTypeCode`：`upi`
- 返回参数中的支付地址按统一接口 `paymentUrl` 使用。

## 代付

| `payTypeCode` | `payeeType` | 必填字段 | 说明 |
| --- | --- | --- | --- |
| `bank` | `BANK`、`PERSONAL_BANK` 或 `BANK_CARD` | `payeeName`、`payeeAccount`、`ifsc` | `ifsc` 传印度 IFSC；不需要 `payeeBankCode` |
| `upi` | `UPI` | `payeeName`、`payeeAccount` | `payeeAccount` 传 UPI VPA，例如 `name@bank` |

金额继续按 AllOnePay 开放接口规范传“分”。BharatPay 上游订单号只会出现在统一响应/通知的上游流水字段中，不应作为商户订单号再次提交。

## 订单号与通知

- 商户 `merchantOrderNo` 仍是商户幂等单号；AllOnePay 平台单号与 BharatPay 上游 `id` 由平台分别保存。
- BharatPay 回调中的 `merchantSourceNo/sourceNo` 对应 AllOnePay 提交单号，`id` 对应 BharatPay 上游单号；平台会校验两者、金额及渠道账户绑定关系。
- 商户接收的 AllOnePay 通知及主动查询仍以统一开放接口字段为准，不直接解析 BharatPay 原始回调。
