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

调用Recurly API v2.29返回「Name is invalid.」验证错误该如何解决?

Recurly v2.29 API "Name is invalid." 报错排查方案

该报错是Recurly v2.x版本的常见验证逻辑问题,并非字段漏传,核心原因为姓名参数的映射关系或格式不符合平台规则,可按以下步骤排查:

1. 确认字段映射规则

  • Recurly v2.29的订阅/购买接口要求account对象下的first_name、last_name 必须与billing_info对象下的first_name、last_name完全一致,两处字段只要有一处缺失或内容不匹配,就会触发该验证错误
  • 即使之前已完成账户创建,更新订阅时如果携带了billing_info参数,也需要同步传递两个层级的姓名字段

2. 排查特殊字符校验规则

  • 姓名字段仅支持半角空格、连字符、单引号、英文句号,emoji、全角空格、其他特殊符号均会触发验证失败
  • 单字段长度不能超过50字符,超出长度也会返回该通用报错

3. 传参示例参考

错误写法(仅传递billing_info层级姓名)

$purchase = new Recurly_Purchase();
$purchase->account = new Recurly_Account();
$purchase->account->account_code = 'test_001';
// 缺失account层级的姓名字段
$purchase->billing_info = new Recurly_BillingInfo();
$purchase->billing_info->first_name = 'Li';
$purchase->billing_info->last_name = 'Ming';

正确写法

$purchase = new Recurly_Purchase();
$purchase->account = new Recurly_Account();
$purchase->account->account_code = 'test_001';
// 同步传递account层级姓名,与billing_info保持完全一致
$purchase->account->first_name = 'Li';
$purchase->account->last_name = 'Ming';
$purchase->billing_info = new Recurly_BillingInfo();
$purchase->billing_info->first_name = 'Li';
$purchase->billing_info->last_name = 'Ming';
// 其余业务参数正常填写

补充说明

如果使用托管支付页token方式传参,同样需要在account层级同步传入和支付页收集到的姓名一致的first_name、last_name,不可仅传递支付token。

内容的提问来源于stack exchange,提问作者Afroz Alam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:36:04