2017-02-15 58 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請求。