Внедрение бэкэнда Stripe - лучший способ хранить данные локально или полагаться на вызовы API?

Совершенно новичок в программировании на стороне сервера, и мне интересно узнать о лучших методах сбора информации, например, от таких сервисов, как Stripe Payments.

Для некоторого контекста - клиент с полосой может иметь несколько платежных карт, одна из которых считается платежной картой по умолчанию.

Теперь предположим, что клиент обращается к моему серверу и хочет использовать платежную карту по умолчанию для клиента XX. Мой вопрос: должен ли я поддерживать свою собственную информацию о базе данных полос или просто пересылать этот запрос на полосу напрямую?

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

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

Есть предположения? Я хотел бы услышать несколько мнений, так как это для меня очень ново :)

Благодарность!


person Sean Danzeiser    schedule 22.02.2014    source источник


Ответы (1)


Как правило, рекомендуется хранить локальную копию данных, полученных из Stripe API, в своей собственной базе данных. В противном случае вам придется делать слишком много вызовов Stripe API, что замедлит запросы вашего сервера. Чтобы ваша локальная база данных синхронизировалась с Stripe, вы должны использовать веб-перехватчики в Stripe.

https://stripe.com/docs/webhooks

person nabeel    schedule 28.02.2014
comment
Было бы неплохо расширить этот ответ, чтобы упомянуть возможные последствия для безопасности локального хранения данных Stripe. Очевидно, я имею в виду данные, отличные от сверхчувствительных вещей, таких как номера кредитных карт, но, например, идентификаторы платежей, причины отклонения карты и т. д. - person Jan Żankowski; 08.04.2017
comment
Это похоже на самоуверенный ответ. Можно утверждать, что это будет означать, что вы дублируете данные и должны синхронизировать их. - person steviesh; 21.01.2019
comment
С другой стороны, я бы сказал, что есть риск полагаться на стороннюю организацию для хранения ваших данных. Что произойдет, если серверы Stripe выйдут из строя? Или если произойдут изменения API? Хотя, возможно, вы могли бы решить эту проблему, сохранив локальную резервную копию. - person nomadoda; 10.06.2019