#salonMonster

1 messages ยท Page 1 of 1 (latest)

rugged shuttleBOT
kindred acorn
steep sage
#

Hey apologies for the delay, just catching up

kindred acorn
#

No worries - I thought that was fast ๐Ÿ˜„

steep sage
#

And do you have the ID of a payment intent that went in to a requires_capture state?

kindred acorn
#

We aren't specifying manual.
We are using the following code:

      .confirmCardPayment(clientSecret, {
        payment_method: {
          card: this.card
        }
      })```
#

yes, I'll grab the id of one

#

This one returned as uncaptured:
pi_3MhHlADsBwzFEnWE1Uf2J8Oq

#

I think it was caused by me playing around with the postal code and cvv. We were trying to cause different failures because clients had reported that we weren't displaying all errors correctly.
I'd never seen this type of response before.

#

We wanted to handle all edge cases

#

If this is a situation that is unlikely to happen we can just display a generic error message for now "Sorry we couldn't charge that card, please try again or use a different card"

#

But we thought we should learn more about it in case we should be handling this response with another step (capturing the payment)

steep sage
#

Gotcha, thanks for the info. Checking in to that intent now

kindred acorn
#

Interesting - i'll try and track that down

#

Ok, I've found that ref in our api

#

So we're creating the payment intent with the manual flag.

Then we are trying to complete the payment with:

#
      .confirmCardPayment(clientSecret, {
        payment_method: {
          card: this.card
        }
      })```
#

using the client secret and card

inner mango
#

Hi there ๐Ÿ‘‹ taking over, as my colleague needs to step away

Give me a few minutes to get caught up.

kindred acorn
#

No worries

#

So we are creating the initial intent in our api using:

                    amount,
                    currency,
                    on_behalf_of: stripeInfo[0].stripeUserID,
                    payment_method_types,
                    capture_method: "manual",
                    application_fee_amount: applicationFeeAmount,
                    transfer_data: {
                        destination: stripeInfo[0].stripeUserID,
                    }
                }
            }

            const intent = await stripe.paymentIntents.create(paymentIntentObject);
#

Then trying to process the charge on our front end:

#
      .confirmCardPayment(clientSecret, {
        payment_method: {
          card: this.card
        }
      })```
inner mango
#

Is the issue that it's not capturing automatically? Or is the issue something else?

kindred acorn
#

I just have to run to a meeting unfortunately - can you add ken#1134 to the conversation? He can continue on my behalf

inner mango
#

Feel free to share the URL of the thread with him. It's a public thread so anyone can jump in

hardy sail
#

Thanks - Ken here from salonMonster as well, we were working on this issue together.

inner mango
#

Hey Ken. I'm just trying to get caught up on the issue you're solving for. Can you give a brief summary of what's going wrong? The thread seems to allude to a couple different problems and I want to make sure I'm starting off on the right foot and not getting caught up in the "XY Problem"

hardy sail
#

Fair enough, here's the background: we're trying to enable billing for more of our hair salons, today just using the web interface (POS system next week hopefully). We were working today on making sure error messages are being displayed correctly (such as the common insufficient funds). During our testing, we got the somewhat confusing capture error.

#

We want to make sure we can respond correctly to "requires_capture" status.

inner mango
#

Do you have a Request ID for the API call you made which gave you requires_capture?

Here's how you can find a request ID: https://support.stripe.com/questions/finding-the-id-for-an-api-request

hardy sail
#

I assume this is the request id: pi_3MhHlADsBwzFEnWE1Uf2J8Oq

#

Again, we may have triggered a fraud report as we were testing a lot of $1 charges.

inner mango
#

That's a Payment Intent ID. Specifically I'm looking for a Request ID (it's formatted like this --> req_abc123)

hardy sail
#

It may be this: req_5kZsyzqxciPveI
(posted by Pompey above)

inner mango
#

This one has requires_source

#

Apologies if this seems short. I'm just trying to understand the problem and it's hard to gauge what's wrong from the context of the thread or your responses

hardy sail
#

Basically our goal is to display the error to the user is this happens to a real customer, or even better if there is a way to help the charge go through using additional verification or something.
I guess clarification of what "requires_capture" means would help too.

#

Also, just to know if this is something that happens often, as we want a reliable system: people just got their haircut and want to pay before leaving, so being unable to pay would cause some difficultly for all parties involved.

inner mango