Как исправить ошибку веб-перехватчика Stripe (TLS и события доставки)
Опубликовано: 2021-05-13Мы используем Stripe вместе с PayPal для приема платежей за наш бизнес плагинов WordPress. Мы любим Полоса; он прост в использовании и имеет все, что вам нужно как разработчику. Хотя у нас было много проблем с PayPal, Stripe работал безупречно. Однако, как и с любым сервисом, иногда возникают проблемы.

Сегодня я расскажу вам, как устранить ошибку веб-перехватчика Stripe, как TLS, так и события доставки.
- Электронное письмо о проблеме с доставкой Stripe webhook
- Проверка событий конечной точки веб-перехватчика
- Как исправить ошибку TLS вебхука
- Как исправить блокировку вебхука
Электронное письмо о проблеме с доставкой Stripe webhook
Большинство из вас, вероятно, не проверяют регулярно журнал событий в Stripe на предмет веб-хуков; Я знаю, что нет. Поэтому, как и я, вы, вероятно, впервые слышите об ошибке веб-хука Stripe в электронном письме от Stripe. Тогда пришло время бросить все, что вы делаете, и выяснить, почему у веб-хука возникла проблема. Мой, конечно, пришел в пятницу днем.
Электронное письмо от Stripe, скорее всего, будет выглядеть примерно так, как показано ниже. В качестве примера я использую обобщенную ошибку TLS:
У нас возникли проблемы с отправкой запросов в режиме реального времени на конечную точку веб-перехватчика, связанную с вашей учетной записью…
URL-адрес неисправной конечной точки веб-перехватчика: https://domain.com/index.php?edd-listener=stripe.
Мы пытались отправить уведомления о событиях на эту конечную точку x раз с момента первого сбоя в дату/время. Если эта конечная точка важна для вашего приложения, попробуйте устранить проблему. Мы прекратим отправку уведомлений о событиях на эту конечную точку веб-перехватчика по дате и времени».
x была ошибка TLS, указывающая на то, что Stripe не может установить безопасное соединение с вашим сервером. Вы можете создать подробный анализ конфигурации TLS вашего хоста (https://ssllabs.com/ssltest/), чтобы выявить распространенные ошибки.
Вам необходимо вернуть любой код состояния от HTTP 200 до 299, чтобы Stripe считала, что событие веб-перехватчика успешно доставлено.
Вы можете найти полный набор журналов событий и запросов на панели инструментов.
Ваш,
Полосатая команда
Главное не паниковать. Ниже я расскажу вам о нескольких простых способах устранения проблем и о некоторых вещах, которые нам пришлось исправить с помощью нашей реализации Stripe.
Проверка событий конечной точки веб-перехватчика
Самое первое, что нужно сделать, это проверить события, зарегистрированные для ваших конечных точек веб-перехватчика Stripe. Перейдите на панель инструментов Stripe и слева нажмите «Webhooks» в меню «Разработчик».
На этом экране вы сможете увидеть все свои конечные точки Stripe и, что наиболее важно, частоту ошибок за последние 7 дней. Если вы только что получили электронное письмо от Stripe, в котором говорится, что они пытались x раз достичь вашей конечной точки, вы, вероятно, увидите довольно высокий уровень ошибок.

Если вы отсортируете попытки веб-перехвата по «Неудачным», вы легко увидите все попытки и причину неудачи. Некоторые распространенные ошибки веб-перехватчика Stripe включают ошибку TLS, тайм-аут и 500 (внутренняя ошибка сервера).

Как исправить ошибку TLS вебхука
Мы лично столкнулись с ошибкой TLS веб-перехватчика Stripe. Вот что вы должны сделать.
- Проверьте свой SSL-сертификат, просканировав свой сайт с помощью инструмента SSL Server Test от Qualys. Первое, что нужно подтвердить, это то, что ваш сертификат действителен и что вы не пропустили какие-либо промежуточные сертификаты. Если да, попробуйте повторно добавить свой SSL-сертификат у своего хостинг-провайдера. Вероятно, это одна из наиболее распространенных причин возникновения ошибки TLS.
- Подтвердите версию TLS, которую поддерживает ваш хостинг-провайдер. Stripe поддерживает до TLS 1.2 на момент написания этой статьи.
- Если перед вашим веб-сайтом установлен прокси или WAF, вам нужно будет снова выполнить шаги 1 и 2, так как веб-перехватчик Stripe сначала будет использовать прокси/WAF.
Когда мы столкнулись с ошибкой TLS, проблема была на самом деле из-за того, что мы перешли на Cloudflare. В нашем домене Cloudflare минимальная версия TLS была установлена на TLS 1.3. (1.0 по умолчанию). Поскольку на данный момент Stripe поддерживает только версию 1.2, мы начали сталкиваться с ошибкой веб-перехватчика. Нам потребовалось некоторое время, чтобы отследить это.


Как исправить блокировку вебхука
Stripe должен иметь возможность связываться с вашим сервером, чтобы все работало правильно. Поэтому, если вы получаете тайм-аут или даже ошибку 500, возможно, вы случайно заблокировали веб-перехватчик Stripe. Вот что вы должны сделать.
- Если вы используете WordPress и подключаемый модуль безопасности, убедитесь, что он не блокирует подключения от Stripe.
- Обратитесь к своему хостинг-провайдеру, чтобы убедиться, что он разрешает Stripe и не блокирует свои IP-адреса.
- Если вы используете WAF, например Cloudflare, вам может потребоваться добавить разрешающее правило в брандмауэр с IP-адресами Stripe. Брандмауэр Cloudflare не использует имена хостов, поэтому вам нужно будет использовать их IP-адреса. Я рекомендую добавить как IP-адреса для api.stripe.com, так и их уведомления о веб-перехватчиках. Вы можете проверить журнал активности и сравнить его со списком IP-адресов Stripe, чтобы убедиться, что это проблема Cloudflare.

Вот полное выражение для правила брандмауэра Cloudflare с их IP-адресами по состоянию на 2021 год:
(Ip.src в 13.112.224.240 13.115.13.148 13.210.129.177 13.210.176.167 13.228.126.182 13.228.224.121 13.230.11.13 13.230.90.110 13.55.153.188 13.55.5.15 13.56.126.253 13.56.173.200 13.56.173.232 13.57.108.134 13.57.155.157 13.57.156.206 13.57.157.116 13.57.90.254 13.57.98.27 18.194.147.12 18.195.120.229 18.195.125.165 34.200.27.109 34.200.47.89 34.202.153.183 34.204.109.15 34.213.149.138 34.214.229.69 34.223.201.215 34.237.201.68 34.237.253.141 34,238. 187,115 34.239.14.72 34.240.123.193 34.241.202.139 34.241.54.72 34.241.59.225 34.250.29.31 34.250.89.120 35.156.131.6 35.156.194.238 35.157.227.67 35.158.254.198 35.163.82.19 35.164.105.206 35.164.124.216 50.16.2.231 50.18.212.157 50,18 .212.223 50.18.219.232 52.1.23.197 52.196.53.105 52.196.95.231 52.204.6.233 52.205.132.193 52.211.198.11 52.212.99.37 52.213.35.125 52.22.83.139 52.220.44.249 52.25.214.31 52.26.11.205 52.26.132.102 52.26.14.11 52.36.167.221 52.53.133.6 52.54.150.82 52.57.221.37 52.59.173.230 52.62.14.35 52.62.203.73 52.63.1 06,9 52.63.119.77 52.65.161.237 52.73.161.98 52.74.114.251 52.74.98.83 52.76.14.176 52.76.156.251 52.76.174.156 52.77.80.43 52.8.19.58 52.8.8.189 54.149.153.72 54.152.36.104 54.183.95.195 54.187.182.230 54.187.199.38 54,187 .208.163 54.238.140.239 54.65.115.204 54.65.97.98 54.67.48.128 54.67.52.245 54.68.165.206 54.68.183.151 107.23.48.182 107.23.48.232 3.18.12.63 3.130.192.231 13.235.14.237 13.235.122.149 35.154.171.200 52.15.183.38 54.187.174.169 54.187.205.235 54.187.216.72 54.241.31.99 54.241.31.102 54.241.34.107)
Резюме
Надеемся, что некоторые из этих советов помогли устранить ошибки веб-перехватчиков Stripe. Если у вас есть какие-либо вопросы или другие шаги, которые сработали для вас, я хотел бы их услышать. Оставьте комментарий ниже.
