Передовой дизайн / методы выставления счетов за повторяющиеся полосы / подписку?

Я собираюсь создать свой первый сайт с полосой, но мне кажется, что я мог бы спроектировать свою интеграцию с полосой намного лучше, чем я. Основные проблемы, с которыми я столкнулся, заключались в том, как поддерживать состояние учетной записи полосы (пробная и просроченная и т. Д.), Какие важные веб-перехватчики (и лучшие способы справиться со всеми событиями) и сколько данных мне нужно будет дублироваться в моей базе данных, и сколько я должен просто извлечь из базы данных Stripe.

Хотел бы поделиться некоторыми идеями о том, что было бы лучше всего. Для справки я разработал свой сайт на Ruby on rails, развернул его на heroku, использовал add-on send grid heroku для отправки уведомлений по электронной почте о счетах, просроченных платежах и т. Д.

Также для тех, кто использует полосу на RoR, вот несколько хороших ресурсов, которые я использовал (хотя я не нашел ни одного, который действительно охватывает повторяющиеся / подписки с полосой):

RailsCast:

Конечно, документация по полосе и api:

Этот небольшой фрагмент кода для веб-перехватчиков / рассылки


person hajpoj    schedule 24.04.2012    source источник


Ответы (2)


Что касается дублирования, я решил хранить ключ CustomerKey только в своих записях пользователей локально. Все остальное, счета-фактуры, транзакции и т. Д., Хранятся в Stripe. ИМО лучше не пытаться поддерживать паритет между обеими системами - в лучшем случае у вас будут дублирующиеся данные, в худшем случае вы вызовете всевозможные головные боли, если не будете синхронизированы ...

person cman77    schedule 26.10.2012
comment
Ха, я пытался не поддерживать паритет между ними, но я хотел использовать статус учетной записи для отображения сообщений об ошибках при загрузке страницы, но вызовы полосы занимали слишком много времени, чтобы получить статус, и, таким образом, загрузка страницы заняла много времени ... - person hajpoj; 13.11.2012
comment
А как насчет кеширования вызовов Stripe? Проблемы с загрузкой страницы возникнут только при первом вызове API. Последующие вызовы извлекаются из кеша - person Christian Fazzini; 21.02.2014
comment
@ChristianFazzini Я знаю, что прошло уже несколько лет, но я предполагаю, что вы говорите о Stripe.js для этих вызовов и кеша, или есть какой-то серверный кеш, который можно использовать? - person Luke Griffiths; 26.04.2016

SaaS Rails Kit (который я создал) интегрируется с полосой, просто сохраняя информацию карты с полосой (не настраивая периодическая оплата), получение обратно токена, а затем выставление счетов за токен с помощью ежедневного задания cron, когда наступает срок оплаты учетных записей людей.

Пара преимуществ этого подхода включает в себя отсутствие необходимости беспокоиться о веб-перехватчиках / поддержании синхронизации двух систем и возможность выставления счетов по счетчику в дополнение к фиксированной ежемесячной плате.

person Benjamin Curtis    schedule 24.04.2012
comment
интересно, поэтому вы в основном вручную обрабатываете все на своей стороне - person hajpoj; 27.04.2012
comment
Зачем вам настраивать задания cron, чтобы справиться с этим, если Stripe уже имеет функцию повторного выставления счетов / подписки в качестве функции? - person JM4; 02.07.2012
comment
Я ищу решение в поисках решения примерно через 2 часа. На каждом ресурсе, который я нахожу, где-то есть ваш комментарий. - person b1nary; 11.10.2014
comment
Я просто хотел указать, что не думаю, что этот ответ должен быть отвергнут. В полосе, если вам нужно создать платежи Layaway, которая не предлагает полосу, вы должны использовать этот подход. Я знаю это, потому что я сделал это и поговорил с персоналом о моих вариантах реализации. - person floor; 13.02.2015
comment
@ JM4 как насчет рассчитанной суммы, например, на платформе Saas, где она выставляется в соответствии с использованием пользователей на основе выбранного им ежемесячного плана (с предоплатой). В таких сценариях мы не можем использовать повторяющийся биллинг / подписку, есть ли лучшее решение, чем cron для таких ситуаций? - person Joel Joseph; 06.09.2019
comment
@JoelJoseph Вы можете справиться с этим сценарием, используя повторяющийся биллинг Stripe ... Stripe отправит вам ловушку, когда будет создан ежемесячный счет. У вас есть несколько часов, чтобы добавить дополнительные элементы (сборы) к этому счету, прежде чем Stripe попытается списать счет с карты. Именно так я реализовал плату за превышение лимита на Honeybadger. - person Benjamin Curtis; 07.09.2019