123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- header("Content-type: text/json; charset=utf-8");
- $phone=str_replace(" ","",$_POST['phone']??"");
- $price=$_POST['price'];
- $order_sn=uniqid('order_sn');
- $admin_id=$_SESSION['admin_id'];
- $data=[
- "user_id"=>$admin_id,
- "price"=>$price,
- "phone"=>$phone,
- "order_sn"=>$order_sn,
- "created_at"=>date("Y-m-d H:i:s"),
- "updated_at"=>date("Y-m-d H:i:s"),
- ];
- $statement=$pdo->prepare("insert into recharge(`user_id`,`price`,`phone`,`order_sn`,`created_at`,`updated_at`) values(?,?,?,?,?,?)");
- $res=$statement->execute(array_values($data));
- if(!$res)exit(json_encode(['code'=>0,"msg"=>"创建订单失败"]));
- $id=$pdo->lastInsertId();
- $url = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http";
- $url .= "://" . $_SERVER['HTTP_HOST'];
- $request_data=[
- "mch_id"=>"tongue",
- "ptype"=>82,
- "from_name"=>"充值",
- "order_sn"=>$order_sn,
- "money"=>$price,
- "goods_desc"=>"充值",
- "client_ip"=>$_SERVER['REMOTE_ADDR']??"127.0.0.1",
- "format"=>"json",
- "notify_url"=>$url."/notify",
- "pay_backurl"=>$url,
- "time"=>time(),
- ];
- ksort($request_data);
- $request_data['key']="37cd2d09c84f6ff7f1d28960ef82c4e533a3c047";
- $request_data['sign']=md5(urldecode(http_build_query($request_data)));
- unset($request_data['key']);
- //echo "<pre>";
- //var_dump(http_build_query($request_data));
- //var_dump($request_data);
- //echo "</pre>";
- //exit();
- //正式环境打开
- file_put_contents(date("Y-m-d").'pay.log',date("H:i:s")."请求:".http_build_query($request_data)."\r\n",FILE_APPEND);
- $res=curl_request("http://47.236.143.199/?c=Pay&".http_build_query($request_data),array(),"get",array("content-type: text/html"),false);
- file_put_contents(date("Y-m-d").'pay.log',date("H:i:s")."响应".$res."\r\n",FILE_APPEND);
- $res=json_decode($res,true);
- //$res=json_decode('{"code":"1","msg":"下单成功","data":{"order_sn":"ZZHF20240126214407639","ptype":"82","ptype_name":"","realname":null,"account":null,"money":"30","bank":"","branch_name":"","qrcode":"https:\/\/hh5ad.hnapay.com\/pay\/order.shtml?orderId=2024012676143559&orderKey=fef8f40cc98edd2dffc4041dedcd1d2b3aac9eb0"}}',true);
- if($res['code']!=1)exit(json_encode(['code'=>0,"msg"=>"下单失败"]));
- $statement=$pdo->exec("update recharge set `app_order_sn`='{$res['data']['order_sn']}' where id={$id}");
- exit(json_encode(['code'=>1,'msg'=>'success',"data"=>['pay_url'=>$res['data']['qrcode']]]));
- //exit(json_encode(['code'=>1,"msg"=>"","data"=>[
- // "pay_url"=>$res['']
- //]]));
|