The kevin. iOS SDK enables to easily integrate AIS and PIS services in your mobile application. We provide neat, customisable UI screens so integration would be as quick as possible. We also expose the low-level APIs that power those UIs so that you can build fully custom experiences.
If you're a developer:
- Get started with our SDK reference
- Get started with our Developer Portal
- Check out our Samples for an example of how you can easily integrate kevin. iOS SDK for the most common cases
Optionally:
- Visit our Demo App for a showcase of a fully featured iOS app utilising kevin. iOS SDK
- Account linking - we provide an easy solution to authenticate and manage user bank accounts.
- Bank payments - we provide a possibility to integrate bank payments in your app with both SCA and non-SCA options.
- Swift Package Manager - kevin. iOS SDK supports Swift Package Manager, which is the recommended option. Add a dependency to your project with:
.package(url: "https://github.com/getkevin/kevin-ios", from: "2.2.12")
- CocoaPods: - add
pod 'kevin-ios'
to yourPodfile
import Kevin
let paymentID = "UUID" // Put your actual payment's ID here
let configuration = try KevinPaymentSessionConfiguration.Builder(paymentId: paymentID)
.setPaymentType(.bank)
.build()
KevinPaymentSession.shared.delegate = self // Set the delegate to obtain payment session result
KevinPaymentSession.shared.initiatePayment(configuration: configuration)
extension YourClassName: KevinPaymentSessionDelegate {
func onKevinPaymentInitiationStarted(controller: UINavigationController) {
// Present payment controller
present(controller, animated: true)
}
func onKevinPaymentCanceled(error: Error?) {
// Handle errors
}
func onKevinPaymentSucceeded(paymentId: String, status: KevinPaymentStatus) {
// Handle success
}
}
See more samples to check the most common use cases.
At the moment Flutter and React Native integrations are supported. Please check respective cross-platform documentation for a tutorial on how to do it.
We welcome contributions of any kind including new features, bug fixes, and documentation improvements. Please first open an issue describing what you want to build if it is a major change so that we can discuss how to move forward. Otherwise, go ahead and open a pull request for minor changes such as typo fixes and one liners.