小程序商品下單支付

小程序商品下單支付


[基礎(chǔ)用法]

功能:用于小程序的商品下單支付

用法:

第一步:在config.js文件中找到config設(shè)置

第二步:搜索一下shop_order_pay這個接口是否已經(jīng)存在定義(有的小程序模板已經(jīng)定義),如果沒有定義的話,在里面的底部新增以下代碼

            shopOrderPayUrl: getApiUrl('shop_order_pay')

        并復(fù)制紅色部分待用,如果已經(jīng)存在,則直接復(fù)制使用即可

第三步:接口調(diào)用請求,如果定義名稱不同,使用第二步復(fù)制的內(nèi)容替換紅框內(nèi)選中的部分

商品下單支付.png

提供參考的實例代碼:

    /**
     * 訂單提交
     * 接收參數(shù)
     * 無需接收參數(shù),從頁面數(shù)據(jù)中取值
     * 接口傳參
     * addr_id:收貨地址ID
     * prom_type:商品類型(虛擬、實物)
     * pay_type:支付類型(微信、會員余額)
     * remark:訂單備注
     * coupon_id:優(yōu)惠券ID
     * querystr:訂單數(shù)據(jù)密鑰字符串
     */
    onSubmitOrder() {
        let _this = this;
        // 防止重復(fù)提交訂單
        if (_this.data.disabledreturn false;
        // 驗證是否需要添加收貨地址
        let prom_type = _this.data.prom_type;
        let addr_id = _this.data.address.addr_id || 0;
        if (0 == addr_id && 0 == prom_type{
            App.showError('請?zhí)砑邮肇浀刂?/span>', function() {
                _this.onSelectAddress();
            });
            return false;
        }
        // 接口傳參
        let postData = {
            addr_id: addr_id,
            prom_type: prom_type,
            pay_type: _this.data.curPayType,
            remark: _this.data.remark || '',
            coupon_id: _this.data.selectCouponId,
            querystr: _this.data.options.querystr,
        };
        // 秒殺商品參數(shù)
        if (_this.data.product_data[0].active_time_id{
            postData.order_source = '20';
            postData.order_source_id = _this.data.product_data[0].active_time_id;
        }
        App._requestPost(_this, App.globalData.config.shopOrderPayUrl, postData,
            function (res) {
                let order_id = res.data.OrderData.order_id;
                let order_code = res.data.OrderData.order_code;
                _this.setData({ order_id, order_code });
                if (_this.data.curPayType == 1{
                    if (res.data.WeChatPay.return_code == 'FAIL'{
                        App.showError(res.data.WeChatPay.return_msg);
                        return false;
                    }
                    App.wxPayment({
                        order_id: order_id,
                        payment: res.data.WeChatPay,
                        success: res1 => {
                            _this.setData({
                                is_cart_pay: _this.data.options.querystr ? false : true,
                                is_buy_pay: _this.data.options.querystr ? true : false
                            });
                            _this._orderPayDealWith();
                        },
                        fail: res1 => {
                            if (!res.msg.errorApp.showError(res.msg.error);
                        },
                    });
                } else if (_this.data.curPayType == 2{
                    App.showSuccess(res.msg, () => {
                        _this.redirectToOrderIndex();
                    });
                }
            },
            function (res) {
                App.showError(res.msg);
            }
        );
    },


文檔最后更新時間:2023-03-01 11:17:53

文檔
目錄

深色
模式

切換
寬度