GoCardlessSDK 1.0.1

GoCardlessSDK 1.0.1

‘GoCardless’ 维护。



  • GoCardless

GoCardless SDK

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:表示验证失败,通常与用户输入有关。

SDK 要求

语言

  • Swift

最小部署

  • iOS 13

依赖项

  • 无外部库

线程

  • 组合

代码仓库