收藏
回答

JSAPI调用统一下单接口WxPay::unifiedOrder 参数如何传递

代码如下

private function makeWxPreOrder ($totalPrice) {
        try {
            $openid = Token::getCurrentTokenVar('openid');
            if (!$openid) {
                throw new TokenException([
                    'msg'=>'openid不正确'
                ]);
            }
            $wxOrderData = new \WxPayUnifiedOrder();
            // 订单编号
            $wxOrderData->SetOut_trade_no($this->orderNo);
            // 支付类型
            $wxOrderData->SetTrade_type('JSAPI');
            // 支付总价格
            $wxOrderData->SetTotal_fee($totalPrice * 100);
            // 支付内容简要描述
            $wxOrderData->SetBody('零食商贩');
            // 小程序客户端用户唯一标识
            $wxOrderData->SetOpenid($openid);
            // 接受微信处理返回结果的接口
            $wxOrderData->SetNotify_url('http://qq.com');
            return $this->getPaySignature($wxOrderData);
        } catch(Exception $e) {
            throw $e;
        }

    }



private function getPaySignature($wxOrderData) {
        // 微信返回的具体参数结果
        $wxOrder = \WxPayApi::unifiedOrder($wxOrderData);
 
        if ($wxOrder['return_code'] != 'SUCCESS' || $wxOrder['result_code'] != 'SUCCESS') {
            Log::record($wxOrder, 'error');
            Log::record('获取与支付订单失败', 'error');
        }
        return $wxOrder;
    }

报错信息:

Missing argument 1 for WxPayApi::unifiedOrder()


回答关注问题邀请回答
收藏

2 个回答

  • 微信支付技术助手
    微信支付技术助手
    2019-02-12

    您好,您这是缺少参数,请根据官方demo仔细检查一下。

    2019-02-12
    有用 1
    回复 2
  • MysTic
    MysTic
    2019-02-12

     上一个问题我已经解决了, 我修改了微信官方提供的支付demo源码, 跑通了

    2019-02-12
    有用 1
    回复 1
    • 航鲜森
      航鲜森
      2019-10-16
      请问你是怎么解决的呢
      2019-10-16
      回复
登录 后发表内容