热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phonegap支付宝2.0移动快捷支付插件IOS版

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

坑爹的支付宝,一两年都没有更新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 略有不同具体参考本地文件例子]


        


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 not found,

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

phonegap支付宝2.0移动快捷支付插件IOS版


推荐阅读
  • iTOP4412开发板QtE5.7源码编译指南
    本文详细介绍了如何在iTOP4412开发板上编译QtE5.7源码,包括所需文件的位置、编译器设置、触摸库编译以及QtE5.7的完整编译流程。 ... [详细]
  • 本文探讨了如何利用SqlDependency执行复杂的SQL查询,并确保在多线程环境下的安全性与效率。 ... [详细]
  • 如何恢复CAD中意外丢失的图纸数据
    当使用CAD进行绘图时,因突然断电或其他原因导致计算机关闭可能会造成工作数据的丢失。然而,通过利用CAD软件的自动保存功能,用户通常能够恢复至最近一次自动保存的数据状态。 ... [详细]
  • NameNode内存优化基于缓存相同文件名的方法
    NameNode内存优化基于缓存相同文件名的方法Namenodeheapoptimizationreuseobjectsforcommonlyuse ... [详细]
  • 本文详细介绍了ActivityManagerService (AMS) 的工作原理及其在Android系统中的重要角色。AMS作为system_server进程的一部分,在系统启动时加载,负责管理和协调应用程序中的Activity和服务(Service)。文章将通过具体的接口图和通信流程,帮助读者更好地理解AMS的工作机制。 ... [详细]
  • EasyMock实战指南
    本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
  • 本文详细介绍了在使用Socket进行网络编程时,遇到链接器错误`undefined reference to WSAStartup@8`的解决方案,适用于多种开发环境。 ... [详细]
  • 本文深入探讨 PHPCMS 平台中的字符串截取函数 str_cut 的使用方法,该函数常用于控制输出的标题或内容摘要长度,有效避免因过长的文本导致的页面布局问题。通过本文,读者将掌握如何灵活运用此函数,包括处理 HTML 标签等高级技巧。 ... [详细]
  • 在使用Maven进行项目构建时,由于依赖库的下载速度慢常常让人感到沮丧,这直接影响了开发效率和学习热情。幸运的是,阿里云提供了一个快速的国内镜像服务,能够显著提升Maven项目的构建速度。 ... [详细]
  • JavaWeb技术架构解析
    本文探讨了JavaWeb开发中客户端与服务器端的交互模式,重点分析了B/S(浏览器/服务器)和C/S(客户端/服务器)两种架构的特点及应用场景。 ... [详细]
  • 本文介绍了如何使用JavaScript和jQuery实现页面元素随着滚动条的移动而相应变化位置的功能,提供了一段简洁的代码示例。 ... [详细]
  • 新手指南:在Windows 10上搭建深度学习与PyTorch开发环境
    本文详细记录了一名新手在Windows 10操作系统上搭建深度学习环境的过程,包括安装必要的软件和配置环境变量等步骤,旨在帮助同样初入该领域的读者避免常见的错误。 ... [详细]
  • 无论是初学者还是经验丰富的开发者,W3CSchool都是一个不可或缺的资源库。本文将介绍几个关键的学习资源,帮助您提升网页开发技能。 ... [详细]
  • 1.2 行筛选技巧
    面对一张数据表时,若需仅查看符合特定条件的数据行,了解如何高效地进行行筛选至关重要。本文将介绍利用常见的逻辑运算符及组合条件实现精准筛选的方法。 ... [详细]
  • 本章探讨了使用固定数组实现栈和队列的基本方法,以及如何通过这些基本结构来实现更复杂的操作,如获取栈中的最小值。此外,还介绍了如何利用栈来模拟队列的行为,反之亦然。 ... [详细]
author-avatar
Rockets马丁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有