createOutTradeNo($uid); $pay_detail = $site_id .'_' .$uid. '_'.$id; $order_data = array(); $order_data['site_id'] = 1; $order_data['order_type'] = 1; $order_data['order_name'] =$order_name; $order_data['order_no'] = $this->createOrderNo($site_id,$uid); $order_data['out_trade_no'] = $out_trade_no; $order_data['order_money'] = $pay_money; $order_data['pay_money'] = $pay_money; $order_data['pay_type'] = $pay_type; $order_data['create_time'] = time(); $order_data['buyer_uid'] = $uid; $order_data['buyer_shop_id'] = $site_id; Db::name('supply_order')->insert($order_data); $pay->addPay(1, $out_trade_no, $pay_type, $order_name, $pay_detail, $pay_money, '', 'SupplyRechargePayNotify', '', ''); $notify_url = addon_url("pay/pay/notify/paytype/" . $pay_type . '/app_type/' . $app_type . '/site_id/1'); $return_url = addon_url("pay/pay/payreturn", ['out_trade_no' => $out_trade_no, 'app_type' => $app_type]); $data['site_id'] = 1; $data['out_trade_no'] = $out_trade_no; $data['pay_money'] = $pay_money; $data['app_type'] = $app_type; $data['pay_body'] = $order_name; $data['notify_url'] = $notify_url; $data['return_url'] = $return_url; $data['pay_type'] = $pay_type; $data["member_id"] = $uid; $data["is_matched"] = 0; $data["hb_fq_num"] = 0; $res = event('Pay', $data, true); $res['data']['out_trade_no'] = $out_trade_no; return $res; } /** * 生成订单编号 * * @param array $site_id */ public function createOrderNo($site_id, $member_id = 0) { $time_str = date('YmdHi'); $max_no = Cache::get($site_id . "_" . $member_id . "_" . $time_str); if (!isset($max_no) || empty($max_no)) { $max_no = 1; } else { $max_no = $max_no + 1; } $order_no = $time_str . $member_id . sprintf("%03d", $max_no); Cache::set($site_id . "_" . $member_id . "_" . $time_str, $max_no); return $order_no; } }