Запросы веб-крючков LemonSqueezy проходят как GET, а не POST, почему?

У меня есть приложение python/django, размещенное на PythonAnywhere, DNS и SSL через Cloudflare, и использующее LemonSqueezy для обработки платежей. Согласно docs, LemonSqueezy должен отправлять webhook через POST на URL, который я указал, когда создается заказ. Они действительно отправляют вебхук, однако это GET-запрос с пустым телом, и я не могу понять, почему.

Я могу успешно отправлять POST-запросы как на свою локальную версию, так и на живую версию сайта с помощью Postman, поэтому я не думаю, что это проблема конфигурации моего сервера. Однако я могу успешно получать POST-вебхуки на webhook.site (сайт для тестирования вебхуков). Поэтому я не думаю, что веб-крючки LemonSqueezy тоже сломаны.

Я протестировал несколько вариантов DNS-записей, проксируемых Cloudflare, с SSL-сертификатом Cloudflare и без него, а также с SSL-сертификатом Let's Encrypt от Pythonanywhere и без него. Я также протестировал различные режимы SSL/TLS. Во всех комбинациях, которые приводили к успешной загрузке страниц, я неизменно получал POST-запросы от Postman, но только GET-запросы от LemonSqueezy. Не думаю, что это проблема с кодом, но включаю отладочный код, который я использую в любом случае.

@csrf_exempt
def lemonsqueezy(request):
    logging.info(f'Body: {request.body}')
    logging.info(f'Scheme: {request.scheme}')
    logging.info(f'Method: {request.method}')
Вернуться на верх