Klarna In-App SDK for iOS & Android
Klarna In-App SDK 允许商家以原生方式将 Klarna 的产品集成到他们的应用中。这意味着您可以将 Klarna 付款等服务添加到您的应用中,并让您的客户使用我们的支付方式付款。
您正在寻找 Klarna Checkout 吗? 请查看 Klarna Checkout SDK 仓库。
要求
- iOS 10 或更高版本。
- Android 4.4 或更高版本。
开发者文档
API 文档
Klarna In-App SDK 提供什么功能?
Klarna In-App SDK 提供两种集成方式:原生集成 和 混合集成。
原生集成 使得原生应用程序能够在其应用中添加带有 Klarna 内容的视图。我们目前支持 Klarna 付款,允许您添加支付视图到您的结账流程中,并原生创建一个会话以创建订单。
混合集成 可以增强您的应用的 Web 视图中显示的自 Klarna 内容的用户体验。
为什么你应该使用 SDK?
SDK 通过利用 iOS 和 Android 中的原生功能,消除了您应用结账流程中可能出现的任何摩擦。SDK 所做的一些事情包括
- 与第三方应用程序兼容良好。许多客户通过他们的银行应用程序或其他第三方应用程序完成购买。我们通过打开这些应用程序以及完成时自动将用户返回,确保这种体验无缝进行。
- 保护您的用户身份。SDK 添加了一个额外的安全层,降低了欺诈性购买的风险。它还确保您的客户不必在连续购买时重复输入任何冗余信息。(例如,地址或凭据)。
- 改进 3D Secure 流程。如果某些支付方式需要打开银行页面,我们将显示一个应用内浏览器。您的客户可以在不离开您的应用的情况下安全地通过他们的银行进行验证。
- 在不让您的客户离开应用的情况下打开链接。与 3D Secure 一样,我们将大多数资源在应用内浏览器或全屏遮罩中打开。这确保您的客户永远不需要离开您的应用。
概览
本地集成
如前所述,Klarna支付支持本地集成。Klarna支付的主要理念是为商家提供向客户提供Klarna支付方式的能力。由于Klarna不拥有整个结账流程,因此创建订单前必须进行检查。我们希望通过这种集成为您提供与在网络上相同的简单开发体验。因此,集成Klarna支付包括以下四个步骤
- 创建会话。
- 渲染支付视图。
- 授权会话。
- 创建订单。
混合集成
我们的iOS和Android SDKs保持对您的web视图的弱引用,不覆盖任何实现部分或以任何方式修改您的web视图。因此,我们要求您进行一些小的集成工作,以使您的用户体验尽可能愉悦。这包括以下四个步骤
- 初始化。
- 将web视图添加到SDK。
- 在web视图中发生某个事件时通知SDK。
- 处理SDK的事件。
iOS集成
这些是我们的针对In-App SDK的iOS特定指南。我们目前有指南帮助您入门、集成Klarna支付以及执行混合集成。
Android 集成
这些都是我们为 In-App SDK 提供的特定于 Android 的指南。我们目前有如何入门、集成 Klarna 支付和进行混合集成的指南。
React Native 集成
示例应用
原生集成
混合集成
变更日志
已弃用集成指南
如果正在使用 SDK 的旧版本(<2.0.0),请参阅这些集成指南,若要将软件迁移到 2.0.0 或更高版本,可以使用 迁移指南 看看有哪些变化。
iOS
Android
库二进制包
AAR 文件
Android SDK 的 AAR 文件可公开在我们的 CDN 上找到。这些文件针对每个版本进行了结构化组织,因此为了获取文件,需要更改版本号对应的 URL 路径。
- https://x.klarnacdn.net/mobile-sdk/com/klarna/mobile/sdk/
版本
/sdk-版本
.aar - https://x.klarnacdn.net/mobile-sdk/com/klarna/mobile/sdk-full/
版本
/sdk-full-版本
.aar
例如,对于 Android SDK 版本 2.0.24,它是 https://x.klarnacdn.net/mobile-sdk/com/klarna/mobile/sdk/2.0.24/sdk-2.0.24.aar
贡献
支持
如果您在使用 SDK 的项目中遇到任何问题,或者您认为 SDK 本身存在问题,请在 Github 上创建一个问题,或者按照下一节中的指南报告错误。
如何贡献?
感谢您阅读这份文档并抽出时间对 Klarna In-App SDK 做出贡献!以下是一些指南,帮助您贡献代码、报告错误或提出建议。
提交错误报告
本节将指导您提交Klarna In-App SDK的错误报告。
在提交错误报告之前,请确认该问题尚未被报告过。如果您找到一个已关闭的问题,似乎描述的问题与您想要报告的问题相似,请打开一个新的问题,并在新问题中链接到原始问题。确认问题尚未被报告后,请完成以下要求的模板,这有助于我们更快地解决问题。
提交错误报告
提交的错误作为GitHub问题进行跟踪。要报告错误,创建一个问题并使用以下模板提供有关错误的 信息。详细解释问题,并提供任何可能帮助维护者重现问题的附加信息。在创建GitHub问题时,请确保
- 使用清晰和描述性的标题。
- 详细描述重现问题的确切步骤。一般最好是提供的信息越多越好。
- 描述执行步骤后的观察到的行为,并精确说明该行为中的问题。
- 说明您期望的相反行为以及原因。
- 提供截图和/或屏幕录制,可能有助于解释您遇到的问题。要在连接到Android Studio或模拟器的手机上录制屏幕,请参阅以下步骤这里。在iOS上录制屏幕,请参阅以下描述的步骤这里。
- 在错误报告中包含相关日志,通过将其放在一个代码块、一个文件附件或一个gist中,并提供一个到该gist的链接。
- 说明您首次出现该问题的时间。您第一次是在何时遇到这个问题的,以及在更新SDK版本之后吗?或者它一直是个问题吗?
- 如果您最近开始遇到问题,请问您是否能在 SDK 的早期版本中重现这个问题?这个问题在哪个最新的版本中没有出现?
- 能否可靠地重现问题?如果不能,请说明问题出现的频率及通常在什么条件下发生。例如,你在什么环境中运行。
请提供有关你遇到问题的设备/模拟器/模拟器的详细信息
- 你在使用哪个版本的SDK?
- 这个问题出现在哪个操作系统上,iOS、Android还是两者都有?是什么版本?也请给该问题添加适当的标签。
- 你在模拟器/模拟器或在真实设备上遇到过这个问题吗?
代码贡献
在贡献之前,请仔细阅读Klarna In-App SDK文档。
分支管理
根据你正在处理的工作(修复错误或添加特性),为你要工作的分支添加前缀。在创建新分支时使用以下前缀
- feature/ 如果分支包含新功能,例如:
feature/my-shiny-feature
。 - bugfix/ 如果分支包含错误修复,例如:
bugfix/my-bug-fix
。
拉取请求
在创建PR时,请尽可能提供关于增强类型的信息,无论是错误修复、新功能还是任何其他变更。有一个模板供你填写,这将使维护者审阅过程更快。创建PR时针对master
分支。PR应包括
- 一个清晰且描述性的标题.
- 问题描述如果你正在修复错误,请包括相关问题的链接,或者介绍新功能的背景。
协议
版权所有 2018 Klarna Bank AB
本文件遵循Apache License,版本2.0(以下简称“协议”);您只能在遵守该协议的前提下使用本文件。您可以在以下位置获取协议副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律规定或书面同意,否则在协议下分发的软件按照“现状”的基本原则分发,不提供任何明示或暗示的保证或条件。有关许可和限制的具体内容,请参阅协议。