提交 9b1c8407 编写于 作者: G gongfuxiang

适配paypal支付

上级 47e45fb6
......@@ -47,7 +47,7 @@
"/pages/user/user"
],
// 请求地址
request_url: 'https://d1.shopxo.vip/',
request_url: 'https://dev.shopxo.vip/',
// 静态资源地址(如系统根目录不在public目录下面请在静态地址后面加public目录、如:https://d1.shopxo.vip/public/)
static_url: 'https://d1.shopxo.vip/',
// 系统类型(默认default、如额外独立小程序、可与程序分身插件实现不同主体小程序及支付独立)
......
......@@ -594,7 +594,11 @@
uni.hideLoading();
if (res.data.code == 0) {
if (res.data.data.order_status == 1) {
uni.setStorageSync(app.globalData.data.cache_page_pay_key, res.data.data.order_ids.join(','));
var pay_data = {
order_ids: res.data.data.order_ids.join(','),
payment_id: data['payment_id']
};
uni.setStorageSync(app.globalData.data.cache_page_pay_key, pay_data);
}
uni.redirectTo({
url: '/pages/user-order/user-order'
......
......@@ -21,7 +21,7 @@
<view class="single-text margin-top-xs">
<text class="cr-gray margin-right-xl">{{fv.name}}</text>
<text class="cr-base">{{item[fv.field]}}</text>
<text v-if="(fv.unit || null) != null" class="cr-gray">{{fv.unit}}</text>
<text v-if="(fv.unit || null) != null" class="cr-gray">{{fv.unit}}</text>
<text v-if="(item[fv.unit_field] || null) != null" class="cr-gray">{{item[fv.unit_field]}}</text>
</view>
</block>
......@@ -329,6 +329,34 @@
return false;
}
// #endif
// 支付方式
var payment = null;
for(var i in this.payment_list) {
if(this.payment_list[i]['id'] == this.payment_id) {
payment = this.payment_list[i];
}
}
if(payment == null) {
app.globalData.showToast('支付方式有误');
return false;
}
// 请求数据
var post_data = {
id: order_id,
payment_id: this.payment_id
};
// h5自定义重定向地址
// #ifdef H5
post_data['redirect_url'] = encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : '')));
// paypal支付方式使用respond_url返回地址、移除重定向地址
if(payment.payment == 'PayPal') {
post_data['respond_url'] = post_data['redirect_url'];
delete post_data['redirect_url'];
}
// #endif
// 请求支付接口
uni.showLoading({
......@@ -337,13 +365,7 @@
uni.request({
url: app.globalData.get_request_url("pay", "buy", "membershiplevelvip"),
method: "POST",
data: {
// #ifdef H5
redirect_url: encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : ''))),
// #endif
id: order_id,
payment_id: this.payment_id
},
data: post_data,
dataType: "json",
success: res => {
uni.hideLoading();
......@@ -351,9 +373,9 @@
var data = res.data.data;
// #ifdef MP-WEIXIN || MP-ALIPAY || MP-BAIDU || MP-TOUTIAO
this.common_pay_handle(this, data, index);
// #endif
// #ifdef MP-KUAISHOU
this.kuaishou_pay_handle(this, data, index);
// #endif
// #ifdef MP-KUAISHOU
this.kuaishou_pay_handle(this, data, index);
// #endif
// #ifdef MP-QQ
this.qq_pay_handle(this, data, index);
......@@ -370,26 +392,26 @@
app.globalData.showToast("服务器请求出错");
}
});
},
// 快手小程序
kuaishou_pay_handle(self, data, index) {
uni.pay({
orderInfo: data.data,
serviceId: '1',
success: res => {
// 数据设置
self.order_item_pay_success_handle(index);
// 跳转支付页面
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
},
fail: res => {
app.globalData.showToast('支付失败');
}
});
},
// 快手小程序
kuaishou_pay_handle(self, data, index) {
uni.pay({
orderInfo: data.data,
serviceId: '1',
success: res => {
// 数据设置
self.order_item_pay_success_handle(index);
// 跳转支付页面
uni.navigateTo({
url: "/pages/paytips/paytips?code=9000"
});
},
fail: res => {
app.globalData.showToast('支付失败');
}
});
},
// 微信、支付宝、百度、头条、QQ
......
......@@ -325,6 +325,34 @@
}
// #endif
// 支付方式
var payment = null;
for(var i in this.payment_list) {
if(this.payment_list[i]['id'] == this.payment_id) {
payment = this.payment_list[i];
}
}
if(payment == null) {
app.globalData.showToast('支付方式有误');
return false;
}
// 请求数据
var post_data = {
recharge_id: recharge_id,
payment_id: this.payment_id
};
// h5自定义重定向地址
// #ifdef H5
post_data['redirect_url'] = encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : '')));
// paypal支付方式使用respond_url返回地址、移除重定向地址
if(payment.payment == 'PayPal') {
post_data['respond_url'] = post_data['redirect_url'];
delete post_data['redirect_url'];
}
// #endif
// 请求支付接口
uni.showLoading({
title: "请求中..."
......@@ -332,13 +360,7 @@
uni.request({
url: app.globalData.get_request_url("pay", "recharge", "wallet"),
method: "POST",
data: {
// #ifdef H5
redirect_url: encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : ''))),
// #endif
recharge_id: recharge_id,
payment_id: this.payment_id
},
data: post_data,
dataType: "json",
success: res => {
uni.hideLoading();
......
......@@ -290,15 +290,6 @@
if (res.data.data.data.length > 0) {
if (this.data_page <= 1) {
var temp_data_list = res.data.data.data;
// 下订单支付处理
if (this.load_status == 0) {
var ck = app.globalData.data.cache_page_pay_key;
var cache_ids = uni.getStorageSync(ck) || null;
if (cache_ids != null) {
uni.removeStorageSync(ck);
this.pay_handle(cache_ids);
}
}
} else {
var temp_data_list = this.data_list || [];
var temp_data = res.data.data.data;
......@@ -307,6 +298,7 @@
}
}
var temp_load_status = this.load_status;
this.setData({
data_list: temp_data_list,
data_total: res.data.data.total,
......@@ -317,6 +309,17 @@
payment_list: res.data.data.payment_list || []
});
// 下订单支付处理
if (temp_load_status == 0) {
var ck = app.globalData.data.cache_page_pay_key;
var pay_data = uni.getStorageSync(ck) || null;
if (pay_data != null) {
uni.removeStorageSync(ck);
this.setData({payment_id: parseInt(pay_data.payment_id || 0)});
this.pay_handle(pay_data.order_ids);
}
}
// 是否还有数据
this.setData({
data_bottom_line_status: (this.data_page > 1 && this.data_page > this.data_page_total)
......@@ -393,6 +396,34 @@
}
// #endif
// 支付方式
var payment = null;
for(var i in this.payment_list) {
if(this.payment_list[i]['id'] == this.payment_id) {
payment = this.payment_list[i];
}
}
if(payment == null) {
app.globalData.showToast('支付方式有误');
return false;
}
// 请求数据
var post_data = {
ids: order_ids,
payment_id: this.payment_id
};
// h5自定义重定向地址
// #ifdef H5
post_data['redirect_url'] = encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : '')));
// paypal支付方式使用respond_url返回地址、移除重定向地址
if(payment.payment == 'PayPal') {
post_data['respond_url'] = post_data['redirect_url'];
delete post_data['redirect_url'];
}
// #endif
// 请求支付接口
uni.showLoading({
title: "请求中..."
......@@ -400,13 +431,7 @@
uni.request({
url: app.globalData.get_request_url("pay", "order"),
method: "POST",
data: {
// #ifdef H5
redirect_url: encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : ''))),
// #endif
ids: order_ids,
payment_id: this.payment_id
},
data: post_data,
dataType: "json",
success: res => {
uni.hideLoading();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册