🍔 Одиночный слайдер: Обзор объектов оплаты

Узнайте, как объекты платежей Stripe связаны друг с другом, и определите лучшие объекты для использования в вашем проекте в этом коротком видео!

Что такое TSE?

TSE — это сокращение от Technical Solutions Engineering, команда инженеров, которые помогают таким разработчикам, как вы, создавать удивительные вещи с помощью Stripe. Мы помогаем людям как внутри, так и за пределами Stripe, отвечая на вопросы, исследуя ошибки, работая над различными проектами и обучая других тому, что мы знаем. (Возможно, вы захотите присоединиться к нам)?

Что такое 🍔 одиночный слайдер?

🍔 Однослайдеры похожи на одностраничники, только они имеют форму однослайдовой презентации и каламбурное название.

Изначально 🍔 Single Sliders создавались как короткие разговорные презентации в начале наших внутренних сессий TSE Office Hours. Со временем мы начали публиковать их внутри компании в виде видео с расшифровкой, чтобы каждый сотрудник Stripe мог посмотреть их без необходимости посещать офисные часы.

Мы поняли, что некоторые 🍔 Single Sliders будут полезны для всех, если мы опубликуем их и за пределами Stripe, так что вот они 🙂 .

Транскрипт

Добро пожаловать на очередной TSE Single Slider!

На этот раз мы рассмотрим обзор объектов платежей в Stripe, роли, которые эти объекты играют, и как они связаны друг с другом.

Платежи

Давайте начнем с самого низа, с Зарядов. Заряды имеют идентификаторы, которые начинаются с префикса ch_ или py_. Заряды представляют собой конкретные попытки перевести деньги на счет Stripe. Обычно чардж представляет собой входящий платеж от клиента, например, платеж по карте или банковский перевод, но чарджи также представляют собой деньги, поступающие на счет Stripe с другого счета Stripe в сценариях Connect.

Префикс ch_ используется для карточных платежей, а py_ — для всех остальных платежей.

Намерения платежа

Далее идут Намерения платежа, идентификаторы которых начинаются с префикса pi_. Намерения платежа — это машины состояний, которые облегчают синхронные и асинхронные потоки платежей. Примером синхронного платежа может быть платеж по карте, который проходит немедленно, а примером асинхронного — платеж по карте, который требует аутентификации 3D Secure перед авторизацией.

Намерения платежа представляют собой текущее состояние общего намерения заплатить. Каждый раз, когда намерение платежа пытается совершить платеж, оно создает Заряд для представления каждой конкретной попытки платежа. Например, Платежное намерение может попытаться произвести оплату дважды, при этом первая попытка создает Счет, который не удался, а вторая попытка создает Счет, который удался. В этом случае одно Платежное намерение будет иметь два Заряда, связанных с ним, но Платежные намерения могут генерировать столько Зарядов, сколько необходимо, пока Платежное намерение не увенчается успехом или попытка не будет отменена или прекращена.

И Намерения платежа, и Заряды — это то, что я люблю называть низкоуровневыми объектами платежей в Stripe. Эти объекты используются для обработки механики сбора определенной суммы с данного метода оплаты, но им не хватает многих функций, предоставляемых высокоуровневыми объектами оплаты, которые мы сейчас рассмотрим.

Сеансы кассы

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

Платежные ссылки

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

Заказы

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

Счета-фактуры

Далее у нас есть счета-фактуры, идентификаторы которых начинаются с in_. Счета-фактуры — это именно то, на что они похожи: подробные отчеты о суммах, причитающихся клиенту. Счет-фактура также создает намерение платежа, чтобы облегчить процесс оплаты.

Подписки

Последний высокоуровневый платежный объект, который мы рассмотрим, — это подписки, идентификаторы которых начинаются с sub_. Подписки — это механизмы создания счетов-фактур, которые облегчают проведение повторяющихся платежей. Счет-фактура создается подпиской для каждого периода подписки, и каждый счет-фактура включает конкретные детали платежа, причитающегося за данный период.

Подробнее о взаимосвязях и особенностях объектов

Давайте ненадолго вернемся к сеансам Checkout. Ранее я упоминал, что у сессий Checkout Sessions есть множество опций конфигурации, и одна из них — использовать Checkout для запуска подписки. Таким образом, Checkout Sessions могут создавать подписки в дополнение к платежным намерениям.

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

Обратите внимание, что все эти высокоуровневые объекты построены на фундаменте, предоставленном низкоуровневыми объектами. Возьмем, например, сессию Checkout, которая создает подписку. Подписка, созданная сеансом оформления, будет создавать счета-фактуры, эти счета-фактуры будут создавать намерения оплаты, а эти намерения оплаты будут создавать начисления. Такая структура позволяет вам использовать высокоуровневые объекты, которые обеспечивают большие возможности и простоту использования, и при этом использовать преимущества наших мощных низкоуровневых объектов.

Использование низкоуровневых объектов

Помимо высокоуровневых объектов Stripe вы также можете использовать Платежные намерения непосредственно в качестве основы для пользовательских высокоуровневых абстракций вне Stripe. Это позволяет создавать полностью пользовательские сценарии оплаты, которые используют Stripe в качестве платежного процессора для тех, кто не хочет или не нуждается в высокоуровневых функциях, которые мы предоставляем.

Заметим, что создание Charges напрямую также технически возможно, но этот подход устарел и не рекомендуется. Создание счетов напрямую довольно ограничено; вы не можете использовать столько методов оплаты, вы не можете поддерживать асинхронные потоки платежей, и вы не можете воспользоваться многими новыми возможностями, которые предлагает Stripe.

Рекомендации

При создании интеграции с Stripe вам следует использовать наши высокоуровневые объекты платежей, когда это возможно. Вы можете выбрать любой высокоуровневый объект, показанный здесь, в качестве точки входа. Например, вы можете создать ссылки на платежи и позволить этим ссылкам генерировать для вас сеансы проверки, или вы можете обойтись без ссылок на платежи и создавать свои собственные сеансы проверки по мере необходимости. То же самое относится к подпискам и счетам; вы можете создавать разовые счета по требованию или использовать подписки для их периодической генерации.

Итак, вот они, различные высокоуровневые платежные объекты, разработанные для удовлетворения практически всех потребностей, построенные на мощной основе низкоуровневых объектов, которые вы также можете использовать напрямую, если вам это необходимо.

Следующие шаги

Вы можете создавать удивительные вещи с помощью этих платежных объектов прямо сейчас! Погрузитесь в нашу документацию и начните работу уже сегодня:

  • Checkout
  • Платежные ссылки
  • Заказы
  • Счета-фактуры
  • Подписки
  • Намерения платежа
  • Платежи

📣 Следуйте за нами в Twitter
💬 Присоединяйтесь к официальному серверу Discord
📺 Подпишитесь на наш канал Youtube
📧 Подпишитесь на Dev Digest

Об авторе

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

Оцените статью
devanswers.ru
Добавить комментарий