需求:ionic3项目使用p++对接支付宝,微信支付。
1.安装h5sdk,实现wap支付
安装:npm install pingpp-js
使用语法:
声明:public pingpp=require('pingpp-js');
支付:this.pingpp.createPayment(res, function(result, err) {
console.log("调用支付-----wap");
console.log(result);
console.log(err.msg);
console.log(err.extra);
});
2.安装cordova sdk,实现app支付
安装:cordova plugin add git+https://git.coding.net/pingplusplus/pingpp-cordova.git
使用:
window.Pingpp.createPayment(res, function(result,error){
console.log('调用支付-----0');
console.log(result);
console.log(error);
});
打包时报错:
查找各种资料后发现原因为:android中当方法总数超过64k时会报这个错误;
解决方案:打开\platforms\android\build.gradle文件
分别在这两个地方加上这两句话,打包时不再报之前的错误,此时出现了新的错误:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/tencent/mm/opensdk/channel/a/a$a.class
解决方案:
删除plugins\cordova-plugin-pingpp\sdk\android\lib\pingpp\libs\wechat-sdk-android-without-mta.jar和node_modules\cordova-plugin-pingpp\sdk\android\lib\pingpp\libs\wechat-sdk-android-without-mta.jar
打包成功,并能成功调起app支付;