alipay.trade.app.pay 如何指定企业外部支付人?
支付阿杰
明确结论
在 alipay.trade.app.pay 的 ext_user_info 参数中,企业营业执照对应的 cert_type 是:
BUSINESS_LICENSE
cert_no 填写企业的营业执照注册号或统一社会信用代码,name 填写营业执照上的企业名称。
参数填写示例
ext_user_info 是业务请求参数中的 JSON 对象,例如:
{
"name": "某某科技有限公司",
"cert_type": "BUSINESS_LICENSE",
"cert_no": "91310000XXXXXXXXXX",
"fix_buyer": "T",
"need_check_info": "T"
}
使用 Java SDK 时,可以根据实际 SDK 版本构造参数:
AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
ExtUserInfo extUserInfo = new ExtUserInfo();
extUserInfo.setName("某某科技有限公司");
extUserInfo.setCertType("BUSINESS_LICENSE");
extUserInfo.setCertNo("91310000XXXXXXXXXX");
extUserInfo.setFixBuyer("T");
extUserInfo.setNeedCheckInfo("T");
model.setExtUserInfo(extUserInfo);
如果所用 SDK 没有对应的强类型对象,也可以按接口要求传入 JSON 字符串,具体应以当前 SDK 的字段定义为准。
为什么这样填写
cert_type 表示 cert_no 所对应的证件类型。企业身份通常通过营业执照或统一社会信用代码识别,因此应填写企业营业执照对应的枚举值 BUSINESS_LICENSE,不能使用自然人身份证对应的 IDENTITY_CARD。
各项企业信息应保持一致:
name:营业执照上的企业全称cert_type:BUSINESS_LICENSEcert_no:营业执照注册号或统一社会信用代码need_check_info:需要支付宝校验上述信息时填写Tfix_buyer:需要限制只能由指定主体付款时填写T
注意事项
ext_user_info 用于传递和校验外部用户信息。不过,填写企业证件信息不一定代表 App 支付支持强制指定某个企业支付宝账户付款。能否限制企业付款主体,还要看当前接口的产品能力、商户签约权限和支付宝账户类型。
不同开放平台产品或接口版本支持的证件枚举也可能不同。正式接入前,应查看当前 alipay.trade.app.pay 接口文档或所用 SDK 中的 ExtUserInfo.cert_type 定义,确认是否已开放 BUSINESS_LICENSE。如果网关返回”枚举值无效”或”参数非法”,需要联系支付宝技术支持,确认该 App 支付产品是否支持企业证件校验。
备注:内容仅供参考。
