2017-02-15 22 views
0

我已经拥有一张卡片的客户,并且正在尝试向他们添加另一张卡片。这是我的要求:添加新卡片以覆盖旧卡片

function stripe_post (route, data) { 
    return fetch(STRIPE_API + route, { 
     method: 'POST', 
     headers: { 
      Authorization: `Bearer ${STRIPE_ACCESS_KEY}`, 
      'Content-Type': 'application/x-www-form-urlencoded' 
     }, 
     body: serialize(data) }) } 

stripe_post(`customers/${stripeId}`, { 
     source: { 
      object: 'card', 
      exp_month: card.expiry.slice(0, 2), 
      exp_year: card.expiry.slice(-2), 
      number: card.number, 
      name: card.name, 
      cvc: card.cvc 
     } 
     }) 

它返回正确的新卡对象,但是当我尝试获取客户对象之后的新卡已经覆盖旧的一个对象内。

回答

0

这是预计:你是updating a customer一张新卡。如果您想要添加新卡,则需要使用此API请求:https://stripe.com/docs/api#create_card

而且,我不知道你在哪里,从这段代码执行,但:

  • ,如果这是客户端代码,你与它揭示你的代码前端共享你的密钥它公开。这个API请求需要从后端代码中触发。

  • ,如果这是服务器端代码,您的服务器可以访问原始卡的信息,这对于PCI SAQ A.使不合格的你应该使用Stripe.jsCheckout被标记化的卡信息的客户端,然后使用该卡令牌在服务器端请求

  • 如果要将Stripe与Node.js集成,则应使用官方stripe-node库,而不是自己编写API请求。