2015-12-08 3 views
1

Итак, я использую полосу, чтобы позволить моим клиентам выполнять повторяющиеся биллинг (очистители по требованию), проблема, которую я имею, в настоящее время существует 30+ планов, которые пользователь может назначить в зависимости от их входов. Например:Создание планов с плавающей запятой 30+, выпуск с масштабированием

пользователя 1:

  • интервал очистки = каждые 4 недели
  • Площадь дома - 4 кровати

план = A

User 2

  • интервал очистки = каждые 6 недель
  • Площадь дома - 2 кровати

план = B

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

Теперь мое решение для масштабируемости заключалось в создании плана для каждого пользователя (будет ли этот масштаб до 100 тыс. Планов в полосе)?

Второе решение было сделать маркер на основе платежей, и настроить хрон или что-то подобное, чтобы обработать его (как легко было бы)

Я использую PHP, так что любое решение будет более вероятно, будет сделано в этом

Я хотел бы некоторые обратную связь или даже тематические исследований о том, как решить этот

Оливер

ответ

4

нашивка не ограничивает количество планов, которые можно создать, так что вы могли бы потенциально иметь десятки тысяч сиситем планы аренды.

Однако это не похоже на очень хорошее решение. Что вы могли бы сделать вместо этого использовать «metered billing» платежное поток:

  • Create a plan за $ 0/месяц (или любой другой интервал, который вы хотите использовать)

  • Create subscriptions привязать клиентов к этому плану

  • В конце каждого расчетного периода будет автоматически создан новый счет-фактура, и будет отправлено событие invoice.created. Используя webhooks, вы можете поймать это событие на своем сервере и create invoice items за фактическую сумму, которую вы хотите оплатить.

  • Примерно через час счет-фактура будет закрыт, и платеж будет предпринят. В зависимости от результата будет отправлено событиеили invoice.payment_failed.

  • Если платеж не удался, он будет повторен в соответствии с вашим subscription settings.

Так как кажется, у вас есть различные интервалы выставления счетов, вам, возможно, потребуется создать несколько различных планов (все за $ 0, но с разными интервалами), но общая идея остается в силе.

+0

Это довольно здорово, мне придется изучить это. Надеюсь, что Laravel Cashier поддерживает измеренный биллинг, я пока не буду принимать его как ответ. Я хочу сначала увидеть некоторые другие решения :) –

+1

Нет проблем. Чтобы быть ясным, я работаю для Stripe, и я видел аккаунты с планами/купонами и т. Д. Это не проблема для Stripe, просто потому, что с вашей стороны может быть больно. – Ywain

+0

Да, я это заметил. Это действительно здорово, что у полосы есть кто-то, проверяющий такие сайты, чтобы предложить хороший источник информации. Я действительно копаю твою компанию –