magento / magento2

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
http://www.magento.com
Open Software License 3.0
11.47k stars 9.28k forks source link

Google Pay Payment fails with message error 2099 (The customer's bank declined the transaction because a 3D Secure authentication was not performed during checkout. Have the customer authenticate using 3D Secure, then attempt the authorization again.) #37962

Closed ameerpotrik closed 8 months ago

ameerpotrik commented 1 year ago

Preconditions and environment

Magento version 2.4.6

Steps to reproduce

3DS enabled from the backend, 3DS enabled via Braintree, Google Pay is set up in Magento and Braintree, including integration with the website. Challenge requested - Configured true Add a product to the cart, proceed to checkout, and place an order via Google Pay.

Expected result

The order should get placed successfully with Google Pay

Actual result

Google Pay Payment fails with message error 2099 (The customer's bank declined the transaction because a 3D Secure authentication was not performed during checkout. Have the customer authenticate using 3D Secure, then attempt the authorization again.)

Additional information

I have reached out to the Braintree support team regarding this error and below is the reply we received from them, hope that will help.

Taking a look at the last Google Pay transactions [p1vbvjr4] we can see indeed a decline with the message: error 2099 - The customer's bank declined the transaction because a 3D Secure authentication was not performed during checkout. Have the customer authenticate using 3D Secure, then attempt the authorization again.

This error was received because the authentication through 3DS was not run for this transaction.

Google Pay transactions are usually out-of-scope for PSD2, however, depending on the tokenization method, you can process 3DS for certain transactions.

While some are tokenized card data, which means Braintree receives a DPAN in lieu of actual card data, other Google Pay payment methods are non-network tokenized (meaning Braintree receives actual card data, just from Google).

The latter, since it's actual card data, is subject to PSD2 and requires 3D Secure as a result. As non-network tokenized Google Pay payment methods fall under PSD2, you'll need to ensure that your integration is passing non-network tokenized Google Pay payment methods to 3D Secure.

In order to do that, check if your Google Pay nonce is non-network tokenized using the code below: if (nonce.isNetworkTokenized === false) { // eligible for 3DS Verification }

Then, if details.is_network_tokenized is returned as false from the PaymentMethodNonce object, pass the nonce to threeDSecureParameters: var threeDSecureParameters = { amount: '500.00', nonce: GOOGLE_PAY_NONCE, // Use Google Pay nonce email: 'test@example.com', billingAddress: {// see example above },additionalInformation: {// see example above }, onLookupComplete: function (data, next) {next();}};" This should prevent 2099 - Cardholder Authentication Required, a 3D Secure specific decline, for Google Pay non-network tokenized card transactions. Some Google Pay cards aren't eligible for 3DS as we don't have the real card data. Cards that weren't tokenized by Google are eligible for 3DS.

As you mentioned, you are currently working with Gene Magento, It's important to keep in mind that the Magento payment plug-in wasn't developed by Braintree, and we have very limited insight into their integration. With that in mind, I strongly recommend reaching out to the Magento support team for more insight about the integration. You can always feel free to share with us any communications you have with them so that we can chime in to offer clarity whenever appropriate.

Release note

No response

Triage and priority

m2-assistant[bot] commented 1 year ago

Hi @ameerpotrik. Thank you for your report. To speed up processing of this issue, make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, Add a comment to the issue:

ameerpotrik commented 1 year ago

Was this issue reproducible?

engcom-Delta commented 12 months ago

@magento give me 2.4-develop instance

magento-deployment-service[bot] commented 12 months ago

Hi @engcom-Delta. Thank you for your request. I'm working on Magento instance for you.

magento-deployment-service[bot] commented 12 months ago

Hi @engcom-Delta, here is your Magento Instance: https://b4444139337df1d99d62df03930c4b1f.instances-prod.magento-community.engineering Admin access: https://b4444139337df1d99d62df03930c4b1f.instances-prod.magento-community.engineering/admin_4b71 Login: 1a3af280 Password: 1a915864b42d

m2-assistant[bot] commented 11 months ago

Hi @engcom-Delta. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:

ameerpotrik commented 11 months ago

Hello @engcom-Delta , what are the next action steps?

ameerpotrik commented 11 months ago

Hello @engcom-Delta, were you able to reproduce the error?

Henryrchurchill commented 10 months ago

@ameerpotrik we have been experiencing the same issue. Having spoken to braintree/gene they believe a fix has been implemented in Magento v2.4.7-beta2 but obviously still in beta

ameerpotrik commented 10 months ago

@Henryrchurchill Thank you for sharing your experience. It's reassuring to hear that a fix has been implemented in Magento v2.4.7-beta2. We look forward to the stable release of this version to address the Google Pay payment issue.

sumeetmagento commented 8 months ago

I understood that this is fixed in Magento v2.4.7-beta2.

How can we fix this issue on Magento ver. 2.4.5-p1 manually?

m2-assistant[bot] commented 8 months ago

Hi @engcom-Dash. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:


engcom-Dash commented 8 months ago

Hi @ameerpotrik

Thanks for reporting and collaboration.

Verified the issue in Magento v2.4.7-beta2 and magento 2.4 dev instance but the issue is not reproducible.

For a fix in Magento ver. 2.4.5-p1 manually we will get back to you on this.

Thanks.

LucScu commented 2 months ago

@ameerpotrik i have the same issue on 2.4.6-p3. Do you have a fix for it? I just see that gene commerce release new version 4.6.1 (https://support.gene.co.uk/support/solutions/articles/35000228529-braintree-release-notes-for-v4-6-1-adobe-commerce-magento-open-source-v2-4-7-) with the feature "3DS support for Google Pay".

engcom-Dash commented 2 months ago

@magento give me 2.4-develop instance

magento-deployment-service[bot] commented 2 months ago

Hi @engcom-Dash. Thank you for your request. I'm working on Magento instance for you.

magento-deployment-service[bot] commented 2 months ago

Hi @engcom-Dash, here is your Magento Instance: https://b4444139337df1d99d62df03930c4b1f.instances-prod.magento-community.engineering Admin access: https://b4444139337df1d99d62df03930c4b1f.instances-prod.magento-community.engineering/admin_7c02 Login: db11d8c8 Password: f17c56036579

LucScu commented 2 months ago

@engcom-Dash i just opened a ticket with gene support. i hope they'll reply so i will be able to share the answer.