转账到支付宝接口账单显示“服务代理”如何自定义
支付小周
结论
能否修改,要看“服务代理”显示在账单的哪个位置:
- 如果它是付款方展示名称,调用旧版
alipay.fund.trans.toaccount.transfer接口时,可以尝试用payer_show_name设置公司名称。 - 如果它是转账标题,调用
alipay.fund.trans.uni.transfer接口时,应设置order_title。 - 如果它是支付宝展示的签约主体、账户实名认证名称或服务商身份,就不能通过转账接口随意修改。需要检查应用绑定的支付宝账户、签约主体和商家资料,必要时联系支付宝技术支持确认。
接口参数只能修改允许自定义的展示字段,不能覆盖支付宝出于合规要求展示的真实交易主体。
旧版接口的配置方式
调用 alipay.fund.trans.toaccount.transfer 时,可以传入 payer_show_name:
$request = new AlipayFundTransToaccountTransferRequest();
$bizContent = [
'out_biz_no' => 'TRANSFER_202609090001',
'payee_type' => 'ALIPAY_LOGONID',
'payee_account' => 'receiver@example.com',
'amount' => '100.00',
'payer_show_name'=> '示例科技有限公司',
'remark' => '项目费用'
];
$request->setBizContent(json_encode(
$bizContent,
JSON_UNESCAPED_UNICODE
));
$response = $aopClient->execute($request);
这些参数的含义如下:
payer_show_name:付款方展示名称。remark:转账备注,不是付款方名称。payee_real_name:用于校验收款人的真实姓名,也不是账单展示名称。
不同 SDK 使用的请求类和序列化方式可能不同,但最终提交给接口的业务参数含义相同。
新版统一转账接口
如果实际调用的是 alipay.fund.trans.uni.transfer,可以通过 order_title 设置转账标题:
{
"out_biz_no": "TRANSFER_202609090001",
"trans_amount": "100.00",
"product_code": "TRANS_ACCOUNT_NO_PWD",
"biz_scene": "DIRECT_TRANSFER",
"order_title": "示例科技有限公司付款",
"payee_info": {
"identity": "receiver@example.com",
"identity_type": "ALIPAY_LOGON_ID"
},
"remark": "项目费用"
}
order_title 修改的是订单或账单标题,不一定能替换账单详情里的付款主体名称。最终显示内容还会受到产品权限、签约模式和支付宝客户端页面规则的影响。
为什么设置后仍可能显示“服务代理”
常见原因有以下几种:
- 参数设置位置不对。例如只设置了
remark,却希望借此修改付款方名称。 - 实际调用的是统一转账接口,但仍按旧接口的方式设置
payer_show_name。 - 应用采用服务商代调用或第三方应用授权模式,支付宝显示的是服务商或实际交易主体。
- 应用绑定账户、签约账户或商家名称本身就是“服务代理”。
- 账单当前位置显示的是实名认证主体,这类字段不允许通过接口覆盖。
可以先查看支付宝返回结果中的接口名称,再到账单详情中确认“服务代理”对应的是交易标题、付款方还是签约主体,然后选择需要修改的字段。
注意事项
填写的公司名称应与实际付款主体和业务场景相符,避免使用容易引起身份误解的名称。即使接口接受了 payer_show_name 或 order_title,支付宝仍可能根据风控、合规要求或客户端展示规则显示认证名称。
如果参数已经正确传入,但账单主体仍固定显示“服务代理”,问题通常不在代码。此时需要检查支付宝开放平台中的应用主体、授权关系和产品签约账户,并携带 app_id、接口名称、out_biz_no 和账单截图,联系支付宝技术支持核实。不要在公开渠道提供私钥、完整账户信息或其他敏感数据。
备注:内容仅供参考。
