import SwiftUIimport PrimerSDKstruct CheckoutView: View { let clientToken: String var body: some View { PrimerCheckout( clientToken: clientToken, onCompletion: { state in switch state { case .success(let result): // Navigate to confirmation print("Payment succeeded: \(result.payment?.id ?? "")") case .failure(let error): print("Payment failed: \(error.errorId)") case .dismissed: print("Checkout was dismissed") default: break } } ) }}
PrimerCheckoutSheet( checkout = checkout, onEvent = { event -> when (event) { is PrimerCheckoutEvent.Success -> { val payment = event.checkoutData.payment navController.navigate("confirmation/${payment.id}") } is PrimerCheckoutEvent.Failure -> { Log.e("Checkout", "Failed: ${event.error.diagnosticsId}") } } },)
PrimerCheckout( clientToken: clientToken, onCompletion: { state in switch state { case .success(let result): // Navigate to confirmation screen print("Payment succeeded: \(result.payment?.id ?? "")") case .failure(let error): // Error is already displayed in the checkout UI print("Payment failed: \(error.errorId)") case .dismissed: print("Checkout was dismissed") default: break } })