Skip to content

Conversation

@AdyenAutomationBot
Copy link
Collaborator

This PR contains the automated changes for the transfers service.

The commit history of this PR reflects the adyen-openapi commits that have been applied.

@AdyenAutomationBot AdyenAutomationBot requested review from a team as code owners January 14, 2026 09:19
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @AdyenAutomationBot, 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 delivers an automated update to the transfers service, primarily focusing on expanding its data models and improving documentation. Key changes include the introduction of a new FundingInstrument model, the addition of a storedPaymentMethodId to BankAccountV3, and a substantial increase in the possible ReasonEnum values for transfer-related objects. These updates aim to provide more detailed and accurate representations of transfer operations and their outcomes.

Highlights

  • New Model Introduction: A new FundingInstrument model has been added to represent the source of funds for transfers, including details like card identification, network payment reference, and source of funds type.
  • Enhanced Bank Account Details: The BankAccountV3 model now includes an optional storedPaymentMethodId field, allowing for the identification of stored bank account details for counterparty payouts.
  • Expanded Transfer Reasons: The ReasonEnum across Transfer, TransferData, and TransferEvent models has been significantly expanded with a comprehensive list of new values, providing more granular detail on why a transfer might be declined or encounter issues (e.g., AvsDeclined, CardExpired, Fraud, ScaAuthenticationRequired).
  • Platform Payment Type Updates: The PlatformPaymentTypeEnum now includes DCCMarkup and marks DCCPlatformCommission as deprecated, reflecting updates in how Dynamic Currency Conversion fees are categorized.
  • Documentation and Consistency Improvements: Various JSDoc comments and enum descriptions have been refined for clarity and consistency, particularly regarding currency codes, amount values, transfer categories, and priority options across several models.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

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 introduces updates to the transfers service, primarily through auto-generated code from an OpenAPI specification. The changes include adding a new FundingInstrument model, updating various enums with new values, and improving documentation comments for several models.

The changes are consistent and reflect an API update. My review focuses on improving the clarity and completeness of the generated code, particularly the documentation, to enhance maintainability and ease of use for developers consuming this SDK. I've suggested adding missing JSDoc comments for new properties and clarifying the relationship between a deprecated enum value and its replacement.



export class FundingInstrument {
"cardIdentification"?: CardIdentification | null;
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

Consider adding a JSDoc comment for the cardIdentification property to improve code clarity and maintainability. All other properties in this class have documentation.

Suggested change
"cardIdentification"?: CardIdentification | null;
/**
* The card details of the funding instrument.
*/
"cardIdentification"?: CardIdentification | null;

"paymentMerchantReference"?: string;
/**
* Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: the acquiring fee (the aggregated amount of interchange and scheme fee) incurred on a transaction. * **AdyenCommission**: the transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: all transaction fees due to Adyen. This is the aggregated amount of Adyen\'s commission and markup. * **AdyenMarkup**: the transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: the amount booked to your user after the deduction of the relevant fees. * **Commission**: your platform\'s or marketplace\'s commission on a transaction. * **DCCPlatformCommission**: the Dynamic Currency Conversion (DCC) fee on a transaction. * **Interchange**: the interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: the aggregated amount of all transaction fees. * **Remainder**: the leftover amount after currency conversion. * **SchemeFee**: the scheme fee incurred on a transaction. * **Surcharge**: the surcharge paid by the customer on a transaction. * **Tip**: the tip paid by the customer. * **TopUp**: an incoming transfer to top up your user\'s balance account. * **VAT**: the value-added tax charged on the payment.
* Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: The acquiring fee (the aggregated amount of interchange and scheme fee) incurred on a transaction. * **AdyenCommission**: The transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: All transaction fees due to Adyen. This is the aggregated amount of Adyen\'s commission and markup. * **AdyenMarkup**: The transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: The amount booked to your user after the deduction of the relevant fees. * **Commission**: Your platform\'s or marketplace\'s commission on a transaction. * **DCCPlatformCommission**: **deprecated** The Dynamic Currency Conversion (DCC) fee on a transaction. * **DCCMarkup**: The Dynamic Currency Conversion (DCC) fee on a transaction. * **Interchange**: The interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: The aggregated amount of all transaction fees. * **Remainder**: The leftover amount after currency conversion. * **SchemeFee**: The scheme fee incurred on a transaction. * **Surcharge**: The surcharge paid by the customer on a transaction. * **Tip**: The tip paid by the customer. * **TopUp**: An incoming transfer to top up your user\'s balance account. * **VAT**: The value-added tax charged on the payment.
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

To improve clarity around the deprecation, consider updating the descriptions for DCCPlatformCommission and DCCMarkup to explicitly mention the replacement relationship. This will help developers understand the change more easily.

Suggested change
* Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: The acquiring fee (the aggregated amount of interchange and scheme fee) incurred on a transaction. * **AdyenCommission**: The transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: All transaction fees due to Adyen. This is the aggregated amount of Adyen\'s commission and markup. * **AdyenMarkup**: The transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: The amount booked to your user after the deduction of the relevant fees. * **Commission**: Your platform\'s or marketplace\'s commission on a transaction. * **DCCPlatformCommission**: **deprecated** The Dynamic Currency Conversion (DCC) fee on a transaction. * **DCCMarkup**: The Dynamic Currency Conversion (DCC) fee on a transaction. * **Interchange**: The interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: The aggregated amount of all transaction fees. * **Remainder**: The leftover amount after currency conversion. * **SchemeFee**: The scheme fee incurred on a transaction. * **Surcharge**: The surcharge paid by the customer on a transaction. * **Tip**: The tip paid by the customer. * **TopUp**: An incoming transfer to top up your user\'s balance account. * **VAT**: The value-added tax charged on the payment.
* Specifies the nature of the transfer. This parameter helps categorize transfers so you can reconcile transactions at a later time, using the Balance Platform Accounting Report for [marketplaces](https://docs.adyen.com/marketplaces/reports-and-fees/balance-platform-accounting-report/) or [platforms](https://docs.adyen.com/platforms/reports-and-fees/balance-platform-accounting-report/). Possible values: * **AcquiringFees**: The acquiring fee (the aggregated amount of interchange and scheme fee) incurred on a transaction. * **AdyenCommission**: The transaction fee due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/guides/payments-training-guide/get-the-best-from-your-card-processing). * **AdyenFees**: All transaction fees due to Adyen. This is the aggregated amount of Adyen\'s commission and markup. * **AdyenMarkup**: The transaction fee due to Adyen under [Interchange++ pricing](https://www.adyen.com/pricing). * **BalanceAccount**: The amount booked to your user after the deduction of the relevant fees. * **Commission**: Your platform\'s or marketplace\'s commission on a transaction. * **DCCPlatformCommission**: **deprecated** Use `DCCMarkup` instead. The Dynamic Currency Conversion (DCC) fee on a transaction. * **DCCMarkup**: The Dynamic Currency Conversion (DCC) fee on a transaction. Replaces the deprecated `DCCPlatformCommission`. * **Interchange**: The interchange fee (fee paid to the issuer) incurred on a transaction. * **PaymentFee**: The aggregated amount of all transaction fees. * **Remainder**: The leftover amount after currency conversion. * **SchemeFee**: The scheme fee incurred on a transaction. * **Surcharge**: The surcharge paid by the customer on a transaction. * **Tip**: The tip paid by the customer. * **TopUp**: An incoming transfer to top up your user\'s balance account. * **VAT**: The value-added tax charged on the payment.

* The full name of the entity that owns the bank account or card. Supported characters: [a-z] [A-Z] [0-9] , . ; : - — / \\ + & ! ? @ ( ) \" \' and space. Required when `category` is **bank**.
*/
"fullName"?: string;
"fundingInstrument"?: FundingInstrument | null;
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

Consider adding a JSDoc comment for the fundingInstrument property to improve code clarity and maintainability.

Suggested change
"fundingInstrument"?: FundingInstrument | null;
/**
* The funding instrument used for the transfer.
*/
"fundingInstrument"?: FundingInstrument | null;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants