1){ $orderNo = OrderService::createOrderNo(); $payPrice = helper::number2(helper::getArrayColumnSum($order_arr, 'pay_price')); //记录out_trade_no跟order_id对应关系 foreach($order_arr as $order){ $trade_model = new OrderTradeModel; $trade_list = []; $trade_list[] = [ 'out_trade_no' => $orderNo, 'order_id' => $order['order_id'], 'app_id' => $order['app_id'] ]; $trade_model->saveAll($trade_list); } $multiple = 1; }else{ $orderNo = $order_arr[0]['order_no']; $payPrice = $order_arr[0]['pay_price']; } $WxPay = new WxPay($app); $payment = $WxPay->unifiedorder($orderNo, $open_id, $payPrice, $orderType, $pay_source, $multiple); if($pay_source == 'wx'){ return $payment; }else if($pay_source == 'mp'){ $jssdk = $app->jssdk; return $jssdk->bridgeConfig($payment['prepay_id']); }else if($pay_source == 'payH5'){ return $payment; }else if($pay_source == 'app'){ return $payment; } } /** * 构建支付宝支付 */ public static function alipay( $user, $order_arr, $orderType = OrderTypeEnum::MASTER, $pay_source ) { //如果订单数大于1,则创建外部交易号 $multiple = 0; if(count($order_arr) > 1){ $orderNo = OrderService::createOrderNo(); $payPrice = helper::number2(helper::getArrayColumnSum($order_arr, 'pay_price')); //记录out_trade_no跟order_id对应关系 foreach($order_arr as $order){ $trade_model = new OrderTradeModel; $trade_list = []; $trade_list[] = [ 'out_trade_no' => $orderNo, 'order_id' => $order['order_id'], 'app_id' => $order['app_id'] ]; $trade_model->saveAll($trade_list); } $multiple = 1; }else{ $orderNo = $order_arr[0]['order_no']; $payPrice = $order_arr[0]['pay_price']; } $AliPay = new AliPay($pay_source); $payment = $AliPay->unifiedorder($orderNo, $payPrice, $orderType, $pay_source, $multiple); return $payment; } }