From 4fb6bb3032be73e29e9632ca99ecfa5ab965da04 Mon Sep 17 00:00:00 2001 From: Robert Schulze Dieckhoff Date: Thu, 10 Oct 2024 10:28:05 +0200 Subject: [PATCH 1/2] Added session result for iOS --- .../components/delegates/ComponentSessionFlowHandler.swift | 1 + ios/Classes/dropIn/dropInSessions/DropInSessionsDelegate.swift | 1 + lib/src/common/model/payment_result.dart | 2 ++ lib/src/components/apple_pay/apple_pay_session_component.dart | 1 + lib/src/components/card/card_session_component.dart | 1 + lib/src/components/google_pay/google_pay_session_component.dart | 1 + lib/src/components/instant/instant_session_component.dart | 1 + lib/src/drop_in/drop_in.dart | 1 + 8 files changed, 9 insertions(+) diff --git a/ios/Classes/components/delegates/ComponentSessionFlowHandler.swift b/ios/Classes/components/delegates/ComponentSessionFlowHandler.swift index f41a956b..c5d9b297 100644 --- a/ios/Classes/components/delegates/ComponentSessionFlowHandler.swift +++ b/ios/Classes/components/delegates/ComponentSessionFlowHandler.swift @@ -18,6 +18,7 @@ class ComponentSessionFlowHandler: AdyenSessionDelegate { let paymentResult = PaymentResultModelDTO( sessionId: session.sessionContext.identifier, sessionData: session.sessionContext.data, + sessionResult: result.encodedResult, resultCode: result.resultCode.rawValue ) let componentCommunicationModel = ComponentCommunicationModel( diff --git a/ios/Classes/dropIn/dropInSessions/DropInSessionsDelegate.swift b/ios/Classes/dropIn/dropInSessions/DropInSessionsDelegate.swift index 97c445fb..c1277119 100644 --- a/ios/Classes/dropIn/dropInSessions/DropInSessionsDelegate.swift +++ b/ios/Classes/dropIn/dropInSessions/DropInSessionsDelegate.swift @@ -15,6 +15,7 @@ class DropInSessionsDelegate: AdyenSessionDelegate { let paymentResult = PaymentResultModelDTO( sessionId: session.sessionContext.identifier, sessionData: session.sessionContext.data, + sessionResult: result.encodedResult, resultCode: result.resultCode.rawValue ) let platformCommunicationModel = PlatformCommunicationModel( diff --git a/lib/src/common/model/payment_result.dart b/lib/src/common/model/payment_result.dart index 6a2b589c..1f5d9b6c 100644 --- a/lib/src/common/model/payment_result.dart +++ b/lib/src/common/model/payment_result.dart @@ -14,12 +14,14 @@ class PaymentSessionFinished extends PaymentResult { final String sessionData; final ResultCode resultCode; final OrderResponse? order; + final String? sessionResult; PaymentSessionFinished({ required this.sessionId, required this.sessionData, required this.resultCode, this.order, + this.sessionResult, }); } diff --git a/lib/src/components/apple_pay/apple_pay_session_component.dart b/lib/src/components/apple_pay/apple_pay_session_component.dart index 76229634..32f63bc2 100644 --- a/lib/src/components/apple_pay/apple_pay_session_component.dart +++ b/lib/src/components/apple_pay/apple_pay_session_component.dart @@ -46,6 +46,7 @@ class ApplePaySessionComponent extends BaseApplePayComponent { onPaymentResult(PaymentSessionFinished( sessionId: paymentResultDTO?.result?.sessionId ?? "", sessionData: paymentResultDTO?.result?.sessionData ?? "", + sessionResult: paymentResultDTO?.result?.sessionResult, resultCode: resultCode, )); } diff --git a/lib/src/components/card/card_session_component.dart b/lib/src/components/card/card_session_component.dart index d31c8e11..d7196c46 100644 --- a/lib/src/components/card/card_session_component.dart +++ b/lib/src/components/card/card_session_component.dart @@ -48,6 +48,7 @@ class CardSessionComponent extends BaseCardComponent { onPaymentResult(PaymentSessionFinished( sessionId: paymentResultDTO?.result?.sessionId ?? "", sessionData: paymentResultDTO?.result?.sessionData ?? "", + sessionResult: paymentResultDTO?.result?.sessionResult, resultCode: resultCode, )); } diff --git a/lib/src/components/google_pay/google_pay_session_component.dart b/lib/src/components/google_pay/google_pay_session_component.dart index 05ec1b25..6a9c0081 100644 --- a/lib/src/components/google_pay/google_pay_session_component.dart +++ b/lib/src/components/google_pay/google_pay_session_component.dart @@ -47,6 +47,7 @@ class GooglePaySessionComponent extends BaseGooglePayComponent { onPaymentResult(PaymentSessionFinished( sessionId: paymentResultDTO.result?.sessionId ?? "", sessionData: paymentResultDTO.result?.sessionData ?? "", + sessionResult: paymentResultDTO.result?.sessionResult, resultCode: resultCode, )); } diff --git a/lib/src/components/instant/instant_session_component.dart b/lib/src/components/instant/instant_session_component.dart index c06d630a..43136a24 100644 --- a/lib/src/components/instant/instant_session_component.dart +++ b/lib/src/components/instant/instant_session_component.dart @@ -27,6 +27,7 @@ class InstantSessionComponent extends BaseInstantComponent { onPaymentResult(PaymentSessionFinished( sessionId: paymentResultDTO.result?.sessionId ?? "", sessionData: paymentResultDTO.result?.sessionData ?? "", + sessionResult: paymentResultDTO.result?.sessionResult, resultCode: resultCode, )); } diff --git a/lib/src/drop_in/drop_in.dart b/lib/src/drop_in/drop_in.dart index f1d5e91f..434b50b2 100644 --- a/lib/src/drop_in/drop_in.dart +++ b/lib/src/drop_in/drop_in.dart @@ -72,6 +72,7 @@ class DropIn { return PaymentSessionFinished( sessionId: paymentResultDTO.result?.sessionId ?? "", sessionData: paymentResultDTO.result?.sessionData ?? "", + sessionResult: paymentResultDTO.result?.sessionResult, resultCode: paymentResultDTO.result?.toResultCode() ?? ResultCode.unknown, order: paymentResultDTO.result?.order?.fromDTO(), From f6008111ab7631f2a0d929994140b7cf6298e16e Mon Sep 17 00:00:00 2001 From: Robert Schulze Dieckhoff Date: Fri, 11 Oct 2024 16:31:31 +0200 Subject: [PATCH 2/2] Added sessionResult to the PaymentSessionFinished payment result. --- CHANGELOG.md | 1 + lib/src/common/model/payment_result.dart | 4 ++-- lib/src/components/apple_pay/apple_pay_session_component.dart | 2 +- lib/src/components/card/card_session_component.dart | 2 +- .../components/google_pay/google_pay_session_component.dart | 2 +- lib/src/components/instant/instant_session_component.dart | 2 +- lib/src/drop_in/drop_in.dart | 2 +- 7 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 44ebde88..e4911e32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ * Added support for partial payments. * Improved dynamic viewport of card component. +* Added sessionResult to the PaymentSessionFinished payment result. * Added support of iDEAL to the Instant Component. * Added the missing loading bottom sheet for the advanced flow google pay component. * Removed alert in case the deletion of stored payment method failed. diff --git a/lib/src/common/model/payment_result.dart b/lib/src/common/model/payment_result.dart index 1f5d9b6c..e470ef9f 100644 --- a/lib/src/common/model/payment_result.dart +++ b/lib/src/common/model/payment_result.dart @@ -12,16 +12,16 @@ class PaymentAdvancedFinished extends PaymentResult { class PaymentSessionFinished extends PaymentResult { final String sessionId; final String sessionData; + final String sessionResult; final ResultCode resultCode; final OrderResponse? order; - final String? sessionResult; PaymentSessionFinished({ required this.sessionId, required this.sessionData, + required this.sessionResult, required this.resultCode, this.order, - this.sessionResult, }); } diff --git a/lib/src/components/apple_pay/apple_pay_session_component.dart b/lib/src/components/apple_pay/apple_pay_session_component.dart index 32f63bc2..7b2f9dc2 100644 --- a/lib/src/components/apple_pay/apple_pay_session_component.dart +++ b/lib/src/components/apple_pay/apple_pay_session_component.dart @@ -46,7 +46,7 @@ class ApplePaySessionComponent extends BaseApplePayComponent { onPaymentResult(PaymentSessionFinished( sessionId: paymentResultDTO?.result?.sessionId ?? "", sessionData: paymentResultDTO?.result?.sessionData ?? "", - sessionResult: paymentResultDTO?.result?.sessionResult, + sessionResult: paymentResultDTO?.result?.sessionResult ?? "", resultCode: resultCode, )); } diff --git a/lib/src/components/card/card_session_component.dart b/lib/src/components/card/card_session_component.dart index d7196c46..bd5de65c 100644 --- a/lib/src/components/card/card_session_component.dart +++ b/lib/src/components/card/card_session_component.dart @@ -48,7 +48,7 @@ class CardSessionComponent extends BaseCardComponent { onPaymentResult(PaymentSessionFinished( sessionId: paymentResultDTO?.result?.sessionId ?? "", sessionData: paymentResultDTO?.result?.sessionData ?? "", - sessionResult: paymentResultDTO?.result?.sessionResult, + sessionResult: paymentResultDTO?.result?.sessionResult ?? "", resultCode: resultCode, )); } diff --git a/lib/src/components/google_pay/google_pay_session_component.dart b/lib/src/components/google_pay/google_pay_session_component.dart index 6a9c0081..7d44e1d7 100644 --- a/lib/src/components/google_pay/google_pay_session_component.dart +++ b/lib/src/components/google_pay/google_pay_session_component.dart @@ -47,7 +47,7 @@ class GooglePaySessionComponent extends BaseGooglePayComponent { onPaymentResult(PaymentSessionFinished( sessionId: paymentResultDTO.result?.sessionId ?? "", sessionData: paymentResultDTO.result?.sessionData ?? "", - sessionResult: paymentResultDTO.result?.sessionResult, + sessionResult: paymentResultDTO.result?.sessionResult ?? "", resultCode: resultCode, )); } diff --git a/lib/src/components/instant/instant_session_component.dart b/lib/src/components/instant/instant_session_component.dart index 43136a24..50765ed1 100644 --- a/lib/src/components/instant/instant_session_component.dart +++ b/lib/src/components/instant/instant_session_component.dart @@ -27,7 +27,7 @@ class InstantSessionComponent extends BaseInstantComponent { onPaymentResult(PaymentSessionFinished( sessionId: paymentResultDTO.result?.sessionId ?? "", sessionData: paymentResultDTO.result?.sessionData ?? "", - sessionResult: paymentResultDTO.result?.sessionResult, + sessionResult: paymentResultDTO.result?.sessionResult ?? "", resultCode: resultCode, )); } diff --git a/lib/src/drop_in/drop_in.dart b/lib/src/drop_in/drop_in.dart index 434b50b2..93e0303e 100644 --- a/lib/src/drop_in/drop_in.dart +++ b/lib/src/drop_in/drop_in.dart @@ -72,7 +72,7 @@ class DropIn { return PaymentSessionFinished( sessionId: paymentResultDTO.result?.sessionId ?? "", sessionData: paymentResultDTO.result?.sessionData ?? "", - sessionResult: paymentResultDTO.result?.sessionResult, + sessionResult: paymentResultDTO.result?.sessionResult ?? "", resultCode: paymentResultDTO.result?.toResultCode() ?? ResultCode.unknown, order: paymentResultDTO.result?.order?.fromDTO(),