Skip to content

Conversation

@candemiralp
Copy link
Contributor

Description

This PR fixes the issue related to L2/L3 ESD request builder. Initial implementation contains an if-block to check the tax amount and skip ESD building process if the total tax is zero.

This assumption is correct for L2 ESD but L3 still can be submitted with the zero tax amount. In this solution, the above mentioned condition has been removed to build ESD even if the tax amount is zero.

Tested scenarios

  • Building enhanced scheme data w/wo tax amount

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @candemiralp, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request resolves an issue in the L2/L3 Enhanced Scheme Data (ESD) request builder where a condition incorrectly blocked ESD generation for transactions with a zero tax amount. By removing this specific tax amount check, the system can now properly build and submit L3 ESD even when the tax is zero, ensuring accurate and complete data submission for all relevant payment scenarios. The corresponding unit tests have also been updated to reflect this corrected behavior.

Highlights

  • L2/L3 Enhanced Scheme Data Builder Logic: Removed a conditional check that previously prevented the generation of L2/L3 Enhanced Scheme Data (ESD) if the order's tax amount was zero, empty, or negative.
  • L3 ESD Submission Correction: This change ensures that L3 ESD can now be correctly submitted even when the tax amount is zero, addressing a previous limitation where this was only considered valid for L2 ESD.
  • Unit Test Refinement: Removed the taxAmountDataProvider and testLevel23DataInvalidTaxAmounts unit test, as the logic they tested (preventing ESD generation for zero/invalid tax amounts) is no longer applicable after the core change.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request correctly removes the condition that prevented L2/L3 Enhanced Scheme Data from being built when the tax amount is zero, which is necessary for L3 data submissions. The corresponding unit tests that checked for this restriction have also been appropriately removed. My review highlights a potential issue with the removal of the check for negative tax amounts, which could lead to payment failures if not supported by the Adyen API. Additionally, I've suggested enhancing the test suite to cover the new behavior of handling zero tax amounts to improve long-term maintainability.

@sonarqubecloud
Copy link

@candemiralp candemiralp merged commit dcf87b8 into main-9 Oct 24, 2025
15 of 16 checks passed
@candemiralp candemiralp deleted the ECP-9834-v9 branch October 24, 2025 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Fix Indicates a bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants