wxPayByJsApi( )微信支付函数

/**
* 微信支付函数
* @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' => '没有公众号配置信息'];
}

0 个评论

要回复文章请先登录注册