Commit 36ee21ddd8c653bb8bbd79e749d4b0f39dcd8911
1 parent
ad39a8f0
pos收银支付的优化
Showing
4 changed files
with
123 additions
and
11 deletions
packageE/pages/cart/cart2/cart2.js
| ... | ... | @@ -196,6 +196,8 @@ Page({ |
| 196 | 196 | |
| 197 | 197 | onLoad: function (t) { |
| 198 | 198 | |
| 199 | + this.data.fir_in=1; | |
| 200 | + | |
| 199 | 201 | wx.setNavigationBarTitle({ title: "填写订单", }) |
| 200 | 202 | var th = this; |
| 201 | 203 | this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, }); |
| ... | ... | @@ -271,15 +273,46 @@ Page({ |
| 271 | 273 | //----------子页返回父页触发---------- |
| 272 | 274 | onShow: function () { |
| 273 | 275 | |
| 274 | - //富友支付取消支付强行回去 | |
| 275 | - var fy=ut.fy_back("/pages/user/order_list/order_list",1); | |
| 276 | - if(fy) return false; | |
| 277 | - | |
| 278 | - util_pay.set_fir(); | |
| 279 | 276 | |
| 280 | 277 | var th = this; |
| 281 | - th.data.g_cart_q_time = null; | |
| 278 | + //判断是不是第一次进入 | |
| 279 | + if(this.data.fir_in){ | |
| 280 | + this.data.fir_in=0; | |
| 281 | + }else{ | |
| 282 | + //富友支付取消支付强行回去 | |
| 283 | + var fy=ut.fy_back("/pages/user/order_list/order_list",1); | |
| 284 | + if(fy) return false; | |
| 285 | + util_pay.set_fir(); | |
| 286 | + | |
| 287 | + //-- 通联的第三方支付的返回优化 -- | |
| 288 | + ut.is_pay_ok("/pages/payment/pay_success/pay_success?type=2&order_sn=" + this.data.ok_order_sn,null,function (){ | |
| 289 | + //支付信息会先记录着 | |
| 290 | + if(!th.data.ok_order_sn) return false; | |
| 291 | + getApp().request.promiseGet("/api/weshop/order/page", | |
| 292 | + {data:{store_id:os.stoid,parent_sn:th.data.ok_order_sn}}).then(res=>{ | |
| 293 | + if(ut.ajax_ok(res)){ | |
| 294 | + var item=res.data.data.pageData[0]; | |
| 295 | + if(item.pay_status==1){ | |
| 296 | + //支付支付,返回首页 | |
| 297 | + ut.m_toast('支付成功'); | |
| 298 | + setTimeout(()=>{ | |
| 299 | + getApp().goto("/pages/payment/pay_success/pay_success?type=2&order_sn=" + th.data.ok_order_sn); | |
| 300 | + },1000) | |
| 282 | 301 | |
| 302 | + }else{ | |
| 303 | + //支付支付,返回首页 | |
| 304 | + ut.m_toast('支付失败'); | |
| 305 | + setTimeout(()=>{ | |
| 306 | + getApp().goto("/pages/index/index/index"); | |
| 307 | + },1000) | |
| 308 | + } | |
| 309 | + } | |
| 310 | + }) | |
| 311 | + }); | |
| 312 | + } | |
| 313 | + | |
| 314 | + | |
| 315 | + th.data.g_cart_q_time = null; | |
| 283 | 316 | if (th.data.isclose == 0) { |
| 284 | 317 | wx.navigateTo({ |
| 285 | 318 | url: "/pages/index/index/index" |
| ... | ... | @@ -5183,8 +5216,7 @@ Page({ |
| 5183 | 5216 | // order_sn: data.data, |
| 5184 | 5217 | //}, 1); |
| 5185 | 5218 | |
| 5186 | - | |
| 5187 | - | |
| 5219 | + th.data.ok_order_sn=data.data; | |
| 5188 | 5220 | util_pay.pay(data.data, async function () { |
| 5189 | 5221 | //app.my_warnning("支付成功",1,th); |
| 5190 | 5222 | //setTimeout(function () { | ... | ... |
utils/pay.js
| ... | ... | @@ -49,6 +49,9 @@ module.exports = { |
| 49 | 49 | wx.hideLoading(); |
| 50 | 50 | if(t.data.code==0){ |
| 51 | 51 | |
| 52 | + | |
| 53 | + var is_pos_pay=t.data.data.is_pos_pay; | |
| 54 | + //-- 富有的插件支付 -- | |
| 52 | 55 | if(t.data.data.is_fuioupay){ |
| 53 | 56 | const plugin = requirePlugin('fuiou-pay') |
| 54 | 57 | getApp().globalData.no_clear=1; |
| ... | ... | @@ -84,12 +87,26 @@ module.exports = { |
| 84 | 87 | },1000) |
| 85 | 88 | |
| 86 | 89 | }) |
| 90 | + } | |
| 91 | + //-- 通联的支付插件 -- | |
| 92 | + else if(is_pos_pay){ | |
| 93 | + | |
| 94 | + var p_data=t.data.data; | |
| 95 | + delete p_data.is_pos_pay; //清理掉,不然签名不通过 | |
| 96 | + wx.openEmbeddedMiniProgram({ | |
| 97 | + appId: 'wxef277996acc166c3', | |
| 98 | + extraData: p_data, | |
| 99 | + fail(){ | |
| 100 | + //-- 取消不支付 -- | |
| 101 | + i.wx_paying=0; | |
| 102 | + "function" == typeof a && a(); | |
| 103 | + } | |
| 104 | + }) | |
| 105 | + | |
| 87 | 106 | }else{ |
| 88 | 107 | i.weixinPay(t.data.data, e, a); |
| 89 | 108 | } |
| 90 | 109 | |
| 91 | - | |
| 92 | - | |
| 93 | 110 | }else{ |
| 94 | 111 | i.wx_paying=0; |
| 95 | 112 | getApp().confirmBox(t.data.msg); | ... | ... |
utils/pay2.js
| ... | ... | @@ -24,6 +24,7 @@ module.exports = { |
| 24 | 24 | "function" == typeof succ && succ(1); |
| 25 | 25 | }else{ |
| 26 | 26 | |
| 27 | + var is_pos_pay=t.data.data.is_pos_pay; | |
| 27 | 28 | if(t.data.data.is_fuioupay){ |
| 28 | 29 | const plugin = requirePlugin('fuiou-pay') |
| 29 | 30 | getApp().globalData.no_clear=1; |
| ... | ... | @@ -51,6 +52,20 @@ module.exports = { |
| 51 | 52 | fail(msg) |
| 52 | 53 | i.wx_paying=0; |
| 53 | 54 | }) |
| 55 | + } | |
| 56 | + //-- 通联的支付插件 -- | |
| 57 | + else if(is_pos_pay){ | |
| 58 | + var p_data=t.data.data; | |
| 59 | + delete p_data.is_pos_pay; //清理掉,不然签名不通过 | |
| 60 | + wx.openEmbeddedMiniProgram({ | |
| 61 | + appId: 'wxef277996acc166c3', | |
| 62 | + extraData: p_data, | |
| 63 | + fail(){ | |
| 64 | + //-- 取消不支付 -- | |
| 65 | + i.wx_paying=0; | |
| 66 | + "function" == typeof a && a(); | |
| 67 | + } | |
| 68 | + }) | |
| 54 | 69 | }else { |
| 55 | 70 | i.weixinPay(t.data.data, succ, fail); |
| 56 | 71 | } | ... | ... |
utils/util.js
| ... | ... | @@ -799,7 +799,7 @@ module.exports = { |
| 799 | 799 | return false |
| 800 | 800 | }, |
| 801 | 801 | |
| 802 | - //优惠促销的数据的格式话 | |
| 802 | + //-- 优惠促销的数据的格式话 -- | |
| 803 | 803 | format_yh_act(fir_act){ |
| 804 | 804 | var more_arr = []; |
| 805 | 805 | if(fir_act){ |
| ... | ... | @@ -875,6 +875,54 @@ module.exports = { |
| 875 | 875 | return more_arr |
| 876 | 876 | }, |
| 877 | 877 | |
| 878 | + m_toast(txt){ | |
| 879 | + wx.showToast({ | |
| 880 | + title: txt, | |
| 881 | + icon: 'none', | |
| 882 | + duration: 2500 | |
| 883 | + }) | |
| 884 | + }, | |
| 885 | + //-- 支付的结果判断是不是完成了,通联支付pos收银的返回 -- | |
| 886 | + is_pay_ok(back_url,err_url,func){ | |
| 887 | + if(!err_url){ | |
| 888 | + err_url="/pages/index/index/index"; | |
| 889 | + } | |
| 890 | + let options = wx.getEnterOptionsSync(); | |
| 891 | + if (options.scene == '1038' && options.referrerInfo.appId=='wxef277996acc166c3') { | |
| 892 | + let extraData = options.referrerInfo.extraData; | |
| 893 | + if (!extraData) { | |
| 894 | + if(func) func(); | |
| 895 | + } else { | |
| 896 | + // "支付成功"; | |
| 897 | + if (extraData.code == 'success') { | |
| 898 | + this.m_toast("支付成功") | |
| 899 | + //支付失败 | |
| 900 | + setTimeout(function () { | |
| 901 | + wx.redirectTo({ url: back_url}); | |
| 902 | + },2000) | |
| 903 | + } | |
| 904 | + // "支付已取消"; | |
| 905 | + else if (extraData.code == 'cancel') { | |
| 906 | + this.m_toast("取消支付") | |
| 907 | + //支付失败 | |
| 908 | + setTimeout(function () { | |
| 909 | + getApp().goto(err_url); | |
| 910 | + },2000) | |
| 911 | + } | |
| 912 | + // "支付失败:" + extraData.errmsg; | |
| 913 | + else { | |
| 914 | + this.m_toast("支付失败:" + extraData.errmsg) | |
| 915 | + //支付失败 | |
| 916 | + setTimeout(function () { | |
| 917 | + getApp().goto(err_url); | |
| 918 | + },2000) | |
| 919 | + } | |
| 920 | + | |
| 921 | + } | |
| 922 | + | |
| 923 | + } | |
| 924 | + }, | |
| 925 | + | |
| 878 | 926 | unserialize: unserialize, |
| 879 | 927 | _throttle:_throttle, |
| 880 | 928 | unserialize_o: unserialize_o, | ... | ... |