在将此付款方式与SetupIntent结合使用之前,请将该付款方式附加到此客户-将数据条订阅迁移为符合SCA

时间:2019-07-25 10:49:21

标签: javascript node.js reactjs stripe-payments

我有一个订阅,我通过7天的试用期在注册时收集卡的详细信息,此后订阅每月收费。

我已按照文档中的内容create a subscription

使用需要设置的伪造卡4000002500003155测试流程,我遇到了一个问题。

我的设置如下。

  1. Frontend做stripe.createToken()
  2. 服务器使用令牌执行stripe.updatePaymentDetails({source})
  3. 服务器创建订阅

      stripe.subscriptions.create({
        customer: self.stripe_customer_id,
        tax_percent: 20,
        expand: ['latest_invoice.payment_intent', 'pending_setup_intent'],
        ...plan
      }
    
  4. 如预期的那样,订阅响应subscription.pending_setup_intent不为空,并且具有{ client_secret: 'seti__', status: 'requires_action', payment_method: 'card___', ... }
  5. 在前端,我尝试使用stripe.handleCardSetup(client_secret, {});处理前端上的挂起安装意图,但是出现以下错误。
  

提供的付款方式(pm____)不属于客户,但您提供了客户______。在将此付款方式与SetupIntent结合使用之前,请将该付款方式附加到此客户。

我试图通过在第5步之前将PaymentMethod附加到用户来对此进行补救

stripe.paymentMethods.attach('card____', {
  customer: customer_id
});

但是我遇到了以下错误

  

您提供的付款方式已经附加给客户。

0 个答案:

没有答案