支付下单中 seller_id 与 sys_service_provider_id 参数含义
结论
seller_id 和 sys_service_provider_id 分别对应不同的主体:
seller_id:本笔交易的卖家,也就是实际收款商户的支付宝用户 ID。sys_service_provider_id:为商户提供系统、技术接入或运营服务的系统服务商 PID。该参数用于识别服务商和关联返佣数据,不是收款账号。
文档中的“商户签约账号”,指在当前调用场景中,已经与支付宝签署相应支付产品协议,并具备接口使用权限的商户支付宝账号。该账号对应的支付宝用户 ID,通常称为 PID。
未传入 seller_id 时,支付宝会根据当前的签约和授权关系确定默认卖家:
- 商户自行接入时,默认卖家通常是应用所属且已签约支付产品的商户账号。
- 服务商代商户调用时,默认卖家通常是
app_auth_token对应的授权商户账号。具体规则仍取决于产品的签约模式和接口要求。
PID 是什么
PID 通常是支付宝为账号主体分配的合作伙伴身份标识,也常被称为支付宝用户 ID。常见格式是一串以 2088 开头的数字。
PID 与以下参数不是一回事:
app_id:开放平台应用的标识。- 支付宝登录账号:例如手机号或邮箱。
- 商户订单号
out_trade_no。 - 支付宝交易号
trade_no。
一个商户可以创建或关联多个应用,因此 app_id 和商户 PID 属于不同层级。前者标识应用,后者标识支付宝账号主体。
seller_id 表示什么
seller_id 用于指定本笔交易的卖家,也就是资金收款方对应的支付宝用户 ID。
例如,服务商使用自己的应用为商户 A 发起支付,但交易款项由商户 A 收取,此时 seller_id 应填写商户 A 的支付宝用户 ID,而不是服务商的 PID。
{
"out_trade_no": "ORDER_202609090001",
"total_amount": "100.00",
"subject": "商品订单",
"seller_id": "2088XXXXXXXXXXXX"
}
只有接口和签约模式允许指定卖家时,通常才需要显式传入该参数。留空后,支付宝会根据当前调用、签约和授权关系选择默认卖家。
填写任意商户的 seller_id 并不能直接把款项收至该商户。目标卖家还需要满足产品签约、应用授权、商户绑定和接口权限等要求,否则可能遇到无权限、商户关系不匹配或参数校验失败等问题。
sys_service_provider_id 表示什么
sys_service_provider_id 用于标识系统服务商,应填写该服务商签署相关合作协议时所用支付宝账号的 PID。
示例:
{
"out_trade_no": "ORDER_202609090001",
"total_amount": "100.00",
"subject": "商品订单",
"seller_id": "2088SELLERXXXXXX",
"sys_service_provider_id": "2088PROVIDERXXXX"
}
其中:
seller_id对应实际收款商户。sys_service_provider_id对应提供支付系统或技术服务的服务商。
支付宝通过 sys_service_provider_id 识别交易来自哪个系统服务商。符合条件时,该参数也可作为返佣统计、结算或服务商数据归属的依据。填写它不会将交易款项改为支付给服务商,也不表示服务商就是卖家。
两者之间的关系
二者分别表示“交易卖家”和“技术服务商”,不是同一个字段的两种写法。
假设一笔交易中有三个参与方:
- 消费者:支付订单。
- 商户 A:销售商品并收款。
- 服务商 B:为商户 A 提供收银系统,并代其接入支付宝。
各参数通常对应如下:
| 参数 | 对应主体 | 主要作用 |
|---|---|---|
seller_id | 商户 A | 确定交易卖家或收款主体 |
sys_service_provider_id | 服务商 B | 标识服务商,用于服务商业务归属及返佣数据 |
app_id | 服务商或商户创建的应用 | 标识发起接口调用的开放平台应用 |
app_auth_token | 商户 A 对应用的授权 | 表明服务商应用正在代授权商户调用接口 |
如果商户自行开发并调用接口,没有系统服务商参与,通常不需要填写 sys_service_provider_id。
在某些业务中,同一个支付宝主体可能既是卖家,也是系统服务商,因此两个字段理论上可以出现相同的 PID,但这并不表示它们含义相同。是否允许这样填写,需要以实际签约协议和支付宝侧配置为准。
如何确认应该填写哪个 PID
可以依次核对以下信息:
- 确认实际销售和收款主体,其支付宝用户 ID 用于填写
seller_id。 - 确认接口由商户直连调用,还是由服务商代商户调用。
- 如果由服务商代调用,检查是否传入了有效的
app_auth_token,并确认该令牌对应哪个授权商户。 - 确认是否签署了系统服务商相关协议。存在相应签约关系时,才填写
sys_service_provider_id。 - 在支付宝开放平台或商家平台的账号信息、签约信息中核对 PID,不要误填
app_id、登录手机号或邮箱。 - 如果账号下有多个主体、代运营关系或特殊收款模式,应根据所签约的产品向支付宝技术支持确认默认卖家的识别规则。
注意事项
seller_id不是服务商应用的app_id。sys_service_provider_id不是收款账号,不能代替seller_id。- 不传
seller_id并不表示没有卖家。支付宝会根据当前的签约、应用和授权关系确定默认卖家。 - 服务商代调用时,不要直接把服务商自己的 PID 填入
seller_id,否则可能造成收款主体错误或接口报错。 sys_service_provider_id应填写签署系统服务商协议的主体 PID。普通商户 PID 即使格式正确,没有相应签约关系也不一定有效。- 合并支付可能涉及多个订单或商户。是否支持不同卖家,以及参数应放在外层还是子订单中,都要按照对应接口的请求模型处理,不能直接沿用单笔支付的参数位置。
备注:内容仅供参考。
