Overview
Это руководство предоставляет четкий шестиэтапный процесс интеграции платежей Stripe в вашу форму ChronoForms 8 для Joomla или WordPress. Оно охватывает установку плагина, добавление и настройку действия Stripe, генерацию и сохранение уникального идентификатора заказа, а также настройку Stripe Listener для обработки вебхуков платежей. В руководстве также содержатся инструкции по обновлению вашей базы данных и тестированию слушателя для обеспечения полностью функциональной платежной системы.
Действие платежа Stripe очень легко настроить, вот как это сделать:
Шаг 1: Установите ChronoForms8
Убедитесь, что у вас установлена последняя версия ChronoForms 8 для Joomla или WordPress на вашем сайте, последние обновления можно найти на официальной странице загрузок
Шаг 2: Добавьте действие Stripe в вашу форму
Мы перенаправляем на Stripe после отправки формы, поэтому мы поместили действие Stripe в событие Submit первой страницы формы:

Шаг 3: Настройте действие Stripe
Далее нам нужно настроить действие Stripe. Вот как должно быть настроено наше действие Stripe:

- Секретный ключ можно найти в настройках вашего аккаунта Stripe в разделе Разработчики > Ключи API: https://dashboard.stripe.com/apikeys
- Публикуемый ключ можно найти на той же странице в вашем аккаунте Stripe вместе с вашим Секретным ключом
- URL успеха — это URL, на который ваш клиент будет перенаправлен после успешного завершения покупки, это может быть любой URL на вашем сайте
- URL отмены — это URL, на который ваш клиент будет перенаправлен, если он отменит покупку, это может быть любой URL на вашем сайте
- Поставщик товаров — это многомерный массив для товаров, которые будут перечислены на странице покупки в Stripe. Массив должен содержать подмассивы как минимум с ключами name, description, price и quantity. Вот пример того, как мы настроили действие php17 для возврата нужного нам массива, затем мы используем переменную {var:php17}, чтобы передать этот массив поставщику товаров stripe:

- Описание платежа — это строка для описания всего платежа, которая будет отображаться на странице платежа Stripe.
Шаг 4: Сгенерируйте, сохраните и отправьте в Stripe уникальный идентификатор заказа
Возможно, вы захотите сгенерировать идентификатор заказа и сохранить его в базе данных ПЕРЕД перенаправлением в Stripe. Вы можете сделать это с помощью действия Variables и шорткода {str:uuid}:

Затем мы можем сохранить его с помощью действия Save Data, как показано ниже. Обратите внимание, что "order_id" следует заменить на имя столбца таблицы, содержащего order_id

Затем мы можем передать это значение в Stripe, используя переменную Custom ID в поведении Redirect Parameters:

Шаг 5: Настройте действие Stripe Listener для получения уведомлений вебхуков платежей от Stripe
В той же форме добавьте новую страницу, измените Page Group на "webhook" и запишите имя страницы:

На странице вебхуков вашего Stripe используйте ссылку: https://www.domain.com/LIVE-LINK-TO-YOUR-FORM?chronopage=page20&output=ajax
Измените "page20" на ваш Alias страницы
В событии Load страницы вебхука добавьте действие Stripe Listener и настройте секретные слова и выберите имя для Custom ID, который мы отправили в Stripe ранее.
Затем вам нужно будет включить поведение Run Events и включить событие "On Payment Success", а затем перетащить действие "Save Data" под него, как показано в пункте #7

Шаг 6: Обновите таблицу базы данных ваших заказов
Затем вы можете обновить таблицу вашей базы данных, используя идентификатор заказа, который мы получили от Stripe:

Используйте поведение Modify Data Source, чтобы обновить поле таблицы, помечающее заказ как завершенный. Здесь мы используем поле "order_complete":

Проверьте активность Stripe Listener
В некоторых случаях вам может потребоваться убедиться, что Stripe Listener доступен для шлюза Stripe. Вы можете сделать это следующим образом:
- Добавьте представление Message с некоторым содержимым НАД слушателем и вставьте ссылку на слушатель в адресную строку вашего браузера:
https://www.domain.com/LIVE-LINK-TO-YOUR-FORM?chronopage=page20&output=ajax
если вы можете увидеть сообщение, это означает, что слушатель доступен для Stripe - Чтобы протестировать вызовы Stripe к слушателю, вы можете заменить сообщение на фиктивное действие email. Убедитесь, что заполнены только поля Recipients, Subject и Body, затем выполните тот же тест, что и выше, ИЛИ проведите тестовую транзакцию. Если все настроено правильно, вы должны получить письмо.

Comments: