wxPayByJsApi( )微信支付函数 * * * * * >[warning] > 关于微信支付,更详细使用方法 :https://ask.rhaphp.com/article/42 > 支付成功的回调如果地址填写正确的,系统自动处理更新订单的状态 > 也可以通过系统写好的queryOrder( )函数查询订单状态是否交易成功,再处理自己的业务逻辑。 ~~~ /** * 微信支付函数 * @param $parment_id 定单id * @param int $money * @param string $openid * @param string $mid 必须 * @param string $notifyUrl 通知地址 * @param string $body 商品描述 * @param string $goods_tag 订单优惠标记 * @param string $attach 附加数据 * @param string $trade_type 交易类型 * @return bool|json数据,可直接填入js函数作为参数 */ function wxPayByJsApi($parment_id = '', $goods_tag = '', $trade_type = 'JSAPI') { $model = new \app\common\model\Payment(); if (!$payment = $model->getPaymentByFind(['payment_id' => $parment_id])) { return ['errCode' => -1, 'errMsg' => '订单不存在']; } if (setWxpayConfig($payment['mpid'])) { $tools = new \JsApiPay(); $input = new \WxPayUnifiedOrder(); $input->SetBody($payment['title']); $input->SetAttach($payment['attach']); $input->SetOut_trade_no($payment['order_number']); $input->SetTotal_fee($payment['money'] * 100); $input->SetTime_start(date("YmdHis"));//交易起始时间 $input->SetTime_expire(date("YmdHis", time() + 86400));//交易结束时间 $input->SetGoods_tag($goods_tag); $input->SetNotify_url(\wxPayConfig::$NOTIFY_URL); $input->SetTrade_type($trade_type); $input->SetOpenid($payment['openid']); $order = \WxPayApi::unifiedOrder($input); if (isset($order['return_code'])) { if ($order['return_code'] == 'SUCCESS') { $jsApiParameters = $tools->GetJsApiParameters($order); if ($jsApiParameters == false) { return ['errCode' => -1, 'errMsg' => '获取API参数失败']; } else { return ['errCode' => 'ok', 'data' => $jsApiParameters]; } } else { return ['errCode' => -1, 'errMsg' => $order['return_code'] . $order['return_msg']]; } } } return ['errCode' => -1, 'errMsg' => '没有公众号配置信息']; } ~~~