正在显示
1 个修改的文件
包含
67 行增加
和
1 行删除
| @@ -265,6 +265,72 @@ class Index extends Api | @@ -265,6 +265,72 @@ class Index extends Api | ||
| 265 | //计算超时时间 | 265 | //计算超时时间 |
| 266 | $newtime=time()-43200; | 266 | $newtime=time()-43200; |
| 267 | $order=Db::name("order")->where("create_time",">",$newtime)->select(); | 267 | $order=Db::name("order")->where("create_time",">",$newtime)->select(); |
| 268 | - print_r($order); | 268 | + foreach ($order as $k=>$v){ |
| 269 | + $res=$this->refund($v['id']); | ||
| 270 | + } | ||
| 271 | + } | ||
| 272 | + | ||
| 273 | + public function refund($id) | ||
| 274 | + { | ||
| 275 | + //查询订单 | ||
| 276 | + $order = Db::name("order")->where("id", $id)->find(); | ||
| 277 | + if(!$order){ | ||
| 278 | + print_r("id错误"); | ||
| 279 | + } | ||
| 280 | + if ($order['is_pay'] == 1) { | ||
| 281 | + if ($order['order_status'] != 1) { | ||
| 282 | + print_r("该订单无法退款order_status不等于1,order_status=".$order['order_status']); | ||
| 283 | + } | ||
| 284 | + if ($order['pay_type'] == "offlinepay") { | ||
| 285 | + $relogs['update_time'] = time(); | ||
| 286 | + $relogs['is_pay'] = 4; | ||
| 287 | + $relogs['refund_time'] = time(); | ||
| 288 | + $rs2 = Db::name('order') | ||
| 289 | + ->where(['id' => $order['id']]) | ||
| 290 | + ->update($relogs); | ||
| 291 | + } | ||
| 292 | + //$this->error("该订单无法退款"); | ||
| 293 | + //拼接退款参数 | ||
| 294 | + $pay_fee = $order['price']; | ||
| 295 | + $refund_fee = $pay_fee; | ||
| 296 | + $order_sn = $order['order_no']; | ||
| 297 | + $pay_type = 'wechat'; | ||
| 298 | + $reason = '订单退款'; | ||
| 299 | + $notifyurl = 'https://wyc.tenyes.cn/api/index/refundNotifyx';//退款回调地址 | ||
| 300 | + //直接调用退款方法传参即可 | ||
| 301 | + $response = \addons\epay\library\Service::submitRefund($pay_fee, $refund_fee, $order_sn, getRefundSn($order['user_id']), $pay_type, $reason, $notifyurl, '', 'miniapp'); | ||
| 302 | + $response = json_encode($response); | ||
| 303 | + $response = json_decode($response, true); | ||
| 304 | + file_put_contents("pcl_repay_v2.log", date("Y-m-d H:i:s") . "::" . json_encode($response, JSON_UNESCAPED_UNICODE) . PHP_EOL, FILE_APPEND); | ||
| 305 | + if (!empty($response['return_code'] == 'SUCCESS')) { | ||
| 306 | + | ||
| 307 | + //退款成功,更新退款记录 | ||
| 308 | + $relogs['update_time'] = time(); | ||
| 309 | + $relogs['is_pay'] = 3; | ||
| 310 | + $relogs['out_refund_no'] = $response['out_refund_no']; | ||
| 311 | + $relogs['refund_time'] = time(); | ||
| 312 | + $rs2 = Db::name('order') | ||
| 313 | + ->where(['id' => $order['id']]) | ||
| 314 | + ->update($relogs); | ||
| 315 | + } else { | ||
| 316 | + print_r("微信退款失败".$response); | ||
| 317 | + } | ||
| 318 | + | ||
| 319 | + //refundSendMessage($id);//发送订阅消息 | ||
| 320 | + $index=new Index(); | ||
| 321 | + $index->senWxmsgToDriverUser($id); | ||
| 322 | + print_r("退款成功".$response); | ||
| 323 | + | ||
| 324 | + } else { | ||
| 325 | + $relogs['is_pay'] = 4; | ||
| 326 | + $rs2 = Db::name('order') | ||
| 327 | + ->where(['id' => $order['id']]) | ||
| 328 | + ->update($relogs); | ||
| 329 | + //refundSendMessage($id);//发送订阅消息 | ||
| 330 | + $index=new Index(); | ||
| 331 | + $index->senWxmsgToDriverUser($id); | ||
| 332 | + print_r("取消成功 id=".$id); | ||
| 333 | + | ||
| 334 | + } | ||
| 269 | } | 335 | } |
| 270 | } | 336 | } |
-
请 注册 或 登录 后发表评论