作者 郭文星

213

... ... @@ -265,6 +265,72 @@ class Index extends Api
//计算超时时间
$newtime=time()-43200;
$order=Db::name("order")->where("create_time",">",$newtime)->select();
print_r($order);
foreach ($order as $k=>$v){
$res=$this->refund($v['id']);
}
}
public function refund($id)
{
//查询订单
$order = Db::name("order")->where("id", $id)->find();
if(!$order){
print_r("id错误");
}
if ($order['is_pay'] == 1) {
if ($order['order_status'] != 1) {
print_r("该订单无法退款order_status不等于1order_status=".$order['order_status']);
}
if ($order['pay_type'] == "offlinepay") {
$relogs['update_time'] = time();
$relogs['is_pay'] = 4;
$relogs['refund_time'] = time();
$rs2 = Db::name('order')
->where(['id' => $order['id']])
->update($relogs);
}
//$this->error("该订单无法退款");
//拼接退款参数
$pay_fee = $order['price'];
$refund_fee = $pay_fee;
$order_sn = $order['order_no'];
$pay_type = 'wechat';
$reason = '订单退款';
$notifyurl = 'https://wyc.tenyes.cn/api/index/refundNotifyx';//退款回调地址
//直接调用退款方法传参即可
$response = \addons\epay\library\Service::submitRefund($pay_fee, $refund_fee, $order_sn, getRefundSn($order['user_id']), $pay_type, $reason, $notifyurl, '', 'miniapp');
$response = json_encode($response);
$response = json_decode($response, true);
file_put_contents("pcl_repay_v2.log", date("Y-m-d H:i:s") . "::" . json_encode($response, JSON_UNESCAPED_UNICODE) . PHP_EOL, FILE_APPEND);
if (!empty($response['return_code'] == 'SUCCESS')) {
//退款成功,更新退款记录
$relogs['update_time'] = time();
$relogs['is_pay'] = 3;
$relogs['out_refund_no'] = $response['out_refund_no'];
$relogs['refund_time'] = time();
$rs2 = Db::name('order')
->where(['id' => $order['id']])
->update($relogs);
} else {
print_r("微信退款失败".$response);
}
//refundSendMessage($id);//发送订阅消息
$index=new Index();
$index->senWxmsgToDriverUser($id);
print_r("退款成功".$response);
} else {
$relogs['is_pay'] = 4;
$rs2 = Db::name('order')
->where(['id' => $order['id']])
->update($relogs);
//refundSendMessage($id);//发送订阅消息
$index=new Index();
$index->senWxmsgToDriverUser($id);
print_r("取消成功 id=".$id);
}
}
}
... ...