【问题标题】:Stripe card validation behaves differently in development vs. production条纹卡验证在开发与生产中的行为不同
【发布时间】:2014-02-05 14:26:56
【问题描述】:

我在使用 Stripe 时遇到了一个奇怪的问题(在 Rails 上,但 Rails 部分可能无关紧要)。

当我在生产中使用语法有效但无效的卡号(例如 4242424242424242)填写我的注册表单时,我在尝试创建令牌时收到以下响应: p>

sjsonp1389885476573({
  "error": {
    "message": "Your card was declined.",
    "type": "card_error",
    "code": "card_declined"
  }
}
, 402)

当我在开发中使用“总是返回card_declined”卡号(4000000000000002)时,Stripe 认为它非常好:

sjsonp1389885473743({
  "id": "tok_3JvncLYlEZ5NMF",
  "livemode": false,
  "created": 1389885584,
  "used": false,
  "object": "token",
  "type": "card",
  "card": {
    "id": "card_3Jvnr4MtIxzzd5",
    "object": "card",
    "last4": "0002",
    "type": "Visa",
    "exp_month": 2,
    "exp_year": 2020,
    "fingerprint": "dWQBpXrSXnyqoOxe",
    "customer": null,
    "country": "US",
    "name": null,
    "address_line1": null,
    "address_line2": null,
    "address_city": null,
    "address_state": null,
    "address_zip": null,
    "address_country": null,
    "address_line1_check": null,
    "address_zip_check": null,
    "cvc_check": null
  }
}
, 200)

看来,要么这部分 Stripe 的 API 不起作用as advertised,要么我自己犯了某种愚蠢的错误之类的。

我有点不知所措。有什么想法吗?

【问题讨论】:

  • 您是在进行身份验证时使用测试公钥/私钥,还是使用您的实时详细信息? (不只是设置测试标志)
  • 我在开发中使用测试密钥,在生产中使用实时密钥。
  • 好的;健全性检查完成!你还做了哪些其他测试?其他 Luhn 无效卡号是否也返回正数?您是否尝试过 Stripe 提供的其他错误卡号?
  • Luhn 无效号码失败,但似乎没有一个被拒绝收费号码按预期工作(即它们被接受而没有错误)。
  • 您在上面发布的代码仅涉及创建卡令牌。您是否尝试过使用该令牌执行交易?

标签: credit-card stripe-payments


【解决方案1】:

我无法证明以下内容的准确性,但这是我的最佳理解。如果您知道得更多,请随时纠正我。

用户创建帐户时会发生两个步骤:

  1. 标记化。这通过 XHR 请求发生。
  2. 帐户创建。这发生在服务器端。

在 Stripe 测试模式下,我了解所有通过 Luhn 检查的数字都将成功标记化,包括 Stripe 的特殊测试数字。 (正确)失败发生在服务器端帐户创建时。

在 Stripe 实时模式下,我了解所有通过 Luhn 检查的号码都将成功标记化,但 Stripe 的测试号码除外。 Stripe 会拒绝这些号码,因为它们是 Stripe 的测试号码。

所以我能想到的最佳解决方案是告诉客户 Stripe 的测试编号在生产中总是会默默地失败,我们的选择是 a) 忍受它或 b) 编写代码将专门捕获 Stripe 测试编号,并在使用这些编号时在生产中显示错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 2016-08-17
    • 2020-08-16
    • 1970-01-01
    • 2015-05-28
    • 2019-05-14
    相关资源
    最近更新 更多