代码如下
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; } |
报错信息:

上一个问题我已经解决了, 我修改了微信官方提供的支付demo源码, 跑通了
您好,您这是缺少参数,请根据官方demo仔细检查一下。
我想继续问你个问题, 如果微信公众号没有开通支付功能, 没有商户号, key值, 怎么进行支付环境测试 (注: 微信中是否存在类似支付宝支付的沙箱测试环境), 谢谢你了, 技术哥哥.(*^▽^*)
您好,请参考:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=23_1