#manic-pixie_manual-capture-events

1 messages ยท Page 1 of 1 (latest)

solid owlBOT
#

๐Ÿ‘‹ 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/1228446118531043409

๐Ÿ“ Have more to share? Add more details, code, screenshots, videos, etc. below.

tropic archBOT
#

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.

idle sequoia
#

Hi ๐Ÿ‘‹

Have you tested this?

#

Like, build the exact flow you are describing and run through it in Test mode to see what happens?

empty haven
#

I'm trying to figure out which webhook event I should do my follow up action in, as it's not clear what event fires when the hold is confirmed. The options seem to be:

  • payment_intent.requires_action
    seems like this is only for 3ds
  • payment_intent.succeeded
    I'm not sure if the payment intent fires succeeded when it's confirmed, or only once the funds have been actually captured
  • payment_intent.amount_capturable_updated
    I think this only fires once we set the amount, but not for confirming
#

We're getting a variety of events for the payment intent, yes. I'm just trying to determine which is the correct one to act on after calling .confirm (here's my code)

    const holdPaymentIntent = await stripe.paymentIntents.create({
      customer: stripeCustomerId,
      payment_method: paymentMethod,
      capture_method: 'manual',
      amount: Money.fromDollars(config.chip.subscriptionPrice.value).amount,
      currency: 'usd',
    });

    await stripe.paymentIntents.confirm(holdPaymentIntent.id);
idle sequoia
#

Well, since you have access to all the events, which one contains the data you are interested in?

empty haven
#

I don't care about the data aside from the payment intent id which is on all of them. I just care about the webhook event that fires after a successful call to await stripe.paymentIntents.confirm(holdPaymentIntent.id);

idle sequoia
#

And what happens when you make that call in Test mode?

empty haven
#

we receive

payment_intent.created
payment_intent.amount_capturable_updated
charge.succeeded
#

it seems like charge.succeeded is the related event but my understanding is that we should be acting on payment_intent events not charge events

#

also it's unclear why a charge is created for a hold, since nothing is charged to the customer

idle sequoia
#

my understanding is that we should be acting on payment_intent events not charge events
Well that depends on what you want to know. A Payment Intent will always generate at least one Charge.

Can you share the event ID for the charge.succeeded?

empty haven
#

here's one evt_3P4qqjDl7puKas711H2uWmOI

#

it looks like captured is false on the charge.succeeded event so I'm guessing I should go off of that

idle sequoia
#

Yes, you can also use the various amount values. amount will tell you how much has been authorized and amount_captured will tell you if you captured any of the authorized amount

#

You can also see, in the payment_method_Details property, that this charge has been authorized, for how much, and when you need to capture the funds by