美文网首页
Swift银联支付及ApplePay开发

Swift银联支付及ApplePay开发

作者: 歌手的剑 | 来源:发表于2018-08-20 16:06 被阅读90次

银联控件接入流程:


银联控件接入流程

根据提供的流程图,作为app端,我们需要做的四件事如下:
1.调用后端的接口传入参数发起订单请求,并接收tn

2.调银联的startpay方法


startpay

3.实现UPAPayPluginDelegate的方法,根据result处理逻辑


回调处理

以上,就是银联sdk的集成,在此之前需要去银联官网注册登录完善商户信息,大概需要两三个工作日就好,第6步需要一点时间,但是等就行了。

官网注册地址:https://open.unionpay.com/tjweb/index
demo地址:https://open.unionpay.com/ajweb/help/file/techFile?productId=80
image.png

银联的集成可以说是非常简单的,下面介绍一下原生iOS支付处理;

直接上代码:

// MARK: - applepay原生支付
extension Demo: PKPaymentAuthorizationViewControllerDelegate  {
    
    func payaction(){
        let request = PKPaymentRequest()
        if #available(iOS 9.2, *) {
            request.supportedNetworks = [PKPaymentNetwork.amex, PKPaymentNetwork.masterCard, PKPaymentNetwork.visa, PKPaymentNetwork.chinaUnionPay]
        } else {
            request.supportedNetworks = [PKPaymentNetwork.amex, PKPaymentNetwork.masterCard, PKPaymentNetwork.visa]
        }
        
        if PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: request.supportedNetworks) {
            noticeOnlyText("可以支付,开始建立支付请求")
            
            request.countryCode = "CN"
            request.currencyCode = "CNY"
            request.merchantIdentifier = "merchant.com.xxxx"
            request.merchantCapabilities = PKMerchantCapability.capability3DS
            
            
            let wax = PKPaymentSummaryItem(label: "订单金额", amount: NSDecimalNumber(string: "\(self.allPrice)"))
            let total = PKPaymentSummaryItem(label: "xxx", amount: wax.amount)
            
            request.paymentSummaryItems = [wax, total]
            
            let vc = PKPaymentAuthorizationViewController(paymentRequest: request)
            vc?.delegate = self
            present(vc!, animated: true, completion: nil)
        }
        else {
            noticeOnlyText("您没有绑定任何银行卡或者当前设备不支持ApplePay")
        }
    }
    
    func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController) {
        noticeOnlyText("支付结束")
        dismiss(animated: true, completion: nil)

    }
    
    func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: @escaping (PKPaymentAuthorizationStatus) -> Void) {
        // 调后端接口返回success或者fail
        completion(PKPaymentAuthorizationStatus.success)
        
        //订单ID 暂时
        let vc = KeMyTicketVc.init(orderId: "")
        navigationController?.pushViewController(vc, animated: true)
    }
}

相关文章

  • Swift银联支付及ApplePay开发

    银联控件接入流程: 根据提供的流程图,作为app端,我们需要做的四件事如下:1.调用后端的接口传入参数发起订单请求...

  • iOS ApplePay开发

    最近开发ApplePay支付,在网上搜索到有用的干货链接 ApplePay详情介绍及开发流程截图 www.cnbl...

  • Apple pay 苹果支付

    1、银联认证,到银联下载证书 1.登录银联云闪付 查看《银联云闪付之 ApplePay 商户入网测试流程》http...

  • 011-移动支付09-支付宝支付-iOS端开发

    上一篇:010-移动支付08-银联支付-安卓端开发 一、下载开发包 去官网把开发包及Demo下载下来。 支付宝iO...

  • 银联ApplePay支付集成坑笔记

    1.银联ApplePay 中代码集成说明 1.设备必须是苹果设备、iphone6s以上、ios9才能使用银联App...

  • 银联无跳转支付

    java银联支付官网测试demo 银联支付(无跳转支付pc端) 1,测试官网demo a) 下载官网开发包,导入到...

  • 收录 : iOS支付开发

    iOS 银联支付开发流程iOS 微信支付开发流程iOS 支付宝支付开发流程iOS Apple Pay开发流程App...

  • iOS开发 支付之银联支付集成

    iOS开发之银联支付集成 最近在做支付这一块的东西,就记录下来以便以后参考和各位交流学习,这里是银联支付 银联官网...

  • 银联支付开发

    最近在接入各种支付机构,鉴于各种产品业务需求不同,具体开发实现不尽相同,不讨论具体业务实现。银联官方商家技术服务网...

  • iOS 集成银联支付

    银联开发者平台 https://open.unionpay.com/ajweb/index 银联支付流程:客户端发...

网友评论

      本文标题:Swift银联支付及ApplePay开发

      本文链接:https://www.haomeiwen.com/subject/xqsliftx.html