数据字典与枚举说明
下列取值与
subscription-pay-common中枚举及常量命名一致;若接口data中多出设计文档约定外的取值,以实际返回与联调为准。
1.1 订阅状态 status
用于 订阅查询响应、异步通知 中与订阅相关的 status / subscriptionStatus 字段。
| 取值 | 说明 |
|---|---|
PENDING_ACTIVATE |
待激活(签约流程中或待首期确认等,以实现为准) |
ACTIVE |
生效中 |
SUSPENDED |
已暂停(如渠道处理中、扣款失败重试中、本期失败待处理等场景) |
CANCELLED |
已取消(用户主动取消等) |
FAILED |
订阅失败(如签约首期支付失败、鉴权失败等;与主动取消区分) |
EXPIRED |
已过期 |
1.2 扣款单状态 status
用于 扣款查询响应、异步通知 中扣款相关 status 字段。
| 取值 | 说明 |
|---|---|
PENDING |
待处理 |
PROCESSING |
处理中 |
CHANNEL_PENDING |
渠道处理中(需异步查询结案,不占当期失败重试次数语义,详见设计文档) |
SUCCESS |
成功 |
FAILED |
失败 |
CANCELLED |
已取消 |
1.3 周期类型 cycleType
用于 订阅查询 等返回的 cycleType。除下列枚举外,产品若配置 自然月固定日 等,可能出现 MONTH_FIXED_DAY 等扩展取值,以 data 实际返回 为准。
| 取值 | 说明 |
|---|---|
DAY |
按日 |
WEEK |
按周 |
MONTH |
按月(与「固定日」模式语义不同,见设计文档周期章节) |
QUARTER |
按季 |
HALF_YEAR |
半年 |
YEAR |
按年 |
MONTH_FIXED_DAY |
自然月固定日(若产品启用;需配合 fixedDay 等字段,以实现为准) |
1.4 异步通知 notifyType(大类)
通知 Body 必填,仅表示大类(与内部 NotifyBusinessTypeConstants 一致);具体场景由 Body 内 status 等字段表达。
notifyType |
说明 |
|---|---|
SUBSCRIPTION |
订阅生命周期类(签约结果、取消、失败等,见 status) |
PAYMENT |
支付/扣款类(周期扣款成功、本期失败终态等,见扣款单 status 与 failCode/failMessage) |
REFUND |
退款类(预留,当前 Phase 可能不下发) |
1.5 扣款路径 paymentMethod
签约请求 deductionPayRoute[].paymentMethod 与扣款单落库编码一致。
| 取值 | 说明 |
|---|---|
PROTOCOL_CARD |
协议支付(银行卡代扣等) |
ACCOUNT_BALANCE |
账户余额(预留,视渠道开通情况) |
DEFAULT |
兼容/默认档 |
1.6 营销定价类型 appliedPricingType
查询订阅、订阅类通知 中可能出现的 appliedPricingType。
| 取值 | 说明 |
|---|---|
FREE_TRIAL |
免费试用 |
FIRST_PERIOD_DISCOUNT |
首期优惠 |
TIERED_DISCOUNT |
阶梯折扣 |
FIXED_DISCOUNT |
固定折扣率 |
NO_DISCOUNT |
无优惠,直接使用产品原价 |
MERCHANT_SPECIFIED |
商户指定每期扣款金额(specifiedAmount / base_amount,不经营销算价) |
1.7 网关签名类型与通知加密类型
请求网关:Header Baofu-Sign-Type(sign_type)与商户/宝付证书约定一致,常见如 RSA、SM2(大小写不敏感以网关为准)。
通知中台 encryptType(与 sign_type 映射,供联调查阅):RSA → 45,SM2 → 46;数字字符串也可直接作为整型配置。商户接收异步通知时,算法类型见 Header Baofu-Signature-Type,验签按 §2.3 待签串规则;无需直接使用该整型。
1.8 主要字段含义(数据字典简表)
| 字段/前缀 | 适用场景 | 含义 |
|---|---|---|
subscriptionNo |
全局 | 系统订阅号(内部主键语义) |
deductionNo |
扣款 | 扣款单号 |
outTradeNo |
订阅 / 扣款通知 | 商户签约订单号(幂等键之一);扣款通知中与订阅同源 |
unifiedMemberNo |
全局 | 统一会员编号(与网关 Baofu-Mch-ID 对应) |
merchantNo |
查询类响应等 | 商户号(可空;通知 Body 不下发) |
productCode |
订阅 | 内部产品编码 |
userId |
订阅 | 用户标识 |
periodNumber |
扣款 | 当前账单期数 |
scheduledPeriodDate |
扣款 | 本期计划扣款日(自然日) |
originalAmount / actualAmount |
扣款 | 原始应扣金额 / 实际扣款金额(分,字符串形式与实现一致) |
baseAmount |
订阅查询响应、异步通知(订阅类) | 每期扣款基准金额(分),对应库表 t_subscription.base_amount;由产品配置或营销算价决定 |
specifiedAmount |
变更 POST /v1/subscription/change 请求 Body |
商户指定每期扣款金额(分,正整数);仅变更请求使用;传入后不走营销策略,落库为 base_amount,且 appliedPricingType 为 MERCHANT_SPECIFIED;响应与查询中读 baseAmount,不再回显 specifiedAmount 字段名 |
channelOrderNo |
扣款 | 渠道侧订单号 |
failCode / failMessage |
扣款类通知 | 与 t_deduction_order 一致;成功终态时通常为空串 |
notifyUrl |
签约请求 | 异步通知 HTTPS 地址 |
riskItem |
签约请求 | 风控扩展 JSON 字符串 |
金额字段在 JSON 中可能以 字符串 形式返回,解析时按 整数分 处理。