You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mercado Pago:调用MerchantOrderClient返回401 invalid_caller_id求助

解决Merchant Order Client返回invalid_caller_id的问题

问题分析

调用order.get()时触发invalid_caller_id错误,说明当前请求的调用方身份不被Merchant Order服务认可——即便Payment对象有效,Payment服务和Merchant Order服务的身份校验是独立的,前者通过不代表后者也能通过。

排查与解决方向

  • 检查Order Client的认证配置:初始化OrderClient时必须传入Merchant Order服务认可的caller ID、密钥或令牌,不能直接复用Payment Client的认证信息,两个服务的身份凭证通常是分开配置的。
  • 验证请求上下文:确认调用order.get()时,请求携带了正确的身份标识(比如请求头中的caller_id字段),部分服务要求每个请求都显式传递身份信息,而非仅依赖客户端初始化配置。
  • 核对权限配置:确认当前使用的caller ID已被授权访问目标Merchant Order资源,可能Payment服务允许该身份访问,但Order服务的权限列表未添加对应授权。
  • 校验Order归属:确保Payment关联的Order ID属于当前caller ID有权访问的商户范围,跨商户的Order查询会触发身份校验失败。

代码调整示例

// 初始化Order Client时传入Merchant Order服务的合法身份凭证
OrderClient orderClient = new OrderClient("authorized_caller_id", "valid_secret");

PaymentClient client = new PaymentClient();
Payment payment = client.get(id);
// 调用时携带身份上下文(如果服务要求)
Merchant merchant = orderClient.get(payment.getOrder().getId(), "authorized_caller_id");

内容的提问来源于stack exchange,提问作者Francisco Paredes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 10:12:03