Quick Start
This video walks you step-by-step through the iOS SDK integration process. Watch it to quickly understand setup, configuration, and key features in action.
Before integrating the Checkout SDK, please review the following requirements:
Since the minimum supported iOS version is 14, the primary demo application is implemented using UIKit framework (SwiftUI is recommended starting from iOS 15). ottu-ios/Example at main · ottuco/ottu-ios
However, there’s also a minimalistic SwiftUI-based demo app: ottu-ios/Example_SwiftUI at main · ottuco/ottu-ios
You can install the SDK via two paths:
Swift Package Manager (Recommended)
CocoaPods (Deprecated)
Add Ottu SDK as a dependency in Package.swift:
Or in Xcode:
Open your project
Go to Project > Targets > Package Dependencies
Add
ottu-iosas a dependency
Add the following line to your Podfile:
Run:
When ottu_checkout_sdk is added to the Podfile, the GitHub repository must also be specified as follows:
If you see “could not find compatible versions for pod”, run:
Once the SDK is installed, follow these steps to integrate it into your app.
Import the SDK
In your ViewController.swift (or any file responsible for presenting the SDK):
Conform to OttuDelegate
Your view controller must implement the OttuDelegate protocol:
Declare a Checkout Member
Inside your ViewController
Initialize Checkout
Inside viewDidLoad, initialize the Checkout SDK:
Required parameters
sessionId→ ID of the created transactionmerchantId→ Same as the domain address in API requestsapiKey→ Public API key for authorizationdelegate→ Callback listener (usuallyself)
Recommended parameters
formsOfPayment→ Defines available payment methodssetupPreload→ Preloads transaction details for faster initialization
setupPreloadcomes from the transaction creation response. Passing it prevents the SDK from re-fetching transaction details, reducing initialization time by several seconds. It is a decoded JSON object to aTransactionDetailsobject. See an example: MainViewController.swift
The simplest version of the initialization looks like this:
Add the Payment View
Still inside viewDidLoad, embed the payment view into your container:
This is a basic example that adds the Checkout view without handling dimensions. For proper layout with constraints, refer to the demo app: OttuPaymentsViewController.swift
In order ViewController to be compliant to OttuDelegate, add the following functions to ViewController class:
Error → Displays an error alert and navigates back
Cancel → Displays cancel reason (custom handling for
kpay)Success → Displays success confirmation
This code describes callbacks to be handled by the parent app.
If your app should support Apple Pay:
Enable Apple Pay capability in:
Xcode > Targets > Signing & CapabilitiesAdd Apple Pay Merchant IDs (MID) in project settings
Last updated