okra-ios-sdk
Okra iOS SDK 允许您在短时间内将 Okra 组件添加到您的原生 iOS 应用中。
示例
要运行示例项目,克隆仓库,然后使用 Xcode 打开 Example 目录中的 OkraWidget.xcworkspace
文件,运行和构建即可。
- 如果您没有账户,请注册一个 Okra 账户。
- 在
Viewcontroller.swift
中放置从 Okra 控制台获取的密钥和令牌
let dataDictionary:[String:Any] = ["isWebview":true,
"key":"key",
"token":"token",
"products": ["auth","transactions"],
"env":Environment.production.rawValue,
"clientName":"Basey",
"source":"ios",
"color":"#953ab7",
"limit":"24",
"guarantors":guarantor,
"corporate":false,
"connectMessage":"Which account do you want to connect with?",
"callback_url":"",
"redirect_url":"",
"logo":"https://cdn.okra.ng/images/icon.svg",
"widget_success":"Your account was successfully linked to Okra, Inc",
"widget_failed":"Which account do you want to connect with?",
"currency":"NGN",
"exp":"2021-08-06",
"manual":false,
"success_title":"Successfully connect bank",
"success_message":"You have successfully connected your bank account"
]
Okra.create(baseController: self, dataDictionary: dataDictionary, okraHandlerDelegate: self)
开发要求
- iOS 11.0+
- Swift: 5.1
- Xcode 版本: 10.0+
安装
OkraWidget 通过 CocoaPods 提供。要安装,只需将以下行添加到您的 Podfile 并运行 pod install
命令即可。
pod install
4.0.5及以下版本的使用基础
import OkraWidget
class ViewController: UIViewController,OkraHandlerDelegate {
let launchButton = UIButton(type: .system)
override func viewDidLoad() {
super.viewDidLoad()
setUpConstraintsAndProperties()
}
@objc func showExample(){
let okraOptions = OkraOptions(isWebview: true, key: "key", token: "token", products: ["auth","transactions"], env: Environment.production.rawValue, clientName: "Basey")
Okra.create(baseController: self, okraOptions : okraOptions, okraHandlerDelegate: self)
}
func onSuccess(data: [String : Any]) {
print("Succesfully connected bank \(data)")
}
func onError(data: [String : Any]) {
print("Error Receieved \(data)")
}
func onClose() {
print("Closed")
}
}
4.0.6及以上版本的使用基础
import OkraWidget
class ViewController: UIViewController,OkraHandlerDelegate {
let launchButton = UIButton(type: .system)
override func viewDidLoad() {
super.viewDidLoad()
setUpConstraintsAndProperties()
}
@objc func showExample(){
let guarantor:[String:Any] = ["status":true,"message":"hello nurse","number":1]
let dataDictionary:[String:Any] = ["isWebview":true,
"key":"key",
"token":"token",
"products": ["auth","transactions"],
"env":Environment.production.rawValue,
"clientName":"Basey",
"source":"ios",
"color":"#953ab7",
"limit":"24",
"guarantors":guarantor,
"corporate":false,
"connectMessage":"Which account do you want to connect with?",
"callback_url":"",
"redirect_url":"",
"logo":"https://cdn.okra.ng/images/icon.svg",
"widget_success":"Your account was successfully linked to Okra, Inc",
"widget_failed":"Which account do you want to connect with?",
"currency":"NGN",
"exp":"2021-08-06",
"manual":false,
"success_title":"Successfully connect bank",
"success_message":"You have successfully connected your bank account"
]
Okra.create(baseController: self, dataDictionary: dataDictionary, okraHandlerDelegate: self)
}
func onSuccess(data: [String : Any]) {
print("Succesfully connected bank \(data)")
}
func onError(data: [String : Any]) {
print("Error Receieved \(data)")
}
func onClose() {
print("Closed")
}
}
OkraOptions
名称 |
类型 |
必填 |
默认值 |
描述 |
isWebview |
布尔型 |
true |
true |
|
key |
字符串 |
true |
未定义 |
从Okra获取的您的公钥。 |
token |
字符串 |
true |
未定义 |
从Okra获取的您的客户端token密钥。 |
products |
ArrayList<Enums.Product> |
true |
未定义 |
您希望与控件一起使用的Okra产品。 |
env |
Enums.Environment |
true |
未定义 |
|
clientName |
字符串 |
true |
未定义 |
在应用程序中使用该控件的客户名称 |
webhook |
字符串 |
true |
未定义 |
Okra将客户端数据发送到的URL。 |
数据字典
认证
字段 |
必填 |
描述 |
id
ObjectID |
是 |
唯一认证ID(唯一的Okra标识符) |
validated
布尔型 |
是 |
客户认证状态 |
bank
ObjectID |
是 |
唯一银行ID(唯一的Okra标识符) |
customer
ObjectID |
是 |
唯一客户ID(唯一的Okra标识符) |
record
ObjectID |
是 |
唯一记录ID(唯一的Okra标识符) |
owner
ObjectID |
是 |
唯一公司ID(唯一的Okra标识符)(您的客户端token) |
created_at
对象 |
是 |
获取认证的日期 |
last_updated
对象 |
是 |
最后获取认证的日期 |
余额
字段 |
必填 |
描述 |
id
ObjectID |
是 |
独特的余额标识符(独特的Okra标识符) |
available_balance
整数 |
是 |
账户中可用资金数额 |
ledger_balance
整数 |
是 |
账户的结算余额 |
currency
字符串 |
是 |
账户货币 |
connected
布尔型 |
是 |
客户连接状态(他们是否选择将此账户连接到您) |
env
字符串 |
是 |
Okra API Env 允许事务从 生产环境 或 生产沙箱 中抽取 |
bank
ObjectID |
是 |
唯一银行ID(唯一的Okra标识符) |
accounts
ObjectID |
是 |
独特的账户标识符(独特的Okra标识符) |
customer
ObjectID |
是 |
唯一客户ID(唯一的Okra标识符) |
record
ObjectID数组 |
是 |
唯一记录ID(唯一的Okra标识符) |
created_at
对象 |
是 |
获取余额日期 |
last_updated
对象 |
是 |
上次获取余额日期 |
身份证
字段 |
必填 |
描述 |
id
ObjectID |
是 |
独特的标识符ID(独特的Okra标识符) |
firstname
字符串 |
是 |
客户名 |
middlename
字符串 |
是 |
客户中间名 |
lastname
字符串 |
是 |
客户姓氏 |
next_of_kins
标识符对象 |
是 |
客户的亲属信息 |
dob
日期 |
是 |
客户出生日期 |
verified
字符串 |
是 |
BVN验证状态 |
score
字符串 |
是 |
独特的Okra评分 |
dti
字符串 |
是 |
客户债务与收入比评分 |
fullname
字符串 |
是 |
客户全名 |
company_name
字符串 |
**是 |
如果是企业身份,公司名称 |
nin
字符串 |
是 |
客户NIN号码 |
national_id
字符串 |
是 |
客户国家ID号码 |
drivers_lisence
字符串 |
是 |
客户驾驶证号码 |
nimc
字符串 |
是 |
客户国家身份管理委员会(NIMC)号码 |
voters_id
字符串 |
是 |
客户选民证号码 |
rc_number
字符串 |
是 |
如果是企业身份,公司注册编号 |
phone
字符串数组 |
是 |
客户电话号码 |
last_login
字符串 |
是 |
客户通过Okra的最后登录 |
email
字符串数组 |
是 |
客户电子邮件地址 |
address
字符串数组 |
是 |
客户 |
mothers_maiden
字符串 |
是 |
客户的母亲的婚前姓 |
photo_ids
对象数组 |
是 |
客户的照片ID |
env
字符串 |
是 |
Okra API Env 允许事务从 生产环境 或 生产沙箱 中抽取 |
bank
ObjectID |
是 |
唯一银行ID(唯一的Okra标识符) |
accounts
ObjectID |
是 |
独特的账户标识符(独特的Okra标识符) |
customer
ObjectID |
是 |
唯一客户ID(唯一的Okra标识符) |
record
ObjectID数组 |
是 |
唯一记录ID(唯一的Okra标识符) |
created_at
对象 |
是 |
获取余额日期 |
last_updated
对象 |
是 |
上次获取余额日期 |
交易
字段 |
必填 |
描述 |
id
ObjectID |
是 |
独特的交易标识符(独特的Okra标识符) |
debit
整数 |
否 |
从账户扣除的金额 |
credit
整数 |
否 |
记账到账户的金额 |
trans_date
日期 |
是 |
交易发生日期 |
cleared_date
日期 |
是 |
银行确认交易的日期 |
unformatted_trans_date
字符串 |
是 |
银行中记录的交易日期(未格式化) |
unformatted_cleared_date
字符串 |
是 |
银行中记录的确认交易日期(未格式化) |
branch
字符串 |
否 |
发生的支行交易 |
ref
字符串 |
否 |
银行参考ID(来自银行) |
env
字符串 |
是 |
Okra API Env 允许事务从 生产环境 或 生产沙箱 中抽取 |
code
字符串 |
否 |
银行代码(来自银行) |
benefactor
ObjectID |
否 |
发送者客户ID(在Okra内) |
code
字符串 |
否 |
银行代码(来自银行) |
notes
对象 |
是 |
银行叙述的分解 |
bank
ObjectID |
是 |
唯一银行ID(唯一的Okra标识符) |
account
ObjectID |
是 |
独特的账户标识符(独特的Okra标识符) |
record
ObjectID数组 |
是 |
唯一记录ID(唯一的Okra标识符) |
created_at
对象 |
是 |
获取交易日期 |
last_updated
对象 |
是 |
上次获取的最终交易日期 |
笔记数据字典
字段 |
必填 |
描述 |
描述
字符串 |
是 |
交易描述/描述(银行和用户输入信息的组合) |
主题
字符串数组 |
是 |
描述中的主题 |
地点
字符串数组 |
是 |
描述中提到的地点 |
人物
字符串数组 |
是 |
描述中提到的人物 |
动作
字符串数组 |
是 |
描述中提到的动作 |
主题
字符串数组 |
是 |
描述的主题 |
介词
字符串数组 |
是 |
描述中介词以理解意图 |