#tsr_webhooks
1 messages ¡ Page 1 of 1 (latest)
đ Welcome to your new thread!
â˛ď¸ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
âąď¸ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
đ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1306516860631515159
đ Have more to share? Add more details, code, screenshots, videos, etc. below.
Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
- tsr_api, 17 hours ago, 11 messages
Stripe doesn't guarantee the order of the event delivery: https://docs.stripe.com/webhooks#event-ordering
Either of them can be sent first
When verifying payment success, which event should we listen for: checkout session completion or payment intent success?
For Checkout Session integration, I'd recommend using checkout.session.* events. Here's the guide on how to find out the payment outcome using checkout.session.* events: https://docs.stripe.com/checkout/fulfillment
Customer will be able to re-attempt the payment again if there is any failure. There is no failed Checkout Session per se, but only expiration of a checkout session if the customer doesn't make any successful payment before its expiry
That means we only need to listen for checkout.session.completed.?
Have you read the guide I shared above? The guide recommend listening to checkout.session.completed, checkout.session.async_payment_succeeded and checkout.session.async_payment_failed events.
checkout.session.async_* is for the outcomes async payment methods in case if you enable any of them.
Got it! I'll update our implementation to include checkout.session.async_payment_succeeded/failed events
Sounds good!
one last question, Can we identify the region or country associated with the user's payment?
from which country user did payment...
The country where the customer makes the payment from isn't available for Checkout Session.
The next best will be the country of the payment method, but it might not be ideal. Customer may be in the United States, but using Canada card. For example, the country of the card can be found in: https://docs.stripe.com/api/payment_methods/object#payment_method_object-card-country
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Okay, thanks