支付有很多 支付宝 微信 银联 等等 网上封装的也有很多 通联也有但是用的很少 在使用过程中 也在网上查找了下 下面就目前项目中使用的 以及个人在和通联开发人员对接的过程中 写下个人心得 如有纰漏 欢迎拍砖
通联支付 我们是直接和他们的开发人员对接的 没有参照官网 好像官网的SDK 并不是他们随时更新的 有时候会有问题 就本人项目中 开始用的是开发共享到群里的(开发人员对接群) 但是不行 后来一想官网总之是对的吧 后来发现我还是太天真了 最后和他们技术交流下 才知道SDK 用的不是他们最新的 说多了都是泪啊 所以如果在开发之前一定要记得 问他们要最新的SDK 最新的SDK 最新的SDK
原生模块
通联移动支付地址:SDK 地址
如果你是接入原生的话 那么看简书上这篇文章就够了 其实也不是很麻烦 iOS原生接入
这里在集成的时候我遇到一个问题 也不算是问题 如果有经验的应该可以自己解决
这里 demo里 这个路径不对 不过后来 问开发人员要的新文件就可以了 如果有遇到
只需把TrustDefenderMobile.framework/Versions/A目录下的文件 复制拷贝到根目录下即可 。
还有一个就是添加库依赖的时候 如果是新建项目的时候没有 libsqlite3.0.tbd 需要添加上 我开始的时候是自己重新搭建的一个项目是测试的 结果发现说没有 libsqlite3.0.tbd 但是文档中好像没有写 这点请注意点 不添加 也会报错的 到时就知道错误在哪了
在文档介绍中 说需要重新配置framework 和liaApay 的路径 不过我是直接把文件拖到项目 路径就有了 所以我是没有配置 如果在集成中发现路径错误的 可以自己手动重新配置下
RN模块
上面原生的很简单不过唯一遗憾的是 他们没有RN的 但是我们项目开始的时候使用的是RN 的 除了极少使用原生的 其他的都是用RN 写的跨平台的代码 所以 只能自己动手写了 RN 与原生之间通信 参考RN中文档的 教程 在原生和React Native间通信。
下面是个人写的一个demo 本人也是新手 写的不是很好 仅供参考:
开发环境及工具
webstorm
xcode 8.3
下面是给RN 调用的代码 和原生相识 只是在申明function的时候 需要将function 导出以供RN 调用 代码中的使用的回调 是使用了 通知的形式 没有使用 promise 等异步 因为通联的支付异步回调 是通过代理的形式 所以使用的是通知
下面就是在RN 中调用了 由于使用通知的形式 所以在RN 中也需要引入通知的一些相关文件
在import 中 添加 NativeEventEmitter
下面就可以开始使用了
没多少内容 RN 的使用也是基于原生的代码 如果有什么不对的地方 大家一起学习
也请大家多多指教
最后是OC 的文件 GitHub 地址 :Demo地址