#ntmhung94 - Magento
1 messages ยท Page 1 of 1 (latest)
Okay, do you have the request ID for this charge?
Here's how you can find a request ID: https://support.stripe.com/questions/finding-the-id-for-an-api-request
here is the ID req_pABkrcZvMGbKwk
Thank you
Okay, so as you probably saw, the POST request to /v1/payment_intents set the amount at 37425 and did not include any meta-data.
So in this case the issue has to do with how the Magento plugin is creating the Payment Intent request.
is "stripe/module-payments" your own extension?
I'm not sure that is actually ours. We document our Magento 2 extension here: https://stripe.com/docs/plugins/magento-2
Can you take a look and let me know if that is the module you have installed?
let me check
yes it's from yours, but I have an older version
mine is 2.5.8
also notice that there is a request to update a PaymentIntent, which normal payment does not have
What do you mean by "Normal payment"?
I mean a payment with correct amount capture
when will your system need this request?
Could you share that Payment Intent ID please?
The update request came from your server, using your secret key and modified the amount.
And then you confirmed the payment intent with the payment method & customer
do you have any idea why there should be an update request? I tried to replicate the issue but no hope
Based on the arguments passed in, you modified the amount on the Payment Intent
That triggered the update request
sorry but I tried many way but there is no way a customer need to update the payment intent on the site
would you mind to take a look at the site?
I did. This came from your server. It has your private key attached
Whether the customer did it or not is irrelevant. It came from you application.
also, a correct payment will have this status requires_confirmation after the PaymentIntent request
while the incorrect ones have the status requires_payment_method
do you know the reason?
This is not a correct description of the flow
When a payment intent is first created it, generally, does not have an attached payment method.
This is when you return the PaymentIntent.clients_secret to your front-end where you collect the payment method data.
Then you confirm the payment intent with the attached payment method
do you mean the requires_confirmation or requires_payment_method?
Saying that an "incorrect" payment method has a status of requires_payment_method. That is a perfectly normal state for a Payment Intent post creation
I switch to test mode, in the dashboard where can I check the test transaction?
Look under Developer, in the Logs section
thanks, I replicated the issue successfully, the Google Pay causes the issue
would you mind taking a look at my test site to check why G-Pay create a different amount than the amount recorded in the order?
DO you mean the amount that the Payment Intent is updated to?
yes
I suspect the Google Pay button is initialized to the earlier amount specified when your payment intent is created. I would try to tack down why it is getting updated and avoid that.
does it take much time? do you need my test site to verify?
No. I was suggesting you do that. I cannot debug your integration for you.
the G-pay is not working on the cart page, because there is not the required telephone field for the customer to enter, but the Payment Intent was created with an initiated amount with estimated shipping cost. when the customer navigates to the checkout page to enter all the required fields, select the payment method, the Payment Intent is not updated with the new amount, hence the customer is charged with the old estimated amount on the cart page.
Apologies, initially missed this. So are you currently making a payment intent update call?
no, The issue is caused by using Google-Pay on the cart page. When the customer pays with G-pay on the cart page, the G-pay returns a different shipping fee from the site, with a different grand total. At this point, a Payment Intent is created and sent to Stripe with a lack of payment information.
However, the G-pay is not functional due to a lack of a telephone number on the cart page
Hence the customer has to navigate to the checkout page to enter the address (including telephone), then continue to the payment step and pay with G-pay. At this point, the existed Payment Intent above with the incorrect amount was charged on Stripe, not the correct order grand total.
Here is the transaction with incorrect data
https://dashboard.stripe.com/test/payments/pi_3KeP4CKq7HHveNfW1qyQQq3Z
is this something we need to contact google?
Apologies, pretty busy and I am still catching up a bit on this.
When you know that you need to charge a new amount, you need to update the payment intent https://stripe.com/docs/api/payment_intents/update?lang=curl
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Otherwise Stripe will still think that you want to charge the other amount
I'm using your Magento extension, without any adjustment
could you help to fix that on your end?
anyway, how to unlock a card on Stripe dashboard?
What do you mean by "unlock a card"?
Do you have the ID for that payment intent? That message is phrased strangely, a payment method does not have those statuses so I don't know why the error lists them
Payment intents have those statuses so I am wondering if there was a mixup
Thank you
So it looks like Magento cancelled that payment intent and that error message is about retrying the payment after it was cancelled https://dashboard.stripe.com/logs/req_mA0d5HJDkndUCo
I am less familiar with the plugin. Did you click through something or call something to cancel that payment at some point?
no I didn't
I'm seeing this when using G-Pay, also the cards payment method does not appear
would you mind taking a look at my test site?
Sure can you send a link to it?
here you are https://buyactivatedcharcoal.devzn.com/
Thank you
Hi there! Stepping in for @main beacon here, give me a moment to catch up.
@drowsy python we don't work directly with the Magento plugin so you will really be able to get better help with what exactly is going on here by talking to our Support team: https://support.stripe.com/contact/login