DigioUpi 1.0.3.1

DigioUpi 1.0.3.1

Akash 维护。



DigioUpi 1.0.3.1

Digio iOS UPI SDK 集成指南

Github: release License Logo

概览

本指南提供了将 Digio UPI SDK 集成到您的 iOS 应用程序中的逐步说明。Digio UPI SDK 使将统一支付接口 (UPI) 功能无缝集成到您的应用程序中成为可能,允许用户进行 UPI 交易。

注意:Digio SDK 支持 iOS 版本 13.0 及以上。

开始使用

步骤 1: Digio upi 通过 CocoaPods 提供。要安装它,请在 Podfile 中添加以下行

pod 'DigioUpi'

步骤 2: 运行

pod install

步骤 3: 导入 Digio UPI Module

import DigioUpi

步骤 4: 启动 digio Builder 并传递所需数据。

func startDigio()  {
        do {
            let digio = try DigioUPI.Builder()
                .setEnvironment(environment: .PRODUCTION)
                .setId(id: "nachId/kycId") 
                .clientKeys(clientId: "Your_clientId", clientSecret: "Your_clientSecret")
                .setServiceType(serviceType: .MANDATE)
                .build()
            digio.startDigio()
        }catch {
            print("digio_exception \(error.localizedDescription)")
        }
    }

步骤 5: 在您的视图中初始化 DigioCallback 以观察响应和事件

  • SwiftUI 在您的视图中定义以下内容
@ObservedObject var digioCallback = DigioCallback.shared
  • Swift 在您的 ViewController 中定义以下全局变量
private var transactionObserver: Any?
private var transactionEventsObserver: Any?

步骤 6: 将 DigioCallback 注册为观察 SUCCESS/FAILURE/事件的响应。

  • 在视图体的内实现观察者以从框架中获取响应
     func observeDigioCallBack(){
        if let transactionStatus = digioCallback.transaction{
            switch transactionStatus {
            case .success(let response):
                let _ = print("digio_success --> \(response.description)")
               
            case .failure(let response):
                let _ = print("digio_failure -->\(response.description)")
              
            case .partial(let response):
                let _ = print("\(response.description)")
               
            }
        }
        
        /** Optional : To observe user journey for analytics purpose  **/
        if let event = digioCallback.transactionEvents{
            switch event {
            case .onTransactionEvent(let events):
                let _ = print("digio_event --> \(events.description)")
            }
        }
    }

  • viewDidLoad内实现观察者以从框架中获取响应
func observeDigioCallBack()  {
        let digioCallback = DigioCallback.shared
        transactionObserver = digioCallback.$transaction.sink { [weak self] transaction in
            switch transaction{
            case .success(let response):
                print("digio_success--> \(response.description)")
            case .failure(let response):
                print("digio_failure--> \(response.description)")
            case .partial(let response):
                print("digio_partial--> \(response.description)")
            case .none:
                break
            }
        }
        
        /** Optional : To observe user journey for analytics purpose  **/
        transactionEventsObserver = digioCallback.$transactionEvents.sink { [weak self] transactionEvents in
            switch transactionEvents{
            case .onTransactionEvent(let events):
                print("digio_event --> \(events.description)")
            case .none:
                break
            }
            
        }
    }

通过在ViewControllerviewDidLoad函数外部调用以下内容来从ViewController中清除观察者。这仅适用于Swift。

deinit {
        // Release memory when the view controller is deallocated
        transactionObserver = nil
        transactionEventsObserver = nil
    }

第7步:在iOS应用的Info.plist文件中添加LSApplicationQueriesSchemes

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>phonepe</string>
        <string>gpay</string>
        <string>paytmmp</string>
        <string>bhim</string>
        <string>upi</string>
        <string>ppe</string>
    </array>

参数和类型

参数 类型 描述
clientId clientSecret 字符串 必需。由Digio提供的clientId和clientSecret密钥
setId 字符串 必需。你的Mandate的Nach Id或Reverse penny drop的KYC ID
PRODUCTION SANDBOX Digio环境 必需。环境可以是SANDBOX或PRODUCTION
MANDATE REVERSE_PENNY_DROP Digio服务 必需。Digio服务可以是MANDATE或REVERSE_PENNY_DROP

错误代码和描述

代码 描述
1103 SUCCESS
1104 FAILURE
1105 CANCELLED
1108 PARTIAL
1106 UPI应用未找到

响应示例

状态 响应
事件 Digio事件响应(action = DIGIO_INITIATED, screen = UPI_PAGE)
SUCCESS Digio响应(id= ENA23101017504882619RVM5Y1DTYPEUP, message= Mandate 注册成功, statusCode= 1103, status= register_success, crash_report= null )
FAILURE Digio响应(id= ENA23101017504882619RVM5Y1DTYPEUP, message= 交易已取消, statusCode= 1105, status= partial, crash_report= null )
PARTIAL Digio响应(id= ENA231012193700713FA5VYQRZT6916UP, message= Mandate部分创建, statusCode= 1108, status= partial, crash_report= null )

许可证

License

支持

如有支持需要,请通过邮箱 [email protected] 联系