支付优化

master
gongfuxiang 2021-12-03 01:01:14 +08:00
parent 367ef983c8
commit e90784b65d
3 changed files with 277 additions and 301 deletions

View File

@ -428,119 +428,111 @@
if(typeof data.data == 'string') {
window.location.href = data.data;
} else {
switch(data.payment.payment) {
//
// QQ
case 'AlipayFace' :
case 'QQ' :
//
if((data.data.qrcode_url || null) == null || (data.data.name || null) == null || (data.data.check_url || null) == null || (data.data.order_no || null) == null) {
app.globalData.showToast('支付插件返回参数有误');
return false;
var status = false;
// jsapi
if(data.payment.payment == 'Weixin' && (data.data.appId || null) != null && (data.data.timeStamp || null) != null && (data.data.nonceStr || null) != null && (data.data.package || null) != null && (data.data.signType || null) != null && (data.data.paySign || null) != null) {
status = true;
function onBridgeReady() {
WeixinJSBridge.invoke("getBrandWCPayRequest", {
appId: data.data.appId,
timeStamp: data.data.timeStamp,
nonceStr: data.data.nonceStr,
package: data.data.package,
signType: data.data.signType,
paySign: data.data.paySign
},
function(res) {
if(res.err_msg == "get_brand_wcpay_request:ok") {
//
self.order_item_pay_success_handle(index);
//
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
}
});
}
if(typeof WeixinJSBridge == "undefined") {
if(document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
//
this.setData({
popup_view_pay_data: data.data,
popup_view_pay_is_show: true
});
//
var timer = setInterval(function() {
uni.request({
url: app.globalData.get_request_url("paycheck", "buy", "membershiplevelvip"),
method: "POST",
data: {
order_no: self.popup_view_pay_data.order_no,
},
dataType: "json",
success: res => {
uni.hideLoading();
if (res.data.code == 0) {
//
clearInterval(self.popup_view_pay_timer);
self.setData({
popup_view_pay_data: null,
popup_view_pay_is_show: false
});
//
self.order_item_pay_success_handle(index);
//
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
} else {
// -300
if(res.data.code != -300) {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast(res.data.msg);
}
}
},
fail: () => {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast("服务器请求出错");
}
});
}, 3000);
self.setData({
popup_view_pay_timer: timer
});
break;
} else {
onBridgeReady();
}
}
//
case 'Weixin' :
function onBridgeReady() {
WeixinJSBridge.invoke("getBrandWCPayRequest", {
appId: data.data.appId,
timeStamp: data.data.timeStamp,
nonceStr: data.data.nonceStr,
package: data.data.package,
signType: data.data.signType,
paySign: data.data.paySign
//
if((data.data.qrcode_url || null) != null && (data.data.name || null) != null && (data.data.check_url || null) != null && (data.data.order_no || null) != null) {
status = true;
//
this.setData({
popup_view_pay_data: data.data,
popup_view_pay_is_show: true
});
//
var timer = setInterval(function() {
uni.request({
url: app.globalData.get_request_url("paycheck", "buy", "membershiplevelvip"),
method: "POST",
data: {
order_no: self.popup_view_pay_data.order_no,
},
function(res) {
if(res.err_msg == "get_brand_wcpay_request:ok") {
dataType: "json",
success: res => {
uni.hideLoading();
if (res.data.code == 0) {
//
clearInterval(self.popup_view_pay_timer);
self.setData({
popup_view_pay_data: null,
popup_view_pay_is_show: false
});
//
self.order_item_pay_success_handle(index);
//
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
} else {
// -300
if(res.data.code != -300) {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast(res.data.msg);
}
}
});
}
if(typeof WeixinJSBridge == "undefined") {
if(document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
},
fail: () => {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast("服务器请求出错");
}
} else {
onBridgeReady();
}
break;
});
}, 3000);
self.setData({
popup_view_pay_timer: timer
});
}
//
case 'Alipay' :
if((data.data.html || null) != null) {
var div = document.createElement('paydivform');
div.innerHTML= data.data.html;
document.body.appendChild(div);
var fm = document.forms;
if(fm.length > 0) {
fm[0].submit();
}
} else {
app.globalData.showToast('支付插件未返回html表单');
}
break;
//
default :
app.globalData.showToast(data.payment.name+'支付方式还未适配');
// html
if((data.data.html || null) != null) {
status = true;
var div = document.createElement('paydivform');
div.innerHTML= data.data.html;
document.body.appendChild(div);
var fm = document.forms;
if(fm.length > 0) {
fm[0].submit();
}
}
//
if(!status) {
app.globalData.showToast(data.payment.name+'支付方式还未适配');
}
}
},

View File

@ -424,119 +424,111 @@
if(typeof data.data == 'string') {
window.location.href = data.data;
} else {
switch(data.payment.payment) {
//
// QQ
case 'AlipayFace' :
case 'QQ' :
//
if((data.data.qrcode_url || null) == null || (data.data.name || null) == null || (data.data.check_url || null) == null || (data.data.order_no || null) == null) {
app.globalData.showToast('支付插件返回参数有误');
return false;
var status = false;
// jsapi
if(data.payment.payment == 'Weixin' && (data.data.appId || null) != null && (data.data.timeStamp || null) != null && (data.data.nonceStr || null) != null && (data.data.package || null) != null && (data.data.signType || null) != null && (data.data.paySign || null) != null) {
status = true;
function onBridgeReady() {
WeixinJSBridge.invoke("getBrandWCPayRequest", {
appId: data.data.appId,
timeStamp: data.data.timeStamp,
nonceStr: data.data.nonceStr,
package: data.data.package,
signType: data.data.signType,
paySign: data.data.paySign
},
function(res) {
if(res.err_msg == "get_brand_wcpay_request:ok") {
//
self.order_item_pay_success_handle(index);
//
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
}
});
}
if(typeof WeixinJSBridge == "undefined") {
if(document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
//
this.setData({
popup_view_pay_data: data.data,
popup_view_pay_is_show: true
});
//
var timer = setInterval(function() {
uni.request({
url: app.globalData.get_request_url("paycheck", "recharge", "wallet"),
method: "POST",
data: {
order_no: self.popup_view_pay_data.order_no,
},
dataType: "json",
success: res => {
uni.hideLoading();
if (res.data.code == 0) {
//
clearInterval(self.popup_view_pay_timer);
self.setData({
popup_view_pay_data: null,
popup_view_pay_is_show: false
});
//
self.order_item_pay_success_handle(index);
//
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
} else {
// -300
if(res.data.code != -300) {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast(res.data.msg);
}
}
},
fail: () => {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast("服务器请求出错");
}
});
}, 3000);
self.setData({
popup_view_pay_timer: timer
});
break;
} else {
onBridgeReady();
}
}
//
case 'Weixin' :
function onBridgeReady() {
WeixinJSBridge.invoke("getBrandWCPayRequest", {
appId: data.data.appId,
timeStamp: data.data.timeStamp,
nonceStr: data.data.nonceStr,
package: data.data.package,
signType: data.data.signType,
paySign: data.data.paySign
//
if((data.data.qrcode_url || null) != null && (data.data.name || null) != null && (data.data.check_url || null) != null && (data.data.order_no || null) != null) {
status = true;
//
this.setData({
popup_view_pay_data: data.data,
popup_view_pay_is_show: true
});
//
var timer = setInterval(function() {
uni.request({
url: app.globalData.get_request_url("paycheck", "recharge", "wallet"),
method: "POST",
data: {
order_no: self.popup_view_pay_data.order_no,
},
function(res) {
if(res.err_msg == "get_brand_wcpay_request:ok") {
dataType: "json",
success: res => {
uni.hideLoading();
if (res.data.code == 0) {
//
clearInterval(self.popup_view_pay_timer);
self.setData({
popup_view_pay_data: null,
popup_view_pay_is_show: false
});
//
self.order_item_pay_success_handle(index);
//
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
} else {
// -300
if(res.data.code != -300) {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast(res.data.msg);
}
}
});
}
if(typeof WeixinJSBridge == "undefined") {
if(document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
},
fail: () => {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast("服务器请求出错");
}
} else {
onBridgeReady();
}
break;
});
}, 3000);
self.setData({
popup_view_pay_timer: timer
});
}
//
case 'Alipay' :
if((data.data.html || null) != null) {
var div = document.createElement('paydivform');
div.innerHTML= data.data.html;
document.body.appendChild(div);
var fm = document.forms;
if(fm.length > 0) {
fm[0].submit();
}
} else {
app.globalData.showToast('支付插件未返回html表单');
}
break;
// html
if((data.data.html || null) != null) {
status = true;
var div = document.createElement('paydivform');
div.innerHTML= data.data.html;
document.body.appendChild(div);
var fm = document.forms;
if(fm.length > 0) {
fm[0].submit();
}
}
//
default :
app.globalData.showToast(data.payment.name+'支付方式还未适配');
//
if(!status) {
app.globalData.showToast(data.payment.name+'支付方式还未适配');
}
}
},

View File

@ -512,119 +512,111 @@
if(typeof data.data == 'string') {
window.location.href = data.data;
} else {
switch(data.payment.payment) {
//
// QQ
case 'AlipayFace' :
case 'QQ' :
//
if((data.data.qrcode_url || null) == null || (data.data.name || null) == null || (data.data.check_url || null) == null || (data.data.order_no || null) == null) {
app.globalData.showToast('支付插件返回参数有误');
return false;
var status = false;
// jsapi
if(data.payment.payment == 'Weixin' && (data.data.appId || null) != null && (data.data.timeStamp || null) != null && (data.data.nonceStr || null) != null && (data.data.package || null) != null && (data.data.signType || null) != null && (data.data.paySign || null) != null) {
status = true;
function onBridgeReady() {
WeixinJSBridge.invoke("getBrandWCPayRequest", {
appId: data.data.appId,
timeStamp: data.data.timeStamp,
nonceStr: data.data.nonceStr,
package: data.data.package,
signType: data.data.signType,
paySign: data.data.paySign
},
function(res) {
if(res.err_msg == "get_brand_wcpay_request:ok") {
//
self.order_item_pay_success_handle(order_ids);
//
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
}
});
}
if(typeof WeixinJSBridge == "undefined") {
if(document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
//
this.setData({
popup_view_pay_data: data.data,
popup_view_pay_is_show: true
});
//
var timer = setInterval(function() {
uni.request({
url: app.globalData.get_request_url("paycheck", "order"),
method: "POST",
data: {
order_no: self.popup_view_pay_data.order_no,
},
dataType: "json",
success: res => {
uni.hideLoading();
if (res.data.code == 0) {
//
clearInterval(self.popup_view_pay_timer);
self.setData({
popup_view_pay_data: null,
popup_view_pay_is_show: false
});
} else {
onBridgeReady();
}
}
//
self.order_item_pay_success_handle(order_ids);
//
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
} else {
// -300
if(res.data.code != -300) {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast(res.data.msg);
}
}
},
fail: () => {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast("服务器请求出错");
}
});
}, 3000);
self.setData({
popup_view_pay_timer: timer
});
break;
//
case 'Weixin' :
function onBridgeReady() {
WeixinJSBridge.invoke("getBrandWCPayRequest", {
appId: data.data.appId,
timeStamp: data.data.timeStamp,
nonceStr: data.data.nonceStr,
package: data.data.package,
signType: data.data.signType,
paySign: data.data.paySign
//
if((data.data.qrcode_url || null) != null && (data.data.name || null) != null && (data.data.check_url || null) != null && (data.data.order_no || null) != null) {
status = true;
//
this.setData({
popup_view_pay_data: data.data,
popup_view_pay_is_show: true
});
//
var timer = setInterval(function() {
uni.request({
url: app.globalData.get_request_url("paycheck", "order"),
method: "POST",
data: {
order_no: self.popup_view_pay_data.order_no,
},
function(res) {
if(res.err_msg == "get_brand_wcpay_request:ok") {
dataType: "json",
success: res => {
uni.hideLoading();
if (res.data.code == 0) {
//
clearInterval(self.popup_view_pay_timer);
self.setData({
popup_view_pay_data: null,
popup_view_pay_is_show: false
});
//
self.order_item_pay_success_handle(order_ids);
//
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
} else {
// -300
if(res.data.code != -300) {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast(res.data.msg);
}
}
});
}
if(typeof WeixinJSBridge == "undefined") {
if(document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
},
fail: () => {
clearInterval(self.popup_view_pay_timer);
app.globalData.showToast("服务器请求出错");
}
} else {
onBridgeReady();
}
break;
});
}, 3000);
self.setData({
popup_view_pay_timer: timer
});
}
//
case 'Alipay' :
if((data.data.html || null) != null) {
var div = document.createElement('paydivform');
div.innerHTML= data.data.html;
document.body.appendChild(div);
var fm = document.forms;
if(fm.length > 0) {
fm[0].submit();
}
} else {
app.globalData.showToast('支付插件未返回html表单');
}
break;
// html
if((data.data.html || null) != null) {
status = true;
var div = document.createElement('paydivform');
div.innerHTML= data.data.html;
document.body.appendChild(div);
var fm = document.forms;
if(fm.length > 0) {
fm[0].submit();
}
}
//
default :
app.globalData.showToast(data.payment.name+'支付方式还未适配');
//
if(!status) {
app.globalData.showToast(data.payment.name+'支付方式还未适配');
}
}
},