Stripe payments 将Stripe.js用于kickstarter风格的应用程序。我怎样才能在对卡进行迭代并对其全部收费之前对其进行测试?

Stripe payments 将Stripe.js用于kickstarter风格的应用程序。我怎样才能在对卡进行迭代并对其全部收费之前对其进行测试?,stripe-payments,stripe.js,Stripe Payments,Stripe.js,因此,我正在构建一个类似于kickstarter/gofundme等的应用程序。一旦达到价格目标,它将向所有提供服务的客户收取费用。我的流程是,当客户为价格目标做出贡献时,我创建一个条带客户并存储其id: customer = stripe.Customer.create( email = <user_email>, source = <stripe_customer_token> ) customer=stripe.custom

因此,我正在构建一个类似于kickstarter/gofundme等的应用程序。一旦达到价格目标,它将向所有提供服务的客户收取费用。我的流程是,当客户为价格目标做出贡献时,我创建一个条带客户并存储其id:

    customer = stripe.Customer.create(
      email = <user_email>,
      source = <stripe_customer_token>
    )
customer=stripe.customer.create(
电子邮件=,
来源=
)
我将这些信息存储在数据库中的一个数组中。一旦达到了价格目标,我将迭代阵列,使用条纹验证为合法的初始卡向每个客户收费

    for customer in customer_array:
      charge = stripe.Charge.create(
        amount = <amount>,
        customer = <customer>,
      )
客户阵列中的客户的
:
charge=stripe.charge.create(
金额=,
客户=,
)
我预见到的问题是,有时这些价格目标将持续数周。在第1天,客户可以作为合法卡供款并通过stripe验证,但在3周内该卡可能会过期或被取消等。在对客户代币收费之前,是否有任何方法对其进行某种验证以确保其仍然合法?我不喜欢在一个数组中迭代9/10个客户,并对他们收取合法费用,然后用一张无效的卡攻击数组中的最后一个客户。我正在使用stripe.js,所以希望有一个不包含stripe api的解决方案。谢谢

\Stripe\Charge::create(array(
  "amount" => 2000,
  "currency" => "usd",
  "capture" => false,
  "source" => "tok_mastercard", 
  "description" => "Charge for avery.moore@example.com"
));
首先使用capture false对其进行指控,然后使用上面返回的id对其进行捕获。 使用此方法,您可以更自信地验证卡。在极端情况下,例如信用卡取消或被盗,银行可以否决所有保留资金命令

$ch = \Stripe\Charge::retrieve("ch_1C9s1N2eZvKYlo2Cmpk4KBgS");
$ch->capture();

没有一个很好的方法可以在不实际尝试充电的情况下重新验证卡——我只是尝试迭代每一张卡并充电。如果失败,启动一些催款逻辑,通过电子邮件或短信通知用户,并指示他们更新卡的详细信息。