#joe-sataapon_api

1 messages · Page 1 of 1 (latest)

solemn magnetBOT
#

👋 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/1382199705252921436

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

dusty bane
#

I’m working on integrating credit card payments with Stripe. Our current flow is:

  1. The backend creates the payment method.

  2. The backend creates the Payment Intent (we control 3DS/non-3DS behavior and we skip confirm ourselves).

  3. For 3DS transactions:

    3.1 The backend calls capture or cancel immediately.

  4. For non-3DS transactions:

    4.1 The frontend handles 3DS (if applicable).

    4.2 The backend listens to the payment_intent.amount_capturable_updated event and then calls capture or cancel.

  5. For both 3DS and non-3DS flows, we listen to the payment_intent.succeeded and payment_intent.failed events to update the final status of the capture.

I have a few questions:

  1. When creating the Payment Intent, is that the point at which the bank places a hold on the amount?

  2. When we call capture, does Stripe return a response immediately and then continue processing asynchronously (e.g., notifying us via webhook)? I want to confirm whether the response from Stripe is immediate.

  3. Similarly, when we call cancel, does Stripe return a response immediately and then process the cancellation in the background, notifying us via webhook?

  4. For non-3DS transactions, should we call capture immediately after receiving the response from the Payment Intent, or is it recommended to rely on the webhook (payment_intent.amount_capturable_updated) before capturing?

  5. Does the payment_intent.amount_capturable_updated event indicate that we should now initiate capture?

  6. Does the payment_intent.succeeded event confirm that the capture was successful?

  7. Does the payment_intent.failed event indicate that the capture failed (even though this is a rare case)?

I want to confirm that the capture flow is happen in asynchronous, this is important to our integration.

autumn leaf
#

Hi will get to your question soon, but are you creating payment method on backend? Are you PCI compliant?

dusty bane
#

Yes, we are.

autumn leaf
dusty bane
#

Thank Orakaro.

solemn magnetBOT
dusty bane
#

May I know what is the difference between automatic_async and manual?

celest raptor
dusty bane
#

For manual does the capture call happen in asycronouse?

celest raptor
#

Sort of because you need to manually do the capture.

dusty bane
#

Could you help close this thread?

celest raptor
#

Sure I can do that. Any questions before I close it?

dusty bane
#

Hello @autumn leaf ,

I forgot to mention that before calling capture, we need to perform a fraud check on our side, so we need to set capture_method=manual.

My question is: when I later call the capture endpoint, does Stripe respond immediately?

celest raptor
#

What do you mean by immediately?

dusty bane
#

when we call capture, does Stripe return a response immediately and then process the capture in the background, notifying us via webhook?

#

Sure I can do that. Any questions before I close it? -> please close immidatly

celest raptor
#

It should be immediate.

#

Sorry so do i close it now?