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, | ... | ... |