代码如下
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