Estou tentando estabelecer um webhook com stripe. (primeira vez)
Entretanto, parece que o caminho para o webhook não foi encontrado.
Espero que alguém possa trazer um par de olhos novos e me dizer o que estou fazendo errado.
No meu urls.py (nível de projeto)
urlpatterns = [
path('my_app/', include('my_app.urls')),
...
]
No nível do aplicativo urls.py:
urlpatterns = [
..
path('stripe_webhook/', views.stripe_webhook, name='stripe_webhook')
]
No meu views.py (nível my_app):
@csrf_exempt
def stripe_webhook(request):
print("enter webhook")
stripe.api_key = settings.STRIPE_SECRET_KEY_TEST
payload = request.body
signature_header = request.META.get('HTTP_STRIPE_SIGNATURE')
webhook_secret = settings.STRIPE_WEBHOOK_SECRET_TEST
...
Na faixa, nos ouvintes locais registrei:
localhost:8000/stripe_webhook/
Se eu executar stripe trigger customer.created
. Eu recebo o seguinte retornado para mim:
A newer version of the Stripe CLI is available, please update to: v1.22.0
Setting up fixture for: customer
Running fixture for: customer
Trigger succeeded! Check dashboard for event details.
No entanto, executando simultaneamente stripe listen --forward-to localhost:8000/stripe_webhook/
, também recebo os seguintes logs:
> Ready! You are using Stripe API Version [2024-09-30.acacia]. Your webhook signing secret is XXXXX (^C to quit)
2024-12-05 22:27:54 --> customer.created [xxx]
2024-12-05 22:27:54 <-- [404] POST http://localhost:8000/stripe_webhook/ [xx]
e meus logs de servidor também retornarão (seja em produção ou local): Not Found: /stripe_webhook/
.
Isso me faz pensar que o caminho para meu webhook não está configurado corretamente, mas não consigo ver nada que eu possa ter perdido. Há algo na plataforma Stripe que eu esqueci?
Observação : todas as minhas chaves ( STRIPE_PUBLIC_KEY_TEST
, STRIPE_SECRET_KEY_TEST
e STRIPE_WEBHOOK_SECRET_TEST
) no meu arquivo .env correspondem às chaves fornecidas na plataforma do Stripe.
Alguma ideia?