Overview
The Yuno iOS SDK provides a pre-built payment UI that handles payment method rendering, card tokenization, and 3DS authentication. It supports UIKit and SwiftUI.Prerequisites
- Xcode 15 or later
- iOS 14.0+ deployment target
- Swift 5.9+
- Yuno API keys (Authentication)
- At least one payment method enabled in your Dashboard
Installation
- CocoaPods
- Swift Package Manager
Podfile:.xcworkspace file (not .xcodeproj) after installation.SDK Initialization
Initialize the SDK early in your app lifecycle, typically inAppDelegate or @main App struct.
Configuration options
Full Checkout
Full Checkout renders all enabled payment methods with a single call. Yuno manages the entire UI.Create a checkout session (server-side)
checkout_session token to your iOS app.Present Full Checkout (UIKit)
Present Full Checkout (SwiftUI)
Verify payment (server-side)
Seamless Checkout
Seamless Checkout gives you control over payment method selection while Yuno handles the payment form.Retrieve available payment methods
Start Seamless Checkout for selected method
Handle the payment creation callback
3DS Handling
The SDK handles 3D Secure authentication automatically. When a payment requires 3DS, the SDK presents the authentication challenge within the checkout flow. No additional code is required. TheyunoPaymentResult delegate method receives the final result after 3DS completes.
Apple Pay
To enable Apple Pay in the Yuno iOS SDK:Configure Apple Pay in Xcode
Enable Apple Pay in Yuno Dashboard
Pass Apple Pay configuration
Customization
Customize the checkout appearance to match your app’s design.Localization
The SDK supports automatic localization based on the device locale. Override with:Error Handling
Handle SDK errors through the delegate:Common error codes
Testing in Sandbox
Use sandbox environment
environment: .sandbox during initialization.Use test credentials
Test with Yuno test cards
Troubleshooting
SDK not initializing
- Verify you are calling
Yuno.initialize()before any other SDK method - Confirm the public API key is correct and matches your environment
- Check that the deployment target is iOS 14.0+
Checkout not appearing
- Ensure the checkout session token is valid and not expired
- Verify the presenting view controller is in the view hierarchy
- Check that at least one payment method is enabled in Dashboard for the specified country
Payment failing silently
- Implement the
yunoPaymentResultdelegate method to capture all outcomes - Enable verbose logging for debugging:
- Check Xcode console for SDK log output
Build errors after installation
- CocoaPods: Run
pod deintegrate && pod installto clean and reinstall - SPM: Reset package caches via File > Packages > Reset Package Caches
- Ensure
use_frameworks!is present in your Podfile
API Reference
Full parameter reference, delegate methods, enrollment, and Info.plist entries
Full parameter reference, delegate methods, enrollment, and Info.plist entries
YunoConfig Parameters
Full Checkout Parameters
Seamless Checkout Parameters
Delegate Methods
YunoPaymentDelegate:Enrollment
Start card enrollment (vaulting) for returning customers:CREATED, READY_TO_ENROLL, ENROLLED, ENROLL_FAILED, EXPIRED, REJECTED, DECLINED, UNENROLLEDExtended Customization
Additional appearance properties beyond the basics:.systemBackground, .label) for automatic adaptation.