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

MercadoPago集成报错:Cannot infer Payment Method问题求解

解决MercadoPago支付接口错误:Cannot infer Payment Method

针对你遇到的错误(code 2131),可以从以下几个关键方面排查修复:

1. 修正issuer_id为有效取值

你当前使用的"issuer_id": "123456"是无效测试值,MercadoPago无法识别。需要获取对应Visa卡的真实发卡行ID:

  • 调用/v1/payment_methods/card_issuers接口,传入参数payment_method_id=visa,获取该支付方式下的所有有效发卡行列表。
  • 选择列表中的一个id填入支付请求,比如测试环境Visa的有效issuer_id可能是1或其他官方提供的测试值。

2. 统一token生成与支付请求的payer邮箱

生成卡片token时使用的邮箱是test@test.com.ar,但支付请求中payer的邮箱是pedrito@gmail.com,两者必须一致。MercadoPago会验证token与支付请求的用户身份匹配性,修改支付请求的payer邮箱为test@test.com.ar即可。

3. 补充payer的身份识别信息

支付请求中identification字段为空,MercadoPago要求payer提供有效身份信息(测试环境可使用官方提供的测试身份数据)。例如添加:

"identification": {
  "type": "DNI",
  "number": "12345678"
}

4. 确保payment_method_id与token对应卡类型匹配

虽然你指定了payment_method_id: "visa",但可以先尝试去掉该字段,让API通过token自动推断支付方式;如果必须指定,需确认token对应的卡确实属于Visa类型(可从token返回的first_six_digits查询卡组织)。

修改后的支付请求示例

{
  "payer": {
    "entity_type": "individual",
    "type": "customer",
    "first_name": "APRO",
    "last_name": "Test",
    "address": {},
    "email": "test@test.com.ar",
    "identification": {
      "type": "DNI",
      "number": "12345678"
    }
  },
  "description": "Celular Xiaomi Redmi Note 11S 128gb 6gb Ram Original Global Blue Version",
  "installments": 1,
  "issuer_id": "1", // 替换为真实有效issuer_id
  "token": "28e607d8cbceb068e7b99e84c6988216",
  "transaction_amount": 100
}

内容的提问来源于stack exchange,提问作者Gabriel Vento

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:05:37