美文网首页
iOS银联支付集成

iOS银联支付集成

作者: 小破孩_eb46 | 来源:发表于2020-05-26 14:48 被阅读0次

    项目中需要用到银联支付,简单的记录下集成过程与集成中遇到的问题。

    一、到银联支付开放平台下载SDK,银联手机控件支付

    image.png

    银联的开发包内容很详细,下载开发包后打开下载文件,找到app开发包文件,我们所需要的都在里面(一个控件开发包文件和一个控件接入指南PDF文件)


    image.png

    二、按照接入指南PDF文档接入SDK,文档写的非常详细

    1.支付流程介绍(了解下支付流程)
    image.png

    流程图说明:
    (1)用户在客户端中点击购买商品,客户端发起订单生成请求到商户后台;
    (2)商户后台收到订单生成请求后,按照《手机控件支付产品接口规范》组织并推送
    订单信息至银联后台; (3)银联后台接收订单信息并检查通过后,生成对应交易流水号(即 TN),并回复至
    商户后台(应答要素:交易流水号等);
    (4)商户后台接收到交易流水号(TN),将交易流水号返回至客户端; (5)客户端通过交易流水号(TN)调用支付控件;
    (6)用户在支付控件中输入相关支付信息后,由支付控件向银联后台发起支付请求; (7)支付成功后,银联后台将支付结果通知给商户后台;
    (8)银联后台同时也将支付结果通知支付控件;
    (9)支付控件显示支付结果并将支付结果返回至客户端;

    2.集成需要的文件

    在控件开发包文件下,文件所在目录upmp_iphone/paymentcontrol,包含以下两个文件:
    UPPaymentControl.h
    libPaymentControl.a
    这两个文件就是我们需要导入我们工程的文件

    3.添加SDK包

    将 paymentcontrol/inc 目录下 UPPaymentControl.h文件和paymentcontrol/libs 目录下的 libPaymentControl.a 文件添加到商户应用的工程中,添加后如图:


    image.png
    4.工程配置

    4.1 添加CFNetork.framework 、SystemConfiguration.framework 、libz、libPaymentControl.a 到工程中,添加后如下图:


    image.png

    4.2 设置URL Scheme在工程info.plist设置中添加一个URL Types回调协议,用于在支付完成后返回商户客户端。URL Schemes需要是唯一的。


    image.png
    4.3 http请求设置(ats)在测试环境测试时,需要在工程对应的 plist 文件中添加 NSAppTransportSecurity 并同时设置里面 NSAllowsArbitraryLoads 属性值为 YES,具体设置可参照以下截图:
    image.png

    发生产环境可删除此设置。向 Apple 发布正式版本时请删除此设置。
    4.4 添加协议白名单,在 Xcode7.0 之后的版本中进行开发,需要在工程对应的 plist 文件中,添加LSApplicationQueriesSchemes Array并加入uppaysdk、uppaywallet、uppayx1、uppayx2、uppayx3 五个 item,具体设置可参考以下截图:


    image.png
    或者直接添加如下代码到 plist 文件中:
    <key>LSApplicationQueriesSchemes</key>
        <array>
            <string>uppaysdk</string>
            <string>uppaywallet</string>
            <string>uppayx1</string>
            <string>uppayx2</string>
            <string>uppayx3</string>
        </array>
    
    image.png

    到这里工程就配置完成了,集成文档里写的很详细,按照文档来就可以了

    三、我碰到的问题

    经过上述步骤后,我的项目报错


    image.png

    检查前边步骤没有问题,网上找了一些解决办法都没用,产看报错信息


    image.png
    应该是少导入了库,后来查看下载的银联demo中导入的库进行对比
    image.png

    查了资料PassKit框架是应用程序中请求和处理Apple Pay付款,创建、分发和更新电子钱包的通行证。


    image.png
    那就只少了一个libc++,导入进去,问题解决
    image.png
    剩下的就是调用支付接口了,看开发文档,写的很详细,这里就不过多赘述了。

    相关文章

      网友评论

          本文标题:iOS银联支付集成

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