问题描述
我有相同的代码库用于 Android/iOS 和我正在处理的项目的网站。 Cordova 创建本机应用程序,因此我们选择了cordova 进行构建。到目前为止,我使用 Docker 内部的 ionic serve
托管网站,并从 ionic cordova build --release
构建 APK。然后在集成 Razorpay 时,我找到了 2 种方法来连接它。
网络集成:
declare var Razorpay:any
handlePayment() {
const options = {
key: ...,amount: ....,description: ....,handler: (response) => {
console.log("Razorpay response ==>",response);
if (response) {
this.paymentSuccess.next(true);
this.paymentId = response;
}
}
}
var rzp = new Razorpay(options);
rzp.open();
}
Cordova 插件集成:
declare var RazorpayCheckout: any;
const options = {
key: ...,amount: ...,description: ...,}
var successCallback = (response) => {
console.log("Razorpay response ==>",response);
if (response) {
this.paymentSuccess.next(true);
this.paymentId = response;
}
}
var failureCallback = (response) => {
console.log("Razorpay response ==>",response);
if (response) {
this.paymentSuccess.next(false);
}
}
RazorpayCheckout.open(options,successCallback,failureCallback);
}
网络集成方式不会在付款失败时返回任何内容。它甚至不显示网上银行的成功/失败屏幕。因此,当我使用 Cordova 插件时,它与 ionic serve
不兼容,并且当我重新加载任何页面时,ionic cordova run browser
会阻止内容安全策略,否则它就像一个魅力。
我找到了解决方法 here。现在使用ionic serve --cordova --platform browser
可以完美运行并且不会在重新加载页面时崩溃,但是在重新加载后我的应用程序无法读取 IonicStorage,因此每次我重新加载我的页面时我都会被抛出到登录页面。欢迎任何帮助。我很确定这只是某个地方的一个小错误,但我还不能查明它。请帮忙。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)