@@ -119,7 +119,25 @@ extension StandaloneUrlView {
119119
120120 isLoadingNativePayment = false
121121 }
122-
122+
123+ private func showAlertOnPaymentSession3DSecureViewController( error: Error , retry: ( ( ) -> Void ) ? ) {
124+ let alert = UIAlertController ( title: nil ,
125+ message: " \( ( error as NSError ) . code) : \( error. localizedDescription) \n \n \( ( error as NSError ) . domain) " ,
126+ preferredStyle: . alert)
127+ alert. addAction ( UIAlertAction ( title: " general_ok " . localize, style: . cancel, handler: { _ in
128+ self . show3DSecureViewController = false
129+ self . paymentSession3DSecureViewController = nil
130+ } ) )
131+
132+ if let retry = retry {
133+ alert. addAction ( UIAlertAction ( title: " general_retry " . localize, style: . default, handler: { _ in
134+ retry ( )
135+ } ) )
136+ }
137+
138+ self . paymentSession3DSecureViewController? . present ( alert, animated: true , completion: nil )
139+ }
140+
123141 func paymentComplete( ) {
124142 setPaymentResult ( success: true , resultText: " stand_alone_url_payment_successful " . localize)
125143 }
@@ -158,6 +176,10 @@ extension StandaloneUrlView {
158176 errorMessage: " stand_alone_client_app_launch_failed " . localize)
159177 case . paymentSessionAPIRequestFailed( let error, let retry) :
160178 showAlert ( error: error, retry: retry)
179+ case . paymentControllerPaymentFailed( error: let error, retry: let retry) :
180+ showAlert ( error: error, retry: retry)
181+ case . paymentSession3DSecureViewControllerLoadFailed( error: let error, retry: let retry) :
182+ showAlertOnPaymentSession3DSecureViewController ( error: error, retry: retry)
161183 case . paymentSessionEndStateReached:
162184 setPaymentResult ( success: false , resultText: " stand_alone_url_payment_session_end_state_reached " . localize)
163185 case . internalInconsistencyError:
@@ -186,20 +208,11 @@ extension StandaloneUrlView {
186208 self . paymentSession3DSecureViewController = nil
187209 }
188210
189- func paymentSession3DSecureViewControllerLoadFailed( error: Error , retry: @escaping ( ) -> Void ) {
190- let alert = UIAlertController ( title: nil ,
191- message: " \( ( error as NSError ) . code) : \( error. localizedDescription) \n \n \( ( error as NSError ) . domain) " ,
192- preferredStyle: . alert)
193- alert. addAction ( UIAlertAction ( title: " general_ok " . localize, style: . cancel, handler: { _ in
194- self . show3DSecureViewController = false
195- self . paymentSession3DSecureViewController = nil
196- } ) )
197-
198- alert. addAction ( UIAlertAction ( title: " general_retry " . localize, style: . default, handler: { _ in
199- retry ( )
200- } ) )
201-
202- self . paymentSession3DSecureViewController? . present ( alert, animated: true , completion: nil )
211+ func showSwedbankPaySDKController( viewController: SwedbankPaySDKController ) {
212+ paymentSessionSwedbankPayController = viewController
213+ paymentSessionSwedbankPayController? . delegate = self
214+ displayPaymentSessionSwedbankPayController = true
215+ isLoadingNativePayment = false
203216 }
204217 }
205218}
0 commit comments