Настройка веб-перехватчика Stripe
В этой статье мы расскажем вам, как настроить веб-хуки Stripe. MEC Надежно завершает бронирования, даже если клиент больше никогда не возвращается на ваш сайт.
Зачем нужны веб-хуки?
По умолчанию MEC Оплата через Stripe подтверждается, когда клиент перенаправляется обратно на ваш сайт после оплаты. Если клиент закрывает вкладку браузера, теряет соединение или перенаправление блокируется, оплата в Stripe проходит успешно, но бронирование так и не завершается.
С помощью веб-хуков Stripe напрямую уведомляет ваш сайт об успешных платежах. MEC Затем система автоматически подтверждает бронирование, независимо от действий браузера клиента. Это значительно сокращает количество обращений в службу поддержки по поводу билетов, которые «оплачены, но не забронированы».
Веб-хуки работают как для платежных шлюзов Stripe , так и для Stripe Connect.
Примечание: Веб-хуки необязательны, но настоятельно рекомендуются. Без веб-хука... MEC возвращается к поведению, ограничивающемуся только перенаправлением.
Шаг 1 – Скопируйте URL-адрес вашего веб-перехватчика
Перейдите на MEC Настройки > Бронирование > Платежные шлюзы > Stripe и найдите Секрет веб-перехватчика поле. Под полем отображается вспомогательный текст, показывающий URL-адрес веб-перехватчика вашего сайта:
https://yourdomain.com/wp-json/mec/v1/stripe/webhook
Скопируйте этот URL-адрес, и на следующем шаге вы вставите его в свою панель управления Stripe.
Шаг 2 – Добавьте конечную точку в Stripe
- Войти в свой Полосовая панель приборов.
- Перейдите в Разработчики > Веб-хуки.
- Нажмите Добавить конечную точку.
- Вставьте URL-адрес веб-перехватчика, скопированный на шаге 1.
- Под Выберите событияВыберите только следующее событие:
- payment_intent.succeeded
- Нажмите Добавить конечную точку.
Шаг 3 – Скопируйте секретный ключ для подписи.
После создания конечной точки Stripe отображает её Секретная подпись (начинается с whsec_). Нажмите Выявить и скопируйте его.
Шаг 4 – Вставьте секретный текст MEC
Еще в MEC Настройки > Бронирование > Платежные шлюзы > Stripeвставьте секретный ключ подписи в Секрет веб-перехватчика Введите данные и сохраните настройки.
Вот и все. MEC Теперь каждое сообщение веб-хука проверяется с помощью этого секретного ключа; запросы, поступающие не с вашего аккаунта Stripe, отклоняются.
Stripe Connect
Если вы используете шлюз Stripe Connect , настройте веб-перехватчик для своей учетной записи платформы аналогичным образом:
- Шаблон URL-адреса веб-перехватчика идентичен (
/wp-json/mec/v1/stripe/webhookна вашем сайте). - Подписаться
payment_intent.succeeded. - Вставьте секретный ключ для подписи в Секрет веб-перехватчика поле настроек Stripe Connect.
Когда модуль «Оплата организаторам» включен и организаторы подключают свои собственные учетные записи Stripe, в настройках для каждого организатора используется одно и то же поле «Секретный ключ веб-перехватчика» для конечной точки подключенной учетной записи.
Тестирование вашего веб-хука
- Включите Песочница/тестовый режим в настройках платежного шлюза Stripe (или используйте тестовые ключи Stripe).
- Забронируйте мероприятие с помощью Stripe. тестовая карта (например
4242 4242 4242 4242). - Сразу после оплаты закройте вкладку браузера, прежде чем произойдет перенаправление.
- Через несколько секунд проверьте MEC > БронированиеБронирование должно отображаться как подтвержденное, полученное через веб-хук, а не в результате перенаправления.
Вы также можете проверить доставку в следующих случаях: Разработчики > Веб-хуки > ваша конечная точка Чтобы просмотреть каждое событие, перейдите в панель управления Stripe. MEC получено.
Диагностика неисправностей
«Недействительная подпись веб-перехватчика Stripe»
Секретный ключ подписи не совпадает. Раскройте секретный ключ именно той конечной точки, которую вы создали, и вставьте его снова. MECЕсли вы создали конечную точку заново, помните, что новая конечная точка получит новый секретный ключ.
«Секретный ключ веб-перехватчика Stripe не настроен»
Поле Webhook Secret в MEC пусто. Выполните шаг 4.
События отображаются в Stripe, но бронирование не подтверждено.
Убедитесь, что конечная точка подписана на payment_intent.succeeded (Вы не checkout.session.completed или других событий), и что URL-адрес веб-перехватчика указывает на тот же веб-сайт, на котором оформлено бронирование.