iOS集成Paytm支付

來源: 簡書
作者:Double_kay
時間:2021-01-18
17575
本文分享iOS集成Paytm支付步驟。

前言:因公司業(yè)務發(fā)展,APP需要集成paytm支付,近期 paytm 的 SDK 也做了一版更新,集成新 SDK 遇到的一些問題記錄下來

paytm文檔: https://developer.paytm.com/docs/all-in-one-sdk/

GitHub: https://github.com/paytm/Paytm_iOS_All_in_One_SDK

1.沒有說明自動導入的方式,只能手動導入了

github 下載完將AppInvokeSDK.framework文件拖入項目

2.編譯運行報錯:

dyld: Library not loaded: @rpath/AppInvokeSDK.framework/AppInvokeSDK

Referenced from: /private/var/containers/Bundle/Application/7F89BE48-4F64-4C92-856C-35C391C8C18B/XXXX.app

Reason: image not found

ia_900000795.png

運行報錯

2.1

ia_900000796.png

ia_900000797.png

改完成功運行

3.新版 SDK 調(diào)用也比較簡潔了

ia_900000798.png

先說一下 openPaytm方法的幾個參數(shù):

merchantId: 之前的 MID,就是開發(fā)者賬號申請的id,有測試和生產(chǎn)環(huán)境

orderId:訂單 id(后臺返回)

txnToken: token (后臺返回)

amount: 金額(最好用后臺返回的)

callback_url: 回調(diào)地址 (后臺返回)

delegate: 代理對象

environment: AIEnvironment枚舉類型,生產(chǎn)和測試兩種

按照文檔說明操作正常調(diào)起 paytm 支付,但支付完之后沒有狀態(tài)回調(diào),

檢查完之后發(fā)現(xiàn)是因為

AIHandler().openPaytm(merchantId: merchantId, orderId: orderId, txnToken: token, amount: amount, callbackUrl : callback_url, delegate: self)

控制器沒有引用 AIHandler對象

let paytmHandler = AIHandler()

extension MemberRenewController:AIDelegate{

    func beginPayment(params:[String:String]) {

        var MID = "測試 MID"

        var environment = AIEnvironment.staging

        if isDistribute {

            MID = "生產(chǎn)MID"

            environment = AIEnvironment.production

        }

        if let orderId = params["ORDER_ID"],let txnToken = params["TXN_TOKEN"],let amount = params["TXN_AMOUNT"],let callbackUrl = params["CALLBACK_URL"]{

            paytmHandler.openPaytm(merchantId: MID, orderId:orderId, txnToken:txnToken, amount:amount, callbackUrl:callbackUrl,delegate: self, environment: environment)

        }

    }

    @objc func openPaymentWebVC(_ controller: UIViewController?){

        if let vc = controller {

            DispatchQueue.main.async {[weak self] in

                self?.present(vc, animated: true, completion: nil)

            }

        }

    }

    @objc func didFinish(with status: AppInvokeSDK.AIPaymentStatus, response: [String : Any]){

    }

}

至此 paytm 支付就集成完畢了,新 SDK 還是比之前的簡潔,之前 swift 版本 pod 導入一直報錯又找不到原因最后被迫集成了 OC 的包

立即登錄,閱讀全文
版權說明:
本文內(nèi)容來自于簡書,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家