Skip to content

Commit

Permalink
If user cancels adding new card, don't show error banner (#2035)
Browse files Browse the repository at this point in the history
  • Loading branch information
ifosli authored Apr 15, 2024
1 parent be85c8c commit befed1b
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,7 @@ internal final class PaymentMethodSettingsViewController: UIViewController,
.paymentSheetDidAdd(newCard: paymentDisplayData, setupIntent: clientSecret)
case .canceled:
strongSelf.viewModel.inputs.failedToAddNewCard()
strongSelf.messageBannerViewController?
.showBanner(with: .error, message: Strings.general_error_something_wrong())
// User cancelled intentionally so don't show them an error banner.
case let .failed(error):
strongSelf.viewModel.inputs.failedToAddNewCard()
strongSelf.messageBannerViewController?.showBanner(with: .error, message: error.localizedDescription)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,8 @@ final class PledgePaymentMethodsViewController: UIViewController {
strongSelf.viewModel.inputs
.paymentSheetDidAdd(newCard: paymentDisplayData, clientSecret: clientSecret)
case .canceled:
strongSelf.messageDisplayingDelegate?
.pledgeViewController(strongSelf, didErrorWith: Strings.general_error_something_wrong())
// User cancelled intentionally so do nothing.
break
case let .failed(error):
strongSelf.messageDisplayingDelegate?
.pledgeViewController(strongSelf, didErrorWith: error.localizedDescription)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -282,8 +282,11 @@ final class PostCampaignCheckoutViewController: UIViewController,
STPPaymentHandler.shared()
.confirmPayment(paymentParams, with: self) { status, _, error in
guard error == nil, status == .succeeded else {
self.messageBannerViewController?
.showBanner(with: .error, message: Strings.Something_went_wrong_please_try_again())
// Only show error banner if confirmation failed instead of being canceled.
if status == .failed {
self.messageBannerViewController?
.showBanner(with: .error, message: Strings.Something_went_wrong_please_try_again())
}
self.viewModel.inputs.checkoutTerminated()
return
}
Expand Down

0 comments on commit befed1b

Please sign in to comment.