#tvm_api

1 messages ¡ Page 1 of 1 (latest)

clear creekBOT
#

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

📝 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.

jagged rune
#

We are currently facing an issue with the Stripe integration related to the PaymentIntent confirmation process MCC.
Issue Details:
Authorization - PaymentMethod is Null:
After the authorization step, we are unable to send a confirm request because the PaymentMethod is returned as null.
If we omit the PaymentMethod during confirmation, we receive the following error:
Stripe.StripeException: 'You cannot confirm this PaymentIntent because it's missing a payment method.
To confirm the PaymentIntent with cus_SVvtw4YWa4gCh4, specify a payment method attached to this customer along with the customer ID.'

Capture - Cannot Confirm in requires_capture Status:
After capture, we are getting payment method.
However, Stripe does not allow confirmation when the PaymentIntent status is requires_capture.
We receive the following error:
Stripe.StripeException: 'This PaymentIntent's payment_method_options could not be updated because it has a status of requires_capture.
You may only update the payment_method_options of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action.'

Code Used for Confirmation:
// Added for Confirm
PaymentIntentConfirmOptions ConfirmOptions = new PaymentIntentConfirmOptions
{
PaymentMethod = GetPaymentIntent.PaymentMethodId
};

ConfirmOptions.AddExtraParam("payment_method_options[card][mcc]", "8675");

this.requestOptions.IdempotencyKey = Guid.NewGuid().ToString();

paymentIntent = paymentIntentService.Confirm(paymentIntent.Id, ConfirmOptions, this.requestOptions);

bronze plank
#

hi there! could you share some example PaymentIntent IDs where you experienced each error?

jagged rune
#

pi_3SDKMCG4DeLvSy0O0pM8LqTv

#

Capture - Cannot Confirm in requires_capture Status paymentIntentID pi_3SDKMCG4DeLvSy0O0pM8LqTv

bronze plank
#

thanks!

the reason both of these received the payment_intent_unexpected_state error because the payment had already been confirmed

it's not possible to update payment_method_options when the state is requires_capture

additionally, your integration tried to confirm payments that had already been successfully confirmed

#

can you share more context around what you're trying to achieve here, and why your integration is calling Confirm PaymentIntent a second time, after successfully confirming once?

jagged rune
#

We want to confirm card present intent and latur capture that payment

bronze plank
#

the issue here is that the dynamic MCC needs to be passed at the same time the payment is processed (i.e. on confirmation)

it's not possible to pass payment_method_options.card.mcc to a PaymentIntent that has already been confirmed

jagged rune
#

After creating a PaymentIntent we are not getting payment_method in response then how to send that confirmintent request

bronze plank
#

you can see that the payment_method is visible in the response to the confirmation request

jagged rune
#

Then how to update MCC after creating payment intent

bronze plank
#

I'm afraid Dynamic MCCs aren't designed to work with Terminal, so this integration path (combining both features) isn't officially supported