商户入驻状态回调通知接口文档
1. 接口说明
该接口用于在商户入驻状态变更时(邀请授权状态、产品开票能力状态),向服务商发起异步回调通知。
| 项目 |
说明 |
| 接口地址 |
由商户配置的 notify_url 决定 |
| 请求方式 |
POST |
| Content-Type |
application/json |
| 编码格式 |
UTF-8 |
2. 通知触发条件
- 商户已配置有效的回调地址(
notify_url)
- 商户产品开票能力状态发生变化
3. 通知类型说明
| notifyType |
说明 |
PRODUCT |
产品开票能力状态变更通知 |
4. 产品开票能力状态通知(notifyType = PRODUCT)
4.1 请求参数
| 字段名 |
类型 |
必填 |
说明 |
eventType |
String |
是 |
事件类型,详见 产品事件类型 |
merchantId |
String |
是 |
系统内商户号 |
partnerId |
String |
是 |
服务商编号 |
channel |
String |
是 |
渠道类型:WECHAT / ALIPAY |
productAbility |
String |
是 |
开票能力编码,详见 开票能力编码 |
accessStatus |
String |
是 |
产品接入状态码,详见 产品接入状态 |
accessStatusDesc |
String |
是 |
产品接入状态描述 |
authStatus |
String |
是 |
授权状态码,详见 授权状态 |
authStatusDesc |
String |
是 |
授权状态描述 |
failReason |
String |
否 |
失败原因 |
notifyTime |
String |
是 |
通知时间(格式:yyyy-MM-ddTHH:mm:ss) |
4.2 产品事件类型
| eventType |
说明 |
PRODUCT_AUTHORIZED |
产品授权成功(可开票) |
PRODUCT_AUTH_FAILED |
产品授权失败 |
PRODUCT_DISABLED |
产品被禁用/解除/过期 |
PRODUCT_STATUS_CHANGED |
产品状态变更(中间态) |
4.3 开票能力编码
| productAbility |
说明 |
BASIC |
基础开票能力 |
REAL_ESTATE_LEASE |
不动产经营租赁发票 |
REFINED_OIL |
成品油发票 |
4.4 产品接入状态
| accessStatus |
说明 |
APPROVAL_PENDING |
请等待当地税务机关审批 |
ACCESS_CONFIRMED_PENDING |
请商户法定代表人/财务负责人登陆电子税局或者国家税务总局乐企数字开放平台进行确认 |
ABILITY_CONFIRMED_PENDING |
请商户法定代表人/财务负责人登录电子税局进行能力授权确认 |
BILLING_PERSON_REGISTER_PENDING |
请商户法定代表人/财务负责人登陆电子税局进行开票员设置 |
BILLING_PERSON_CONFIRMED_PENDING |
请开票员登陆电子税局-乐企进行授权 |
SECURITY_SETTING_PENDING |
请商户法定代表人/财务负责人登陆电子税局进行设置开票安全验证有效期 |
APPLY_FAILED |
税局申请不通过,请查看接入失败原因 |
DISABLED |
未接入或商户解除授权,请重新发起能力邀请商户确认授权 |
ENABLED |
商户数电开票能力,税局接入完成 |
RESOURCE_EXPIRED |
商户使用的数电服务商资源过期,请联系数电服务商 |
4.5 授权状态
| authStatus |
说明 |
AUTHORIZED |
数电开通能力已授权 |
NEED_AUTH |
需要财务负责人或者法定代表人,登录电子税局系统,进行开票能力授权 |
DISCONNECTED |
商户已经解除与联用平台在税局系统的关联关系 |
DEAUTHORIZED |
商户已取消支付宝应用授权 |
AUTH_FAILED |
能力授权失败 |
4.6 请求示例
4.6.1 PRODUCT_AUTHORIZED(产品授权成功)
{
"eventType": "PRODUCT_AUTHORIZED",
"merchantId": "M202406220001",
"partnerId": "P100001",
"channel": "WECHAT",
"productAbility": "BASIC",
"accessStatus": "ENABLED",
"accessStatusDesc": "商户数电开票能力,税局接入完成",
"authStatus": "AUTHORIZED",
"authStatusDesc": "数电开通能力已授权",
"failReason": null,
"notifyTime": "2024-06-22T14:30:00"
}
4.6.2 PRODUCT_AUTH_FAILED(产品授权失败)
{
"eventType": "PRODUCT_AUTH_FAILED",
"merchantId": "M202406220001",
"partnerId": "P100001",
"channel": "ALIPAY",
"productAbility": "BASIC",
"accessStatus": "APPLY_FAILED",
"accessStatusDesc": "税局申请不通过,请查看接入失败原因",
"authStatus": "AUTH_FAILED",
"authStatusDesc": "能力授权失败",
"failReason": "税务机关审批未通过,请核实商户信息",
"notifyTime": "2024-06-22T14:30:00"
}
4.6.3 PRODUCT_DISABLED(产品被禁用)
{
"eventType": "PRODUCT_DISABLED",
"merchantId": "M202406220001",
"partnerId": "P100001",
"channel": "ALIPAY",
"productAbility": "BASIC",
"accessStatus": "DISABLED",
"accessStatusDesc": "未接入或商户解除授权,请重新发起能力邀请商户确认授权",
"authStatus": "DEAUTHORIZED",
"authStatusDesc": "商户已取消支付宝应用授权",
"failReason": null,
"notifyTime": "2024-06-22T14:30:00"
}
4.6.4 PRODUCT_STATUS_CHANGED(产品状态变更-中间态)
{
"eventType": "PRODUCT_STATUS_CHANGED",
"merchantId": "M202406220001",
"partnerId": "P100001",
"channel": "WECHAT",
"productAbility": "BASIC",
"accessStatus": "APPROVAL_PENDING",
"accessStatusDesc": "请等待当地税务机关审批",
"authStatus": "NEED_AUTH",
"authStatusDesc": "需要财务负责人或者法定代表人,登录电子税局系统,进行开票能力授权",
"failReason": null,
"notifyTime": "2024-06-22T14:30:00"
}
5. 响应要求
接收方收到通知后,应在 5秒内 返回 HTTP 响应,响应内容为字符串 success(不区分大小写):
| 条件 |
要求 |
| 接收成功 |
返回 HTTP 200 状态码,响应体为 success |
| 接收失败 |
返回非 200 状态码、响应体不为 success 或超时,系统将自动重试 |
6. 重试机制
7. 事件类型与状态对应关系
7.1 邀请状态事件
| eventType |
inviteStatus |
说明 |
INVITE_ACCEPTED |
ACCEPTED |
邀请授权成功 |
INVITE_FAILED |
FAILED |
邀请授权失败 |
7.2 产品状态事件
| eventType |
accessStatus |
authStatus |
说明 |
PRODUCT_AUTHORIZED |
ENABLED |
AUTHORIZED |
产品授权成功,可开票 |
PRODUCT_AUTH_FAILED |
APPLY_FAILED |
任意 |
产品接入失败 |
PRODUCT_AUTH_FAILED |
任意 |
AUTH_FAILED |
产品授权失败 |
PRODUCT_DISABLED |
DISABLED |
任意 |
产品被禁用 |
PRODUCT_DISABLED |
RESOURCE_EXPIRED |
任意 |
产品资源过期 |
PRODUCT_DISABLED |
任意 |
DEAUTHORIZED |
商户取消授权 |
PRODUCT_DISABLED |
任意 |
DISCONNECTED |
商户解除关联 |
PRODUCT_STATUS_CHANGED |
其他 |
其他 |
中间状态变更 |
8. 通知触发场景
| 触发场景 |
说明 |
| 微信产品状态同步(定时任务) |
轮询微信接口获取产品状态 |
| 支付宝产品状态同步(定时任务) |
轮询支付宝接口获取产品状态 |
支付宝产品状态回调(merchantproduct.notify) |
支付宝主动推送产品状态变更 |
支付宝产品激活状态更新(updateAlipayProductActivationStatus) |
支付宝产品激活流程结果回调 |
9. 去重说明
- 产品状态通知:仅在状态发生变化时发送,避免重复通知