-
Notifications
You must be signed in to change notification settings - Fork 134
SDKData for payment data object #2266
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
base: develop
Are you sure you want to change the base?
Conversation
Adds new field combining several fields for payments calls while deprecating the old ones.
Summary of ChangesHello @erenbesel, 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 introduces a significant architectural improvement by centralizing SDK-specific payment data into a new Highlights
Using Gemini Code AssistThe 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
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 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
|
|
ℹ️ No baseline data found for 'develop'.
|
|
/gemini review |
There was a problem hiding this 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 a new sdkData field to PaymentComponentData to consolidate SDK-specific information, which is a great step towards improving performance and code clarity. The changes are well-implemented across the board, including deprecating old fields and refactoring to remove duplicated logic in DropInComponent. My review focuses on strengthening the tests to ensure they fully validate the new sdkData functionality. I've provided a few suggestions to make the tests more robust by verifying the contents of the encoded sdkData.
Tests/IntegrationTests/Components Tests/PaymentComponent/PaymentComponentSubjectTests.swift
Outdated
Show resolved
Hide resolved
Tests/IntegrationTests/Components Tests/PaymentComponent/PaymentComponentSubjectTests.swift
Outdated
Show resolved
Hide resolved
Tests/IntegrationTests/Components Tests/PaymentComponent/PaymentComponentSubjectTests.swift
Outdated
Show resolved
Hide resolved
@erenbesel let's re-run this check? |
| } | ||
|
|
||
| /// An encoded string containing important SDK-specific data. | ||
| /// It is recommended to pass this field to your server to ensure maximum performance and reliability. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please disregard if it makes no sense, but I decided to bring this to your attention. Can we make this statement less vague and explain a bit more?
And the second part, a bit more bold just to stretch us - can we make it non-optional?
|
| ❇️ | 1 Addition |
| 🔀 | 3 Modifications |
Adyen
PaymentComponentData
❇️ Added
public var sdkData: Swift.String?🔀 Modified
// From
public let supportNativeRedirect: Swift.Bool { get }
// To
@available(*, deprecated, message: "This property is deprecated. Use the new sdkData property instead.")
public let supportNativeRedirect: Swift.Bool { get }
/**
Changes:
- Added attribute `@available(*, deprecated, message: "This property is deprecated. Use the new sdkData property instead.")`
*/// From
public var checkoutAttemptId: Swift.String? { get }
// To
@available(*, deprecated, message: "This property is deprecated. Use the new sdkData property instead.")
public var checkoutAttemptId: Swift.String? { get }
/**
Changes:
- Added attribute `@available(*, deprecated, message: "This property is deprecated. Use the new sdkData property instead.")`
*/AdyenCard
CardDetails
🔀 Modified
// From
public let threeDS2SDKVersion: Swift.String { get }
// To
@available(*, deprecated, message: "This property is deprecated. Use the new sdkData property of the PaymentComponentData object instead.")
public let threeDS2SDKVersion: Swift.String { get }
/**
Changes:
- Added attribute `@available(*, deprecated, message: "This property is deprecated. Use the new sdkData property of the PaymentComponentData object instead.")`
*/Analyzed targets: Adyen, AdyenActions, AdyenCard, AdyenCardScanner, AdyenCashAppPay, AdyenComponents, AdyenDelegatedAuthentication, AdyenDropIn, AdyenEncryption, AdyenSession, AdyenSwiftUI, AdyenTwint, AdyenWeChatPay
|



Summary [Required]
Add a new field called
sdkDatato thePaymentComponentDatatype to improve the SDK's performance.Release notes
New
* The `sdkData` property in the `PaymentComponentData` object. For Advanced flow: it is highly recommended you include it in your `/payments` request.Deprecated
In the `PaymentComponentData` object:checkoutAttemptIdIn the
CardDetailsobject:threeDS2SDKVersionUse the new
sdkDataproerty instead.Ticket [Optional]
COSDK-515Checklist [Required]