The Klarna In-App SDK allows merchants to integrate Klarna's products into their apps natively. This means that you can add services like Klarna Payments to your app and let your customers pay with our payment methods.
Are you looking for Klarna Checkout? Check out the Klarna Checkout SDK repo instead.
Klarna In-App SDK offers two integration approaches: Native integration and Hybrid integration.
Native integration allows fully native apps to add views with Klarna content to their app. We currently support Klarna Payments, allowing you to add payment views to your checkout and authorizing a session to create an order natively.
Hybrid integration will enhance your customers' experience if your app renders in a web view that presents content from Klarna.
The SDK removes any possible friction in your app's checkout flow by leveraging native functionality in iOS and Android. Some of the things the SDK does are:
As previously mentioned, Klarna Payments supports native integration. The main idea behind Klarna Payments is to give merchants the ability to offer Klarna's payment methods to customers. Because Klarna doesn't own the entire checkout flow, a check must be performed before an order is created. Our goal with this integration is to offer you the same simple development experience as you have on the web. As such, integrating Klarna Payments consists of four steps:
Our iOS and Android SDKs hold weak references to your web views, don't override any part of your implementation or modify your web views in any way. Because of this, we ask you to perform some minor integration work to make your users' experience as pleasant as possible. This consists of four steps:
These are our iOS-specific guides for the In-App SDK. We currently have guides to get you started, to integrate Klarna Payments, and to perform a hybrid integration.
These are our Android-specific guides for the In-App SDK. We currently have guides to get you started, to integrate Klarna Payments, and to perform a hybrid integration.
If you are using an older version of the SDK (<2.0.0), you should refer to these integration guides, and if you want to migrate to 2.0.0 or above, you can use the Migration Guide to see what has changed.
AAR files for the Android SDK can be found publicly on our CDN. These files are structured for each version hence in order to get the files url path needs to be changed with the version number.
E.g. for Android SDK version 2.0.24 it is
If you are having any issues using the SDK in your project or if you think that something is wrong with the SDK itself, please create an issue on Github or report a bug by following the guidelines in the next section.
Thank you for reading this and taking the time to contribute to Klarna In-App SDK! Below is a set of guidelines to help you contribute whether you want to report a bug, come with suggestions or modify code.
This section will guide you through submitting a bug report for Klarna In-App SDK.
Before submitting a bug report, please check that the issue hasn't been reported before. If you find a Closed issue that seems to describe an issue that is similar to what you want to report, open a new issue and link to the original issue in the new one. When you have checked that the issue hasn't been reported before, please fill out the required template which will help us resolve the issue faster.
Submitted bugs are tracked as GitHub issues. To report a bug, create an issue and use the template to provide information about the bug. Explain the problem thoroughly and include any additional information that you think might help the maintainers reproduce the issue. When creating the GitHub issue please make sure that you:
Include details about the device/emulator/simulator you are experiencing the issue on:
Before contributing, please read through the Klarna In-App SDK documentation.
Prefix the branch you are going to work on depending on what you are working on (bug fix or feature). Use the following prefixes when creating a new branch:
When creating a PR, please include as much information as possible about the type of enhancement, whether if it's a bugfix, new functionality, or any other change. There's a template for you to fill out, which will make the review process for the maintainers faster. When creating a PR do it against the
master branch. The PR should include:
Copyright 2018 Klarna Bank AB
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.