GoCardless iOS SDK 是一个工具,使得开发人员可以将 GoCardless 支付集成到他们的 iOS 应用程序中。为了帮助开发人员入门,创建了一个示例应用程序,演示了如何使用 SDK。应用程序提供了一个清晰且实用的示例,说明如何在 iOS 应用程序中实现 GoCardless 支付。
GoCardlessSDK 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中即可
pod 'GoCardlessSDK'
客户端通过访问令牌进行初始化,默认配置为使用 GoCardless 的生产环境
import GoCardlessSDK
GoCardlessSDK.initSDK(accessToken: "YOUR_ACCESS_TOKEN", environment: .live) {
print("GoCardless SDK is initialised")
}
目前我们支持以下服务和它们的功能
createBillingRequest
:创建账单请求,以便您收集所有类型的 GoCardless 支付collectCustomerDetails
:如果账单请求有挂起的 collect_customer_details 操作,则可以使用此端点收集细节以便完成。collectBankAccount
:如果账单请求有挂起的 collect_bank_account 操作,则可以使用此端点收集细节以便完成。confirmPayerDetails
:当有授权请求时,需要此功能。作为一种方案合规性规则,我们必须允许付款人交叉核对他们输入的详细信息并确认。fulfil
:如果账单请求已经准备好履行,则调用此端点来执行支付。cancel
:立即取消账单请求,使所有账单请求流程过期。notify
:通知与账单请求链接的客户,要求他们授权。getBillingRequest
:获取账单请求listBillingRequests
:返回一个分页的账单请求列表。
createBillingRequestFlow
:创建新的账单请求流程。
createPaymentRequest
:创建新的支付对象。- ``
注意:要能够发送任何请求,您必须初始化 SDK。
在启动前,请确保所有请求都在正确的 Scope
内执行。
GoCardlessSDK.shared.billingRequestService.listBillingRequests()
.receive(on: DispatchQueue.main)
.sink(receiveCompletion: { (completion) in
switch completion {
case let .failure(error):
print("API error: \(error)")
self.state = .error
case .finished: break
}
}) { billingRequestList in
self.state = .success(billingRequest: billingRequest)
}
.store(in: &subscriptions)
每当 API 遇到问题时,它会返回一个 GoCardlessError
或其变体来提供有关错误的更多上下文。以下是您可能遇到的错误类型
AuthenticationError
:表示认证问题。GoCardlessInternalError
:表示 GoCardless 系统内部的错误。InvalidApiUsageError
:表示 API 使用不当。InvalidStateError
:表示系统中的无效状态。MalformedResponseError
:表示从 API 收到的响应有问题。PermissionError
:表示用户没有必要的权限。RateLimitError
:表示 API 请求的速率限制已超过。ValidationFailedError
:表示验证失败,通常与用户输入有关。
- Swift
- iOS 13
- 无外部库
- 组合