条纹错误 - 您的卡的到期年份无效

Posted

技术标签:

【中文标题】条纹错误 - 您的卡的到期年份无效【英文标题】:Stripe Error - Your card's expiration year is invalid 【发布时间】:2015-12-01 06:26:20 【问题描述】:

在测试模式下测试我的条带 js 帐户。我正在运行这段代码

Stripe.card.createToken(
  number: "4242424242424242",  
  cvc: "333", 
  exp_month: "02", 
  exp_year: "19", 
  address_zip: "11111", 
  address_country: "AX", 
stripeResponseHandler);

我不断收到此响应错误。

Your card's expiration year is invalid.

即使我将年份更改为2019,我仍然会收到错误消息。我仔细检查并使用了正确的测试密钥。出了什么问题,我该如何解决?

【问题讨论】:

你尝试过其他年份吗? 2017 年? (我从来没有使用过有效期超过三年的信用卡。) 12/2016 给了我同样的错误。这让我很难过。 您是否查看了仪表板中的日志以确保您发送的正是您认为代码发送的内容?我猜你可能会继续在exp_year 中发送1916,它需要一个4 位数的年份 这令人惊讶。我在这里设置了一个简单的 JSFiddle:jsfiddle.net/00Lnfdx3。如您所见,我正在与您进行相同的Stripe.card.createToken() 调用,并且成功返回了一个令牌。 我现在遇到了完全相同的问题(3年后:))。 @jason328 你明白了吗? 【参考方案1】:

可能是因为EndYear 是一个数字,而不是一个字符串。

看看这个:https://stripe.com/docs/api/tokens/create_card?lang=dotnet

【讨论】:

【参考方案2】:

基于Stripe document、exp_monthexp_year 需要是数字。

exp_month:代表卡到期月份的两位数字 (例如,12)

exp_year:代表卡到期年份的两位或四位数字 (例如,2021)

Stripe.card.createToken(
  number: "4242424242424242",  
  cvc: "333", 
  exp_month: 02, 
  exp_year: 2022, 
  address_zip: "11111", 
  address_country: "AX", 
stripeResponseHandler);

或you can set expiration in type of string too。

Stripe.card.validateExpiry('09 2022')  // true
Stripe.card.validateExpiry('2024/09')  // true
Stripe.card.validateExpiry('2024/09')  // true
Stripe.card.validateExpiry('2024-09')  // true

而且时间需要在未来

【讨论】:

以上是关于条纹错误 - 您的卡的到期年份无效的主要内容,如果未能解决你的问题,请参考以下文章

设置沙盒测试员帐户时出现“无效年份”错误

检查过期日期是否无效 - 获取当前月份和年份没有“/”

iOS itunesconnect沙盒测试账号(无效年份)

仅在案例语句中添加年份得到无效数字错误 - ORA-01722

错误。您的卡不支持自动定期付款-Google 云 [关闭]

Stripe 抛出无效的整数错误