2017-02-15 7 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. Вы должны быть tokenizing информации карты на сторону клиента с помощью Stripe.js или Checkout, а затем с помощью карты токена в запросе на сервер

  • Если вы хотите интегрировать Stripe с Node.js, вы должны использовать официальную библиотеку stripe-node, а не обрабатывать запросы API самостоятельно.