Headless SDK (报名 iOS)
推荐的 SDK我们建议使用iOSSeamless SDK,以获得流畅的集成体验。该选项提供了灵活的支付解决方案,预置了用户界面组件和自定义选项。
Yuno 的 Headless iOS SDK 可让您注册支付方式并标记银行卡,将其保存起来以备将来使用。
下面的步骤介绍了使用 Yuno 的Headless SDK 注册支付方法。
入学指南本页面提供使用Headless SDK 注册付款方式的所有步骤。如需了解包括客户创建在内的全面指南,请访问Headless SDK (注册)。
要求
要执行注册程序,您需要提供 customer_session 开始在 步骤 3.获得 customer_session您需要
- 创建客户:客户必须注册付款。使用 创建客户 endpoint 来创建新客户。在响应中,您将收到客户
id用于创建客户会话。 - 创建客户会话:使用客户
id和 创建客户会话 endpoint 接收customer_session.
Headless SDK (注册)中介绍了完整的注册流程。
第 1 步:在项目中加入程序库
第一步是在 iOS 项目中安装 Yuno SDK。
检查 iOS SDK 版本要查看所有可用版本,请访问 Yuno iOS SDK 软件源上的发布页面。
您可以通过两种方式安装 Yuno SDK:
- 茧足动物:如果您没有 Podfile,请按照 CocoaPods 指南创建一个 Podfile。创建 Podfile 后,在 Podfile 中添加下面一行,即可将 Yuno SDK 与 Cocoapods 集成:
pod "YunoSDK","~> {last_version} - Swift 软件包管理器:设置 Swift 软件包,然后将 Yuno SDK 添加为依赖项,如下代码块所示:
dependencies: [ .package(url: "https://github.com/yuno-payments/yuno-sdk-ios.git", .upToNextMajor(from: "{last_version}")) ]
步骤 2:使用公钥Initialize Headless SDK
要initialize Headless SDK,您需要导入 Yuno 并提供一个有效的 PUBLIC_API_KEY.如果您没有 API 凭据,请访问开发人员(凭据)页面,查看如何从仪表板检索凭据。
UISceneDelegate 初始化如果您的应用程序使用
UISceneDelegate,确保将 Yuno 初始化代码放在SceneDelegate. 了解更多
下面的代码块提供了一个导入和初始化 Yuno.
导入 Yuno
Yunoinitialize(
apiKey:PUBLIC_API_KEY"
)步骤 3:创建客户会话
要开始注册程序,您需要提供 customer_session.首先,您需要创建一个客户。您需要一个客户来注册付款。使用 创建客户 endpoint 来创建新客户。在响应中,您将收到客户 id用于创建客户会话。
创建客户后,可以创建客户会话。使用客户 id 和 创建客户会话 endpoint。端点 customer_session 将在回复中提供。您需要一个新的 customer_session 每次您注册新的付款方式时,都会收到该信息。
步骤 4:创建注册付款方式对象
您需要一个注册付款方式对象,以便为注册设置Headless SDK 集成。您可以使用 "注册付款方式"(Enroll Payment Method)endpoint创建一个对象。创建支付方式对象时,您需要定义客户可以注册的支付方式。目前,只有 CARD 可用于Headless SDK。
卡片验证要在注册前验证零值授权卡,请将
verify对象。
步骤 5:开始注册程序
接下来,您将使用 apiClientEnroll 函数,提供必要的配置参数。参数
下表列出了所有必填参数及其说明。
下一个代码块将举例说明参数配置。
var apiClientEnroll:YunoEnrollHeadless?
apiClientEnroll = Yuno.apiClientEnroll(
countryCode:"CO"、
customer_session:"eec6578e-ac2f-40a0-8065-25b5957f6dd3"
)步骤 6:生成保险库token
收集完所有用户信息后,就可以开始注册了。首先,您需要创建一个 vaulted_token 使用函数 apiClientEnroll.continueEnrollment.由于这是一个异步函数,您可以使用 do/catch 以确保正确处理触发的错误。下面是创建 vaulted_token:
让 enrollmentCollectedData:EnrollmentCollectedData = EnrollmentCollectedData(
customerSession:"eec6578e-ac2f-40a0-8065-25b5957f6dd3",
paymentMethod:CollectedData(
类型"CARD"、
card:CardData(
detail:CardData.Detail(
number: "41111111111111"、
expirationMonth:12,
expirationYear: 25、
securityCode:"123",
持有人姓名"Andrea"、
类型:.credit
)
),
客户:客户()
)
)
let result = try await apiClientEnroll.continueEnrollment(data: enrollmentCollectedData)注册新卡后,您将收到 vaulted_token您可以用它来进行支付,而无需询问客户的银行卡信息。下面的代码块提供了一个来自 apiClientEnroll.continueEnrollment 功能。响应是一个类型为 [String: Any].
[
vaulted_token: "9104911d-5df9-429e-8488-ad41abea1a4b",
状态"ENROLLED"、
EXPIRED、
REJECTED、
准备就绪、
正在注册
取消注册、
IN_PROCESS、
已注册、
DECLINED
取消、
ERROR、
未登记;
客户:[
session:"eec6578e-ac2f-40a0-8065-25b5957f6dd3"
]
]
使用 Webhooks 查看注册状态考虑使用通过Webhooks 收到的注册状态。Yuno 建议始终使用该状态作为平台业务决策的基础。
访问演示应用程序除提供的代码示例外,您还可以访问Yuno 存储库,获取 Yuno iOS SDK 的完整实现。
3 个月前已更新