如何在刷新用户内容之前检查带有条带 api 的卡片拒绝?

How to check card decline with stripe api before refresh of user content?

我按照条纹教程: https://stripe.com/docs/custom-form

有效。但我有点担心 - 如果条带为卡创建的令牌仍然会被拒绝怎么办?

当我post数据到服务器充值时,发现卡不能充值,再返回给用户恢复浏览器中的内容就来不及了。

我的解决方案是将带有 AJAX 和 return 收费状态的令牌发送到我的服务器,并在收费正常后将用户重定向到某个 "success page"。如果 AJAX return 否定消息,我仍然可以要求用户以相同的形式提供不同的卡。

在教程代码中,我只是替换了行:

$form.get(0).submit();

同线

$.post('/payment/', $form.serialize())

我现在有两个问题:

  1. 是否可以为在收费期间被拒绝的卡获取条纹令牌?它有多常见?我应该关心这个吗?

  2. AJAX调用检查充电状态的解决方案是否正确?是拯救吗?它增加了一个请求并使一切稍微复杂一些,所以我不确定是否值得。

根据我从 stripe api 服务台得到的回复:

  1. Stripe api 可以为不收费的卡创建令牌。

  2. 在收费成功之前使用AJAX防止重定向是有道理的,也是正确的做法。