#Tong

1 messages · Page 1 of 1 (latest)

turbid steepleBOT
safe violet
peak sigil
#

Hi~sorry to bother you. We are the payment department of a cross-border e-commerce saas platform. Now we are connecting to ACH Direct Debit through the checkout session interface. There are a few questions I want to confirm with you.

  1. The user selects ACH on our payment checkout page, and after clicking Confirm, will the payment intent be created while jumping to the checkout session?

Subsequent transaction status only needs to pay attention to the status and notification of the payment intent, and do not need to pay attention to the checkout session.

  1. Because ACH is a delayed payment, I want to confirm whether the transaction status is the situation below.

After the user submits successfully on the checkout session page, the corresponding status is processing. After 2-5 days, the final status of the transaction is confirmed: failed/succeeded.

And do we only need to judge based on the received payment_intent_payment_succeeded?

  1. For the webhook event, can we also only monitor payment_intent-related events, not checkout session-related events?
safe violet
#
  1. The user selects ACH on our payment checkout page, and after clicking Confirm, will the payment intent be created while jumping to the checkout session?

From API version 2022-08-01 :
A PaymentIntent is no longer created during Checkout Session creation in payment mode. Instead, a PaymentIntent will be created when the Session is confirmed.

Why do you need the PaymentIntent though? In most cases, you can just listen to the checkout.session.* events

#
  1. Because ACH is a delayed payment, I want to confirm whether the transaction status is the situation below.

After the user submits successfully on the checkout session page, the corresponding status is processing. After 2-5 days, the final status of the transaction is confirmed: failed/succeeded.

And do we only need to judge based on the received payment_intent_payment_succeeded?

  1. For the webhook event, can we also only monitor payment_intent-related events, not checkout session-related events?

If you want to, you can listen for the payment_intent.succeeded events.

peak sigil
safe violet
#

that's when the customer submits the payment

peak sigil
#

on checkout session page?

safe violet
#

yep

peak sigil
#

Woc, so we just need to listen to the four checkout session statuses.
But...

  1. So we can only get the payment result by listening to the checkout session, can we actively retrieve it? Because the object has a return parameter: payment intent

  2. The transaction status corresponding to the checkout session is not enough I guess. I want to confirm how to confirm the transaction status. So After the user submits, we can only listen to payment intent events?

The user submits the payment on the checkout session page. At this time, the transaction status is payment intent_processing. Later becomes payment intent_failed/succeeded?

safe violet
peak sigil
#

👍

safe violet
#
  1. The transaction status corresponding to the checkout session is not enough I guess. I want to confirm how to confirm the transaction status. So After the user submits, we can only listen to payment intent events?

Have you taken a look at this section? https://stripe.com/docs/payments/checkout/fulfill-orders#delayed-notification - it provides an example of how to validate if payment is successful

peak sigil
#

yes, just want to confirm , so we just follow this section is enough , right? do not need to care about payment intent status and webhooks. Because we always only listen to payment intent before

safe violet
#

yes, but as with everything, please test it throughly

peak sigil
#

thanks~

#

hi,sorry~But when our backend calls the checkout session interface, it sees the payment intent has been created successfully.

#

so confused lol

safe violet
#

but the customer has already submitted payment irght?

#

can you share the checkout session request id?

peak sigil
#

customer just submitted payment on our own page, not your checkout session page

#

at this time, payment intent is created

safe violet
#

so you're not using Checkout Session?

#

if you're not using Stripe Checkout, then you only need to listen for payment_intent.succeeded events

peak sigil
#

Our backend is testing. After the user selects ACH on our settlement page, the backend calls Stripe's create checkout session interface. At this point, it will jump to your checkout session page and create a payment intent at the same time. At this time, the user has not gone to the session page to operate and submit

safe violet
#

then can you share the checkout session id?

#

i need an id so that i can look into this further

#

it'll look like cs_test_...

peak sigil
#

cs_test_b1ohTVyDHV8UolbGpWtkuEiqXm7N3lI5oX7xggNxWacdnftiwJvIPdu1ZQ

safe violet
#

you're using API version 2020-08-27. the change which i mentioned is on API version 2022-08-01 :
A PaymentIntent is no longer created during Checkout Session creation in payment mode. Instead, a PaymentIntent will be created when the Session is confirmed.

peak sigil
#

?haaa

safe violet
#

regardless, you shouldn't depend on the creation of the Checkout Session returning the PaymentIntent in the response. So then when you upgrade in the future, you don't have to worry about ^

peak sigil
#

So we can use the old version of the solution now, and my test is also correct. can do this first

#

later we can upgrade

safe violet
#

sure, it's up to you

peak sigil
#

so in the 2020 version, we do not need to care about checkout session status and event. just use payment intent

safe violet
#

we already have an example for you to refer to

#

and if you do it right, then you will have one less thing to worry about when upgrading in the future

#

but if you really want to, then sure, you can use PaymentIntents