Open GusBeare opened 2 years ago
There is nothing in the logs in my Stripe account to indicate what's causing these 500 errors.
Hi @GusBeare, thanks for getting in touch. Before we look into this on our end, could I confirm whether you experienced these 500 errors only while stepping through the debugger in Visual Studio? If so, there's a chance that a timeout occurs given the webhook route code won't immediately return a 200 as expected if the debugger has halted execution.
If you're seeing them outside of debugging let me know and we can try to reproduce this on our end. Thanks!
Hi @suz-stripe
Thanks for responding. These errors occur when there are no breakpoints in my web hook code.
I am using the latest Stripe CLI (1.8.8) with Stripe.Net.
chees Gus
@GusBeare thanks for the extra info, we'll look into this and will reach back out if we find anything.
@GusBeare I've been experiencing this while integrating hooks on a Firebase project. The pattern is almost the same for my use case as well, a few 500
and then 200
, also at times it does succeed all the way through.
2022-10-31 17:52:53 --> connect invoiceitem.created [evt_1LysKeIGRKWcFa2w0QdPDXNU]
2022-10-31 17:52:53 --> connect invoice.created [evt_1LysKfIGRKWcFa2wcGyNdI2Z]
2022-10-31 17:52:53 <-- [500] POST http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook [evt_1LysKfIGRKWcFa2wcGyNdI2Z]
2022-10-31 17:52:54 --> connect invoiceitem.updated [evt_1LysKfIGRKWcFa2w1AaFU4sE]
2022-10-31 17:52:54 --> connect payment_intent.created [evt_3LysKgIGRKWcFa2w0VdguJpi]
2022-10-31 17:52:54 <-- [500] POST http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook [evt_3LysKgIGRKWcFa2w0VdguJpi]
2022-10-31 17:52:54 --> connect invoice.updated [evt_1LysKgIGRKWcFa2wmrJxI9Mp]
2022-10-31 17:52:54 --> connect invoice.finalized [evt_1LysKgIGRKWcFa2wVhWFsgoJ]
2022-10-31 17:52:54 <-- [500] POST http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook [evt_1LysKgIGRKWcFa2wVhWFsgoJ]
2022-10-31 17:52:57 --> connect payment_intent.succeeded [evt_3LysKgIGRKWcFa2w0sK2Q9z4]
2022-10-31 17:52:57 --> connect charge.succeeded [evt_3LysKgIGRKWcFa2w0xEFDfeu]
2022-10-31 17:52:57 --> application_fee.created [evt_1LysKjIisHAWwPA8i8m18Acs]
2022-10-31 17:52:57 <-- [500] POST http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook [evt_3LysKgIGRKWcFa2w0xEFDfeu]
2022-10-31 17:52:57 --> connect invoice.updated [evt_1LysKjIGRKWcFa2wrUOJTUWk]
2022-10-31 17:52:57 --> connect invoice.paid [evt_1LysKjIGRKWcFa2wFrimidGV]
2022-10-31 17:52:57 --> connect invoice.payment_succeeded [evt_1LysKjIGRKWcFa2w3b2CaGl3]
2022-10-31 17:52:57 <-- [500] POST http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook [evt_1LysKjIGRKWcFa2wFrimidGV]
2022-10-31 17:52:58 <-- [200] POST http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook [evt_1LysKjIGRKWcFa2w3b2CaGl3]
for the most failed requests I also see:
2022-10-31 17:53:23 [ERROR] Failed to POST: Post "http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2022-10-31 17:53:24 [ERROR] Failed to POST: Post "http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2022-10-31 17:53:24 [ERROR] Failed to POST: Post "http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2022-10-31 17:53:27 [ERROR] Failed to POST: Post "http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2022-10-31 17:53:27 [ERROR] Failed to POST: Post "http://0.0.0.0:5001/app/us-central1/stripeConnectWebhook": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
On the server side (Firebase emulator) the ones that 500
don't even seem to make it to the web server as it never logs the receipt of the request.
I also tried to hit the endpoints (modified slightly) with httpie
to see if the endpoints succeed and they always go through.
cli
version 1.13.0
on macOS Ventura
Glad to see I'm not alone. I still see those issues but fortunately it's not stopping me from testing my application. Still no idea what the cause/fix might be.
Is it possibly indicating that the web hook is not posting for those events that return a 500? I have my web hook in Stripe set up to post only for checkout.session.completed and this returns a 200.
If it helps, I don't see this on v1.12.4, but I do on v1.13.0.
Update. Latest CLI (1.13.6) gives me the following. They seem to have changed to 400's.
2022-12-14 08:33:06 --> payment_intent.created [evt_3MEqOkJYbfxqMZXs0z5jhw0P] 2022-12-14 08:33:07 <-- [400] POST https://localhost:44383/webhooks/processpayment [evt_3MEqOkJYbfxqMZXs0z5jhw0P] 2022-12-14 08:33:12 --> payment_intent.succeeded [evt_3MEqOkJYbfxqMZXs0lMSI160] 2022-12-14 08:33:12 <-- [400] POST https://localhost:44383/webhooks/processpayment [evt_3MEqOkJYbfxqMZXs0lMSI160] 2022-12-14 08:33:13 --> charge.succeeded [evt_3MEqOkJYbfxqMZXs0Ct3Hgzf] 2022-12-14 08:33:13 <-- [400] POST https://localhost:44383/webhooks/processpayment [evt_3MEqOkJYbfxqMZXs0Ct3Hgzf] 2022-12-14 08:33:13 --> checkout.session.completed [evt_1MEqOqJYbfxqMZXsMhU3V6lI] 2022-12-14 08:33:14 <-- [200] POST https://localhost:44383/webhooks/processpayment [evt_1MEqOqJYbfxqMZXsMhU3V6lI]
More than a year and the problem is still there. I'm getting this kind of response
[500] POST http://localhost:8000/payment/webhook
no matter during the debug session or just when the development server is running. My webhook_view does not run therefore I cannot change the order status to 'paid'. Hey Stripe people! Help us to solve this please.
latest CLI version 1.13.12 seems to work for me:
>> stripe listen --forward-to https://localhost:44383/webhooks/processpayment --skip-verify
> Ready! You are using Stripe API Version [2022-11-15]. Your webhook signing secret is XXX
2023-03-02 08:49:21 --> payment_intent.created [evt_3Mh7pFJYbfxqMZXs0ak8U4HV]
2023-03-02 08:49:22 <-- [400] POST https://localhost:44383/webhooks/processpayment
2023-03-02 08:49:44 --> payment_intent.succeeded [evt_3Mh7pFJYbfxqMZXs0DPoyI2w]
2023-03-02 08:49:44 <-- [400] POST https://localhost:44383/webhooks/processpayment
2023-03-02 08:49:44 --> charge.succeeded [evt_3Mh7pFJYbfxqMZXs0tN2Ar3Y]
2023-03-02 08:49:44 <-- [400] POST https://localhost:44383/webhooks/processpayment
2023-03-02 08:49:44 --> checkout.session.completed [evt_1Mh7pcJYbfxqMZXs7Niv8Za5]
2023-03-02 08:49:45 <-- [200] POST https://localhost:44383/webhooks/processpayment
Have you tried adding a trailing slash to your endpoint, as in http://localhost:8000/payment/webhook/
? That works for Django.
This is exactly what I did, long ago. Thanks for your answer, anyway.
On Mon, Apr 17, 2023, 20:32 EspritElf @.***> wrote:
Have you tried adding a trailing slash to your endpoint, as in http://localhost:8000/payment/webhook/? That works for Django.
— Reply to this email directly, view it on GitHub https://github.com/stripe/stripe-cli/issues/857#issuecomment-1511968718, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEJ2XNYAB3KOP73EKXMXTSTXBWLDTANCNFSM5UJX5A5A . You are receiving this because you commented.Message ID: @.***>
how to solve this error guys ?
2023-09-05 14:32:19 --> payment_intent.requires_action [evt_3Nmv9MSHc4kM5hqz08rx3V6x] 2023-09-05 14:32:19 --> payment_intent.created [evt_3Nmv9MSHc4kM5hqz0LAtUTyR] 2023-09-05 14:32:21 --> checkout.session.completed [evt_1Nmv9QSHc4kM5hqzGxwg0XSH] 2023-09-05 14:32:21 <-- [500] POST http://localhost:1900/webhook [evt_1Nmv9QSHc4kM5hqzGxwg0XSH] 2023-09-05 14:32:22 --> payment_intent.succeeded [evt_3Nmv9MSHc4kM5hqz0tJrjffe] 2023-09-05 14:32:22 --> charge.succeeded [evt_3Nmv9MSHc4kM5hqz0MH0LZOu] 2023-09-05 14:32:49 [ERROR] Failed to POST: Post "http://localhost:1900/webhook": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2023-09-05 14:32:49 [ERROR] Failed to POST: Post "http://localhost:1900/webhook": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2023-09-05 14:32:52 [ERROR] Failed to POST: Post "http://localhost:1900/webhook": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2023-09-05 14:32:52 [ERROR] Failed to POST: Post "http://localhost:1900/webhook": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Glad to see I'm not alone. I'm getting the same error. However, there hasn't been a solution even though the problem has been around for 1 year. I hope it will be fixed soon 😌
It's been awhile since I looked at this, but I believe you have to add trailing slashes in the urls.py file in the stripe app. This is my urls file:
from django.urls import path
from . import views
from . import webhooks
urlpatterns = [
path("checkout/<token>/",
views.create_checkout_session,
name="create-checkout-session"),
path("success/<token>/", views.payment_success, name="payment-success"),
path("cancel/<token>/", views.payment_cancel, name="payment-cancel"),
path("webhooks/stripe/", webhooks.stripe_webhook, name="stripe-webhook"),
]
EspritElf, thank you, there were no problems in my code, my carelessness was the problem, I lost the latest slash when typed a command in the Stripe CLI, right there: stripe listen --forward-to localhost:8000/payment/webhook/ Although it's ironic that it was a slash issue again and you actually pointed me the direction, thank you
Ah yes, that's right, the trailing slash needs to be put in the CLI endpoint as well.
Glad to help. Cheers!
Have you tried adding a trailing slash to your endpoint, as in
http://localhost:8000/payment/webhook/
? That works for Django.
I wasnt using django. It worked for me with nodejs
Have you tried adding a trailing slash to your endpoint, as in
http://localhost:8000/payment/webhook/
? That works for Django.
this fixed for me for nextjs. why the hell does this work? postman works fine without slash, i was losing my mind.
Have you tried adding a trailing slash to your endpoint, as in
http://localhost:8000/payment/webhook/
? That works for Django.
That is fixed for Nest.js too, thx!
Hi
Not sure if this is a bug or something I don't understand.
I've been using the Stripe CLI on windows for testing my booking app. Like this.
After my booking is complete my web hook is fired and works just fine. The code is hit and I can step through in Visual Studio. However, I see some 500 errors in the CLI output in the console e.g.
Can anyone explain why I am seeing the 500 errors?
I don't appear to see these issues when the site is on a server and not using the CLI.
cheers Angus