升级 Recurly Gem 时无效 billing_info

Invalid billing_info when upgrading Recurly Gem

ruby gem 从版本 2.9.3 -> 2.18.0 开始。 Recurly.js 一直在使用 v4,因此保持不变。

这已经工作了很多年,我决定升级 gem。

我正在生成前端令牌:

recurly.configure({ publicKey: RECURLY_JS_PUBLIC_KEY })

它生成一个令牌并将其传递给我们做的后端:

Recurly::Account.create!(
  account_code: account_code,
  billing_info: { token_id: params['recurly-token'] }
)

它不断引发此错误:

Recurly::Resource::Invalid (billing_info is invalid)

我一直在纠结这个问题。放入随机字符串作为令牌或等待 20 分钟让令牌过期将抛出不同的错误消息:

Recurly::Resource::Invalid:  Token (billing_info.token_id) is either invalid or expired

所以我觉得它正在正确读取我的令牌并且密钥是正确的。可能是我用来生成令牌的账单信息不好吗?我填写了很多正确地址和测试信用卡号的不同组合。

我没有想法,任何帮助都会很好。

听起来实际的帐单信息可能有问题。您是否使用了正确的测试卡号(4111-1111-1111-1111)和未来到期日期,以及您网站设置所需的所有地址信息?

解决了问题。

国家输入有问题。 ISO alpha-2 code本来是为国家工作的。但是一旦我更新了 gem,ISO alpha-2 code 就不再起作用了。前端验证可以工作并且可以创建一个令牌,但后端不会接受该令牌。

所以使用 US 不再有效,但 United States 有效。

我最终从这个列表中构建了一个下拉列表:https://docs.recurly.com/docs/countries-provinces-and-states