<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    H5支付顯示:系統異常

    管理 管理 編輯 刪除

    微信小程序支付正常。


    7a12f202410111735257015.png

    bae7c202410111736306785.png

    private Map<String, String> unifiedorder(Order order) {

           // 獲取用戶openId

           // 根據訂單支付類型來判斷獲取公眾號openId還是小程序openId

           UserToken userToken = new UserToken();

           userToken.setToken("");

           if (order.getPayChannel().equals(PayConstants.PAY_CHANNEL_WECHAT_PUBLIC)) {// 公眾號

               userToken = userTokenService.getTokenByUserId(order.getUid(), UserConstants.USER_TOKEN_TYPE_WECHAT);

           }

           if (order.getPayChannel().equals(PayConstants.PAY_CHANNEL_WECHAT_MINI)

                   || order.getPayChannel().equals(PayConstants.PAY_CHANNEL_WECHAT_MINI_VIDEO)) {// 小程序

               userToken = userTokenService.getTokenByUserId(order.getUid(), UserConstants.USER_TOKEN_TYPE_ROUTINE);

           }


           // 獲取appid、mch_id、微信簽名key

           String appId = "";

           String mchId = "";

           String signKey = "";

           switch (order.getPayChannel()) {

               case PayConstants.PAY_CHANNEL_WECHAT_PUBLIC:

               case PayConstants.PAY_CHANNEL_H5:// H5使用公眾號的信息

               case PayConstants.PAY_CHANNEL_WECHAT_NATIVE:// H5使用公眾號的信息

                   appId = systemConfigService.getValueByKeyException(WeChatConstants.WECHAT_PUBLIC_APPID);

                   mchId = systemConfigService.getValueByKeyException(WeChatConstants.WECHAT_PAY_PUBLIC_MCHID);

                   signKey = systemConfigService.getValueByKeyException(WeChatConstants.WECHAT_PAY_PUBLIC_KEY);

                   break;

               case PayConstants.PAY_CHANNEL_WECHAT_MINI:

               case PayConstants.PAY_CHANNEL_WECHAT_MINI_VIDEO:

                   appId = systemConfigService.getValueByKeyException(WeChatConstants.WECHAT_MINI_APPID);

                   mchId = systemConfigService.getValueByKeyException(WeChatConstants.WECHAT_PAY_MINI_MCHID);

                   signKey = systemConfigService.getValueByKeyException(WeChatConstants.WECHAT_PAY_MINI_KEY);

                   break;

               case PayConstants.PAY_CHANNEL_WECHAT_APP_IOS:

               case PayConstants.PAY_CHANNEL_WECHAT_APP_ANDROID:

                   appId = systemConfigService.getValueByKeyException(WeChatConstants.WECHAT_APP_APPID);

                   mchId = systemConfigService.getValueByKeyException(WeChatConstants.WECHAT_PAY_APP_MCHID);

                   signKey = systemConfigService.getValueByKeyException(WeChatConstants.WECHAT_PAY_APP_KEY);

                   break;

           }

           // 獲取微信預下單對象

           CreateOrderRequestVo unifiedorderVo = getUnifiedorderVo(order, userToken.getToken(), appId, mchId, signKey);


           // 預下單(統一下單)

           CreateOrderResponseVo responseVo = wechatService.payUnifiedorder(unifiedorderVo);

           // 組裝前端預下單參數

           Map<String, String> map = new HashMap<>();

           map.put("appId", unifiedorderVo.getAppid());

           map.put("nonceStr", unifiedorderVo.getAppid());

           map.put("package", "prepay_id=".concat(responseVo.getPrepayId()));

           map.put("signType", unifiedorderVo.getSign_type());

           Long currentTimestamp = WxPayUtil.getCurrentTimestamp();

           map.put("timeStamp", Long.toString(currentTimestamp));

           String paySign = WxPayUtil.getSign(map, signKey);

           map.put("paySign", paySign);

           map.put("prepayId", responseVo.getPrepayId());

           map.put("prepayTime", CrmebDateUtil.nowDateTimeStr());

           map.put("outTradeNo", unifiedorderVo.getOut_trade_no());

           if (order.getPayChannel().equals(PayConstants.PAY_CHANNEL_H5)) {

               map.put("mweb_url", responseVo.getMWebUrl());

           }

           if (order.getPayChannel().equals(PayConstants.PAY_CHANNEL_WECHAT_APP_IOS) ||

                   order.getPayChannel().equals(PayConstants.PAY_CHANNEL_WECHAT_APP_ANDROID)) {// App

               map.put("partnerid", mchId);

               map.put("package", responseVo.getPrepayId());

               Map<String, Object> appMap = new HashMap<>();

               appMap.put("appid", unifiedorderVo.getAppid());

               appMap.put("partnerid", mchId);

               appMap.put("prepayid", responseVo.getPrepayId());

               appMap.put("package", "Sign=WXPay");

               appMap.put("noncestr", unifiedorderVo.getAppid());

               appMap.put("timestamp", currentTimestamp);

               logger.info("================================================app支付簽名,map = " + appMap);

               String sign = WxPayUtil.getSignObject(appMap, signKey);

               logger.info("================================================app支付簽名,sign = " + sign);

               map.put("paySign", sign);

           }

           if (order.getPayChannel().equals(PayConstants.PAY_CHANNEL_WECHAT_NATIVE)) {

               map.put("code_url", responseVo.getCodeUrl());

           }

           return map;

       }

    請登錄后查看

    wx727378 最后編輯于2024-10-11 17:40:57

    快捷回復
    回復
    回復
    回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
    排序 默認正序 回復倒序 點贊倒序

    {{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    1396
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服