需求: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文件(cordova-android升級到7.0+以後目錄結構改變,文件目錄爲\platforms\android\app\build.gradle)
1.defaultConfig 中添加:multiDexEnabled true
2.
dependencies 中添加: compile 'com.android.support:multidex:1.0.1'
分別在這兩個地方加上這兩句話,打包時不再報之前的錯誤,此時出現了新的錯誤:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/tencent/mm/opensdk/channel/a/a$a.class
查詢資料說是jar包衝突,需要刪除重複的jar包.
解決方案:
刪除\platforms\android\libs\wechat-sdk-android-without-mta.jar:
打包成功,並能成功調起app支付;