Настройка полосовых подписок для продукта, подобного Twitch.tv - PullRequest
0 голосов
/ 10 мая 2019

У меня возникли некоторые проблемы, которые сейчас связаны с процессом добавления клиента в план.

Очень широкое представление о типе платежа - думать о Twitch Streaming. Вы можете подписаться на пользователей бесплатно, но заплатите небольшую плату, чтобы «подписаться» на них.

В настоящее время, когда пользователь заполняет форму оплаты, я создаю source во внешнем интерфейсе через react-stripe-elements, а затем передаю source.id моему бэкэнду.

Это то, где вещи начинают разваливаться для меня.

  1. Должен ли я создать другой продукт для каждого пользователя, чтобы с лёгкой панели инструментов можно было легко увидеть, какой пользователь / продукт работает лучше всего?

Способ решить эту проблему заключается в том, что когда пользователь создает учетную запись, мой бэкэнд автоматически создает продукт для этого конкретного пользователя, а также план, а затем сохраняет plan_id в модели пользователя.

Поэтому, когда пользователь подписывается на другого пользователя, я могу извлечь plan_id и создать подписку таким образом.

  1. В настоящее время я создаю источник всякий раз, когда пользователь отправляет форму оплаты.
let attach_source = async ( customer_id, source_id ) => {

    await stripe.customers.createSource( customer_id, {
        source: source_id
    } )

}

Проверять, не произошла ли ошибка, и посмотреть, является ли ошибка дублирующим источником? Или Stripe обо всем позаботится.

  1. Мне также любопытно, как Stripe обрабатывает несколько подписок на одного и того же клиента с разных кредитных карт. Я не вижу нигде, где говорится, что подписка берется из определенного источника.

Спасибо, что нашли время, чтобы прочитать это. Ценю помощь!

1 Ответ

1 голос
/ 10 мая 2019

похоже, что вы описываете учетную запись пользователя из Stripe (https://stripe.com/docs/billing/subscriptions/creating)

  1. Вероятно, вы можете уйти без создания одного плана на одного клиента. Что вы можете сделать, этосоздать план с использованием (https://stripe.com/docs/billing/subscriptions/quantities), поэтому минимальный план подписки на 5 долларов, когда они захотят внести больше, обновите количество плана
  2. В настоящее время источник чередования имеет fingerprint поля, где он будет уникальным для того же номера кредитной карты (https://stripe.com/docs/api/cards/object#card_object-fingerprint),, вы можете сравнить отпечаток пальца, чтобы определить, была ли добавлена ​​карта. Stripe не выполняет проверку дублирования

  3. Существует default_source (https://stripe.com/docs/api/subscriptions/create#create_subscription-default_source) параметров, где вы можете установить разные карты для разных подписок;

...