...
|
...
|
@@ -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不等于1,order_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);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
} |
...
|
...
|
|