YDP 管理后台对接文档
面向管理后台前端。C 端充值见 YDP 充值前端对接文档。
协议约定与现有后台相同:POST、管理员登录态、snake_case、枚举可传数字或字符串名。
YDP 接入复用现有「充值渠道管理」「提现银行管理」「提现列表/导出/自动下发」,没有单独一套 YDP 配置页。 需要做的是:下拉框补枚举、列表能展示/筛选 YDP、运营能启停和改限额。
种子数据默认全部禁用。没打开之前,C 端看不到 YDP 充值,提现列表也不会出现 YDP 导出项。
1. 新增枚举
| 用在 | 枚举 | 数字值 | 含义 |
|---|---|---|---|
充值渠道 pay_type |
PAY_TYPE_YDP |
20 | YDP 充值 |
提现银行渠道 channel_type |
TYPE_YDP |
5 | YDP 代付映射 |
提现导出/自动下发 pay_platform |
PAY_PLATFORM_YDP |
7 | YDP 打款 |
所有出现 Jaya / EasyPay 的下拉,都要加上 YDP。响应可能是数字或字符串名,两种都认。
const PAY_TYPE_YDP = 20;
const CHANNEL_TYPE_YDP = 5;
const PAY_PLATFORM_YDP = 7;
function isYdpPayType(v: string | number) {
return v === 20 || v === "PAY_TYPE_YDP";
}
function isYdpChannelType(v: string | number) {
return v === 5 || v === "TYPE_YDP";
}
function isYdpPayPlatform(v: string | number) {
return v === 7 || v === "PAY_PLATFORM_YDP";
}
2. 充值渠道
接口与现有充值渠道页相同,只是 pay_type 多了 20。
| 操作 | 接口 |
|---|---|
| 列表 | POST /v1/man/deposit/channel/list |
| 新增 | POST /v1/man/deposit/channel/create |
| 更新 | POST /v1/man/deposit/channel/update |
| 删除 | POST /v1/man/deposit/channel/delete |
筛 YDP:
{ "offset": 0, "limit": 50, "pay_type": 20 }
迁移已写入 3 条(is_disabled = true):
| name | display_name | params | min_amount | max_amount | sort |
|---|---|---|---|---|---|
ydp-qris |
YDP QRIS | {"payment":"ydidnqris"} |
10000 | 50000000 | 40 |
ydp-dana |
YDP DANA | {"payment":"ydidndana"} |
10000 | 50000000 | 39 |
ydp-va |
YDP VA | {"payment":"ydidnva"} |
10000 | 50000000 | 38 |
2.1 打开某条充值渠道
UpdateDepositChannel 把 is_disabled 改为 false。C 端列表立刻能看到;关掉则 C 端消失,且 ydp/create 会被服务端拒绝。
限额 min_amount / max_amount 单位是 IDR,0 表示不限。改限额后,C 端列表和下单都会按新限额拦截。
2.2 params(必填)
YDP 只用 payment,不要套 Jaya 的 method 或 Unispay 的 pay_type。
允许值(大小写不敏感,建议小写):
ydidnqrisydidndanaydidnva
{
"id": 123,
"name": "ydp-qris",
"display_name": "YDP QRIS",
"pay_type": 20,
"params": { "payment": "ydidnqris" },
"min_amount": 10000,
"max_amount": 50000000,
"sort": 40,
"is_disabled": false
}
display_name 是 C 端按钮文案。name 仅后台识别。
不要新增第四种 payment:服务端白名单只认上面三个,C 端下单会失败。三条渠道的 payment 也不要互相改乱(例如 QRIS 渠道改成 ydidndana)。
3. 提现银行映射
用户绑卡名单仍是 Jaya 主表,后台不需要给用户端加「YDP 银行」。要做的是:在已有银行上打开 YDP 渠道映射。
| 操作 | 接口 |
|---|---|
| 主表(含各渠道映射) | POST /v1/man/withdraw/bank/list |
| 渠道映射列表 | POST /v1/man/withdraw/bank/channel/list |
| 更新一条映射 | POST /v1/man/withdraw/bank/channel/update |
| 按银行整表设置 | POST /v1/man/withdraw/bank/channel/set |
筛 YDP 映射:
{ "offset": 0, "limit": 500, "channel_type": 5 }
WithdrawBankChannel 字段:
| 字段 | 说明 |
|---|---|
channel_type |
YDP = 5 |
code |
YDP 代付银行码(如 BCA=014,DANA=10002) |
bank_id |
主表银行 id;0 = 未映射,无法用来打款 |
is_disabled |
true 时该银行不能走 YDP |
min_amount / max_amount |
单笔 IDR;影响提现列表能否出现 YDP 导出项 |
迁移已 seed 约 112 条 YDP 映射,默认全禁用。与 Jaya 同名的银行一般已带 bank_id;YDP 独有、主表没有的银行 bank_id = 0,要先绑到主表再启用。
3.1 打开某银行的 YDP 代付
对目标映射 UpdateWithdrawBankChannel:
{
"id": 456,
"channel_type": 5,
"code": "014",
"bank_id": 2,
"is_disabled": false,
"min_amount": 10000,
"max_amount": 300000000
}
code 必须是 YDP 文档里的代付银行码,不要填 Jaya/EasyPay 的码。
主表银行 is_disabled 只影响用户能不能绑这个名字;YDP 能否打款看的是 YDP 渠道行 的 is_disabled 和 bank_id。
4. 提现列表 / 导出 / 自动下发
现有提现页即可,补上平台 7。
4.1 列表
POST /v1/man/withdrawal/list
每条提现的 export_types 会包含当前能走的平台。银行映射已启用、金额在 YDP 限额内时,会出现 7 / PAY_PLATFORM_YDP。
按钮展示建议:export_types 含 YDP 才显示「YDP 导出 / YDP 自动下发」。
也可用请求里的 export_type = 7 筛「可走 YDP 的单」。
4.2 批量导出
POST /v1/man/withdrawal/batch/export
{ "no": ["W1", "W2"], "type": 7 }
导出 Excel 列为 YDP 代付字段(merchant_order_id / amount / payment / method / to / bankcode 等),与 Jaya 表头不同,不要复用 Jaya 解析。
payment 列由服务端按卡类型填写(银行卡 ydidnqris,钱包 ydidndana),后台不用再配。
4.3 自动下发
POST /v1/man/auto/withdraw
{
"pay_platform": 7,
"audit_infos": [{ "id": 10001, "comment": "YDP" }]
}
id 是提现单 数字 id,不是单号。pay_platform 必须是 7。
成功后状态变为处理中;到账靠 YDP 回调或下面的刷新。
4.4 刷新状态
POST /v1/man/withdraw/refresh
{ "ids": [10001] }
对 YDP 处理中的单会去查 YDP,终态则更新为已到账或失败。
5. 后台 UI 改动清单
- 充值渠道:
pay_type下拉增加 YDP (20);params编辑支持payment。 - 提现银行渠道:
channel_type下拉增加 YDP (5);列表能按 5 筛选。 - 提现列表:
export_types/ 导出类型 / 自动下发平台增加 YDP (7)。 - 打开 YDP 前确认映射
bank_id > 0且code正确。 - 商户号、密钥、
base_url在服务端 yaml,不在后台页面配。没配时自动下发会失败,页面可提示「YDP 未开通」。
6. 不要做的事
- 不要给 C 端提现银行列表加 YDP 选项
- 不要把 Jaya 的
method写进 YDP 充值params - 不要在未启用映射时对单子点 YDP 自动下发
- 不要改
pay_type/channel_type的既有数字(Jaya 仍是 15 / 1)