Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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
1 of 5 tasks
ameerpotrik opened this issue Sep 6, 2023 · 13 comments
Assignees
Labels
Issue: ready for confirmation Reported on 2.4.6 Indicates original Magento version for the Issue report.

Comments

@ameerpotrik
Copy link

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

  • 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”.
@m2-assistant
Copy link

m2-assistant bot commented Sep 6, 2023

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.
⚠️ According to the Magento Contribution requirements, all issues must go through the Community Contributions Triage process. Community Contributions Triage is a public meeting.
🕙 You can find the schedule on the Magento Community Calendar page.
📞 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-community-project m2-community-project bot added this to Ready for Confirmation in Issue Confirmation and Triage Board Sep 6, 2023
@engcom-Bravo engcom-Bravo added the Reported on 2.4.6 Indicates original Magento version for the Issue report. label Sep 6, 2023
@ameerpotrik
Copy link
Author

Was this issue reproducible?

@engcom-Delta
Copy link
Contributor

@magento give me 2.4-develop instance

@magento-deployment-service
Copy link

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

@magento-deployment-service
Copy link

@engcom-Delta engcom-Delta self-assigned this Sep 25, 2023
@m2-assistant
Copy link

m2-assistant bot commented Sep 25, 2023

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: 👇

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

@engcom-Delta engcom-Delta removed their assignment Sep 25, 2023
@ameerpotrik
Copy link
Author

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

@ameerpotrik
Copy link
Author

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

@Henryrchurchill
Copy link

@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
Copy link
Author

@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
Copy link

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?

@engcom-Dash engcom-Dash self-assigned this Jan 11, 2024
Copy link

m2-assistant bot commented Jan 11, 2024

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: 👇

    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!

@engcom-Dash
Copy link

engcom-Dash commented Jan 12, 2024

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.

@m2-community-project m2-community-project bot removed this from Ready for Confirmation in Issue Confirmation and Triage Board Jan 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue: ready for confirmation Reported on 2.4.6 Indicates original Magento version for the Issue report.
Projects
None yet
Development

No branches or pull requests

6 participants