Stripe / node.js: как безопасно получить полосовую подписку + шаг 1 - PullRequest
0 голосов
/ 19 января 2019

Я только начал изучать Stripe для обработки платежей в node.js. Я хочу создать платежную систему, которая выглядит следующим образом:

  1. Я создаю рабочее пространство и запускаю подписку Stripe на 10 долларов в месяц.
  2. Когда кто-то присоединяется к моему рабочему пространству, это будет стоить мне 10 долларов / месяц дополнительно.

Итак, когда я хочу добавить человека в мою подписку. Как бы я справился с этим? Я нашел функцию ниже, но мне было интересно две вещи:

  1. Как добавить одного человека в эту подписку? Теперь написано количество: 2, но как мне просто увеличить 1 на каждого пользователя?

  2. в приведенном ниже примере я использую идентификатор 'sub_6OZnwv0DZBrrPt' для получения этой подписки Stripe. Мне было интересно, откуда я могу получить этот идентификатор? Я мог сохранить этот идентификатор подписки в документе базы данных mongo рабочей области после того, как создал эту подписку, но я не уверен, безопасно ли хранить его в моей базе данных? Дайте мне знать, если у вас есть какие-либо предложения.

это функция обновления подписки

stripe.subscriptions.update(
    'sub_6OZnwv0DZBryPt',
    { quantity: 2 },
    (err, subscription) => {
      // asynchronously called
    }
  );

1 Ответ

0 голосов
/ 22 января 2019

Вкл. 1.) Вам необходимо получить текущую подписку на основе сохраненного идентификатора. Это можно сделать как:

stripe.subscriptions.retrieve(
  "sub_6OZnwv0DZBryPt",
  function(err, subscription) {
    // asynchronously called
  }
);

Объект subscription будет иметь информацию о текущем количестве (см. Пример ответа и документ по объекту подписки ). Что приводит к вашему второму вопросу.

Чтобы получить подписку, вам нужно сохранить только идентификатор. Это безопасно, ID не имеет смысла для других, если у них нет также ваших тестовых / живых ключей. Убедитесь, что вы защищаете эти ключи, и не стесняйтесь хранить идентификаторы, такие как subscription_id, customer_id и т. Д.

...