参考:cordova-plugin-alipay——ionic2 支付宝App支付插件,支持Android、iOS
在ionic2上实现支付宝支付的功能,需要使用到一个封装好的cordova插件(当然,如果你会写cordova插件的话,那就另当别论咯)。至于支付宝支付前的准备工作我就不一一赘述了。支付宝的官网就已经说得很明白了。
上面放置的一个链接是我fork offbye的cordova-plugin-alipay插件后进行修改的github项目。进行修改后在ionic2 rc版上得以成功使用。至于不知半解地研究正确修改的艰辛过程就在这一笔带过~~
下面copy过来,说明一下:
1、cmd命令行下进入ionic2项目,安装需要的cordova插件:
cordova plugin add https://github.com/DreamMoon/cordova-plugin-alipay.git --variable PARTNER_ID=[你的商户PID可以在账户中查询]
declare var AliPay: any;
//第一步:订单在服务端签名生成订单信息,具体请参考官网进行签名处理
let payInfo = "xxx";
//第二步:调用支付插件
AliPay.pay(payInfo,
function success(e){
alert('success!');
},function error(e){
alert('error!');
});
应用该插件后ionic2打包为ios的注意事项
- 应用该插件后,ionic2直接打包为android,支付宝支付的功能在app上使用是没有什么问题的。但是在ios上却没有那么顺利了,可能会出现这样的错误(在ionic build ios 或 xcode运行app项目的过程中):
Undefined symbols for architecture i386: “_deflate”, referenced from
-
解决方法的步骤如下: 1.go to target section; 2.Build Phases tab; 3.Link Binaries With Libraries; 4.click on + button; 5.search libz.tbd (or libz.dylib); 6.click on add button.
ionic2 使用该插件的说明
该cordova插件是源于 https://github.com/offbye/cordova-plugin-alipay 。
- 在ionic2使用该插件的过程中所出现的问题进行解决(AliPay对象不存在的问题): 修改plugin.xml文件中的:
<js-module src="www/AliPay.js" name="AliPay">
<!-- <clobbers target="cordova.plugins.AliPay" /> -->
<clobbers target="AliPay" />
</js-module>
- 修复ios中路径出错问题: plugin.xml
<!-- <resource-file src="src/lib/AlipaySDK.bundle"/> -->
<resource-file src="src/ios/lib/AlipaySDK.bundle"/>