Let customers pay using TWINT via Checkout.com in Switzerland.
TWINT via Checkout.com is Switzerlandβs leading mobile payment wallet, supported by all major Swiss banks. Payments are redirect-based, completed via QR code or in-app link. CHF only; minimum 0.01 CHF, maximum 5,000 CHF.
One off payment
Refunds
Recurring
Cancel
β
β
x
β
TWINT via Checkout.com is in beta. Contact your Checkout.com account manager to enable it.
Use the payment method type CHECKOUT_TWINT wherever the code below references YOUR_PAYMENT_METHOD_TYPE.
Primer Checkout (recommended)
Universal Checkout (legacy)
Headless Universal Checkout (legacy)
Primer Checkout is our latest web SDK, built around declarative web components. Once TWINT is enabled in your Dashboard, the default <primer-checkout> layout renders it automatically alongside your other methods β no payment-method-specific markup is required.
Only reach for primer-payment-method if youβre building a custom layout and need to place TWINT at a specific position. The element only renders when the type is enabled in your Dashboard and returned by the server for this checkout.
If TWINT canβt be shown in a popup, Universal Checkout redirects the customer back to your site using the returnUrl passed in the redirect options. See Handle redirects & deep links for the full flow.
Redirect-based payment methods present a webpage or open a third-party app for the customer to authorize the payment. To return to your app once the customer has authorized the payment, include the urlScheme parameter when configuring PrimerPaymentMethodOptions.
let settings = PrimerSettings( // ... paymentMethodOptions: PrimerPaymentMethodOptions( urlScheme: "your-url-scheme://" // e.g. primer://, yourscheme:// ) // ...)
When the customer is redirected back to your app, iOS calls application(_:continue:restorationHandler:). Forward the call to the Primer SDK so the checkout can continue the flow.
// π Create the payment method managerlet nativeUIPaymentMethodManager = try PrimerHeadlessUniversalCheckout.NativeUIManager( paymentMethodType: "YOUR_PAYMENT_METHOD_TYPE")// π Show the payment methodtry nativeUIPaymentMethodManager.showPaymentMethod(intent: .checkout)
See NativeUIManager.init for the full API. As many redirect-based payment methods share this approach, we recommend centralizing the implementation β see the worked example in the Native UI Manager guide.
Use the payment method type CHECKOUT_TWINT wherever the code below references YOUR_PAYMENT_METHOD_TYPE.
// π Create the payment method managerval nativeUiManager = PrimerHeadlessUniversalCheckoutNativeUiManager.newInstance("YOUR_PAYMENT_METHOD_TYPE")// π Show the payment methodnativeUiManager.showPaymentMethod(this, PrimerSessionIntent.CHECKOUT)
See NativeUiManager.newInstance for the full API. As many redirect-based payment methods share this approach, we recommend centralizing the implementation β see the worked example in the Native UI Manager guide.