Created
November 28, 2018 17:22
-
-
Save melwaraki/8b8f153a9d13705bc542168358d3ee99 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//function that presents STPPaymentMethodsViewController | |
func handlePaymentMethodsButtonTapped() { | |
// Setup customer context | |
let customerKeyProvider = StripeCustomerSessionManager() | |
let customerContext = STPCustomerContext(keyProvider: customerKeyProvider) | |
// Setup payment methods view controller | |
let paymentMethodsViewController = STPPaymentMethodsViewController(configuration: STPPaymentConfiguration.shared(), theme: STPTheme.default(), customerContext: customerContext, delegate: self) | |
// Present payment methods view controller | |
let navigationController = UINavigationController(rootViewController: paymentMethodsViewController) | |
present(navigationController, animated: true) //crashes here - doesn't crash when i comment out this line but then obviously doesn't present the vc either | |
} | |
//delegate functions - not sure if necessary here | |
func paymentMethodsViewController(_ paymentMethodsViewController: STPPaymentMethodsViewController, didFailToLoadWithError error: Error) { | |
// Dismiss payment methods view controller | |
dismiss(animated: true) | |
// Present error to user... | |
} | |
func paymentMethodsViewControllerDidCancel(_ paymentMethodsViewController: STPPaymentMethodsViewController) { | |
// Dismiss payment methods view controller | |
dismiss(animated: true) | |
} | |
func paymentMethodsViewControllerDidFinish(_ paymentMethodsViewController: STPPaymentMethodsViewController) { | |
// Dismiss payment methods view controller | |
dismiss(animated: true) | |
SwiftSpinner.show("Updating Payment Methods") | |
APIManager.getWallet(success: { (w) in | |
SwiftSpinner.hide() | |
print("current wallet = ") | |
print(w) | |
print(w.defaultCard?.brandName) | |
self.wallet = w | |
self.tableView.reloadData() | |
}, error: { (errorMessage) in | |
// Handle error. | |
SwiftSpinner.hide() | |
let alertView = UIAlertController(title: "Error Fetching Payment Details", message: errorMessage, preferredStyle: .alert) | |
alertView.addAction(UIAlertAction(title: "Dismiss", style: .default, handler: nil)) | |
self.present(alertView, animated: true, completion: nil) | |
}, forceRefresh: true) | |
} | |
func paymentMethodsViewController(_ paymentMethodsViewController: STPPaymentMethodsViewController, didSelect paymentMethod: STPPaymentMethod) { | |
// Save selected payment meth | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment