magento2 icon indicating copy to clipboard operation
magento2 copied to clipboard

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

Open ameerpotrik opened this issue 1 year ago • 11 comments

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: '[email protected]', 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

  • [X] Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • [ ] Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • [ ] Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • [ ] Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • [ ] Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.

ameerpotrik avatar Sep 06 '23 04:09 ameerpotrik

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:


Join Magento Community Engineering Slack and ask your questions in #github channel. :warning: According to the Magento Contribution requirements, all issues must go through the Community Contributions Triage process. Community Contributions Triage is a public meeting. :clock10: You can find the schedule on the Magento Community Calendar page. :telephone_receiver: The triage of issues happens in the queue order. If you want to speed up the delivery of your contribution, join the Community Contributions Triage session to discuss the appropriate ticket.

m2-assistant[bot] avatar Sep 06 '23 04:09 m2-assistant[bot]

Was this issue reproducible?

ameerpotrik avatar Sep 18 '23 03:09 ameerpotrik

@magento give me 2.4-develop instance

engcom-Delta avatar Sep 22 '23 10:09 engcom-Delta

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

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

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:

  • [ ] 1. Verify that issue has all the required information. (Preconditions, Steps to reproduce, Expected result, Actual result).
  • [ ] 2. Verify that issue has a meaningful description and provides enough information to reproduce the issue.
  • [ ] 3. Add Area: XXXXX label to the ticket, indicating the functional areas it may be related to.
  • [ ] 4. Verify that the issue is reproducible on 2.4-develop branch
    Details- Add the comment @magento give me 2.4-develop instance to deploy test instance on Magento infrastructure.
    - If the issue is reproducible on 2.4-develop branch, please, add the label Reproduced on 2.4.x.
    - If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and stop verification process here!
  • [ ] 5. Add label Issue: Confirmed once verification is complete.
  • [ ] 6. Make sure that automatic system confirms that report has been added to the backlog.

m2-assistant[bot] avatar Sep 25 '23 06:09 m2-assistant[bot]

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

ameerpotrik avatar Oct 05 '23 03:10 ameerpotrik

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

ameerpotrik avatar Oct 16 '23 07:10 ameerpotrik

@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

Henryrchurchill avatar Nov 10 '23 13:11 Henryrchurchill

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

ameerpotrik avatar Nov 17 '23 11:11 ameerpotrik

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?

sumeetmagento avatar Jan 05 '24 10:01 sumeetmagento

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:

    1. Verify that issue has all the required information. (Preconditions, Steps to reproduce, Expected result, Actual result).
    1. Verify that issue has a meaningful description and provides enough information to reproduce the issue.
    1. Add Area: XXXXX label to the ticket, indicating the functional areas it may be related to.
    1. Verify that the issue is reproducible on 2.4-develop branch
      Details- Add the comment @magento give me 2.4-develop instance to deploy test instance on Magento infrastructure.
      - If the issue is reproducible on 2.4-develop branch, please, add the label Reproduced on 2.4.x.
      - If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and stop verification process here!

m2-assistant[bot] avatar Jan 11 '24 13:01 m2-assistant[bot]

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.

engcom-Dash avatar Jan 12 '24 14:01 engcom-Dash

@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".

LucScu avatar Jul 06 '24 10:07 LucScu

@magento give me 2.4-develop instance

engcom-Dash avatar Jul 09 '24 07:07 engcom-Dash

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

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

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

LucScu avatar Jul 09 '24 09:07 LucScu