zoukankan      html  css  js  c++  java
  • phonegap支付宝2.0移动快捷支付插件IOS版

    坑爹的支付宝,一两年都没有更新sdk了,这两天突然更新sdk,而且更新的变化特别大,所以只能对之前的支付宝快捷支付插件重新写了一遍。

    这样既顺应了支付宝的更新,同时也支持了ios8。

    废话少说,集成过之前版本的,先把之前的所以代码删掉包括文件。然后全新的集成新版本插件。【所有拖放是在xcode下面进行】

    需要完成Phonegap 的支付宝快捷支付 需要先配置好支付宝相应的信息具体看

    phonegap -Android客户端集成支付宝快捷支付(一)

    1.插件包里面有很多文件,解压后能大概看一下,同时最好下载支付宝的快捷支付的接口文档,看看在结合我的文档集成,效果会好一些。

    2.将 AlipaySDK.bundle , AlipaySDK.framework ,libcrypto.a,libssl.a 拖进xcode的根目录下面,然后在把AlipaySDK.framework ,libcrypto.a,libssl.a 拖到framworks目录下面。

    3.将src目录下面的openssl  ,Util ,Order.h ,Order.m 拖放到你的class目录下面,但是必须保证文件是放到 项目文件夹里面。

    4.文件夹Plugins里面是插件文件,拖放到Plugins目录下面,这里是插件文件,修改Pgalipay.m里面的商家信息。具体打开查看。

    5.修改AppDelegate.m,根据插件文件的说明。这里是做回调处理的,可以看说明文件。

    6.在config.xml里面引用插件。[2.x 和3.x 略有不同具体参考本地文件例子]

    <featurename="Pgalipay">
            <paramname="ios-package"value="Pgalipay"/>
    </feature>
    
    7.引入js文件具体查看插件包里js文件的样例!
    
    在js里面需要注意的是:
    resultString 方法 是用来接收支付回调数据信息的。这个方法是在你的手机上有支付宝钱包app的情况下用到。
    还有在插件调用的返回方法中也需要做回调数据处理,这个方法是在你的手机上没有支付宝钱包app的情况下用的,支付宝会启动一个简约的支付宝界面。
    
    需要对这2个地方都做回调处理。
    
    添加完文件之后,我们需要做一些配置:
    
    1.添加自定义URL Scheme  如何添加请百度。或插件官方手册!

    添加的时候只需要 填写URL Scheme,其他不用动。填写的就是你项目的name。

    URL Scheme 在回调结果使用,建议起名稍复杂一些,尽量避免同其他程序冲突。

    这个名字设置好之后,打开 Pgalipay.m,修改里面

    NSString *appScheme = @”pgtest”; //这个pgtest 是你应用的名称也就是再URL Scheme

    2. 点击项目名称,点击“Build Settings”选项卡,在搜索框中,以关键字“search”
    搜索,对“Header Search Paths”增加头文件路径: $(SRCROOT)/项目名称。

    如果头文件信息已增加,可不必再增加。

    3. 点击项目名称,点击“Build Phases” 选项卡, 在“Link Binary with Librarles”选项中,

    新增“SystemConfiguration.framework”系统库文件。如果商户项目中已有这两个库文件,可不必再增加。

    4.细节优化。再Pgalipay.m里面需要修改几个地方

     NSString *appScheme = @”pgtest”; //这个pgtest 是你应用的名称也就是再URL Scheme设置的,需要修改。

    order.notifyURL =  url; //回调URL; //回调URL 自己自定义, 最好是通过支付宝的回调地址对订单的支付结果做双重验证,以免导致外界伪造支付结果,导致财物损失,可以写死到代码里面,或者通过js传递进去。

    //服务器异步通知页面路径 参数 notify_url,如果商户没设定,则不会进行该操作

    完成以上的文件添加和项目调整,基本上就完成了支付宝的集成。

    当然在html页面中,js的处理还是需要自己根据业务逻辑去处理的,特别是支付返回的值需要自己通过js方法去处理。

    注意:

    配置好ios项目后,编译时提示 openssl中 rsa.h 中 #include <openssl/asn1.h> not found,

    这个需要调整search header 的路径。或者把 相应的文件目录放到相应的文件夹下面。

  • 相关阅读:
    [APM] OneAPM 云监控部署与试用体验
    Elastic Stack 安装
    xBIM 综合使用案例与 ASP.NET MVC 集成(一)
    JQuery DataTables Selected Row
    力导向图Demo
    WPF ViewModelLocator
    Syncfusion SfDataGrid 导出Excel
    HTML Table to Json
    .net core 2.0 虚拟目录下载 Android Apk 等文件
    在BootStrap的modal中使用Select2
  • 原文地址:https://www.cnblogs.com/itlover2013/p/4284342.html
Copyright © 2011-2022 走看看