| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- import Dialog from 'tdesign-miniprogram/dialog/index';
- import Toast from 'tdesign-miniprogram/toast/index';
- import { dispatchCommitPay } from '../../../services/order/orderConfirm';
- // 真实的提交支付
- export const commitPay = (params) => {
- return dispatchCommitPay({
- goodsRequestList: params.goodsRequestList, // 待结算的商品集合
- invoiceRequest: params.invoiceRequest, // 发票信息
- // isIgnore: params.isIgnore || false, // 删掉 是否忽视库存不足和商品失效,继续结算,true=继续结算 购物车请赋值false
- userAddressReq: params.userAddressReq, // 地址信息(用户在购物选择更换地址)
- currency: params.currency || 'CNY', // 支付货币: 人民币=CNY,美元=USD
- logisticsType: params.logisticsType || 1, // 配送方式 0=无需配送 1=快递 2=商家 3=同城 4=自提
- // orderMark: params.orderMark, // 下单备注
- orderType: params.orderType || 0, // 订单类型 0=普通订单 1=虚拟订单
- payType: params.payType || 1, // 支付类型(0=线上、1=线下)
- totalAmount: params.totalAmount, // 新增字段"totalAmount"总的支付金额
- userName: params.userName, // 用户名
- payWay: 1,
- authorizationCode: '', //loginCode, // 登录凭证
- storeInfoList: params.storeInfoList, //备注信息列表
- couponList: params.couponList,
- groupInfo: params.groupInfo,
- });
- };
- export const paySuccess = (payOrderInfo) => {
- const { payAmt, tradeNo, groupId, promotionId } = payOrderInfo;
- // 支付成功
- Toast({
- context: this,
- selector: '#t-toast',
- message: '支付成功',
- duration: 2000,
- icon: 'check-circle',
- });
- const params = {
- totalPaid: payAmt,
- orderNo: tradeNo,
- };
- if (groupId) {
- params.groupId = groupId;
- }
- if (promotionId) {
- params.promotionId = promotionId;
- }
- const paramsStr = Object.keys(params)
- .map((k) => `${k}=${params[k]}`)
- .join('&');
- // 跳转支付结果页面
- wx.redirectTo({ url: `/pages/order/pay-result/index?${paramsStr}` });
- };
- export const payFail = (payOrderInfo, resultMsg) => {
- if (resultMsg === 'requestPayment:fail cancel') {
- if (payOrderInfo.dialogOnCancel) {
- //结算页,取消付款,dialog提示
- Dialog.confirm({
- title: '是否放弃付款',
- content: '商品可能很快就会被抢空哦,是否放弃付款?',
- confirmBtn: '放弃',
- cancelBtn: '继续付款',
- }).then(() => {
- wx.redirectTo({ url: '/pages/order/order-list/index' });
- });
- } else {
- //订单列表页,订单详情页,取消付款,toast提示
- Toast({
- context: this,
- selector: '#t-toast',
- message: '支付取消',
- duration: 2000,
- icon: 'close-circle',
- });
- }
- } else {
- Toast({
- context: this,
- selector: '#t-toast',
- message: `支付失败:${resultMsg}`,
- duration: 2000,
- icon: 'close-circle',
- });
- setTimeout(() => {
- wx.redirectTo({ url: '/pages/order/order-list/index' });
- }, 2000);
- }
- };
- // 微信支付方式
- export const wechatPayOrder = (payOrderInfo) => {
- // const payInfo = JSON.parse(payOrderInfo.payInfo);
- // const { timeStamp, nonceStr, signType, paySign } = payInfo;
- return new Promise((resolve) => {
- // demo 中直接走支付成功
- paySuccess(payOrderInfo);
- resolve();
- /* wx.requestPayment({
- timeStamp,
- nonceStr,
- package: payInfo.package,
- signType,
- paySign,
- success: function () {
- paySuccess(payOrderInfo);
- resolve();
- },
- fail: function (err) {
- payFail(payOrderInfo, err.errMsg);
- },
- }); */
- });
- };
|