diff --git a/FlyCube/MpApi/Controller/PayController.class.php b/FlyCube/MpApi/Controller/PayController.class.php index d0e0f31..8ea5fbc 100644 --- a/FlyCube/MpApi/Controller/PayController.class.php +++ b/FlyCube/MpApi/Controller/PayController.class.php @@ -69,6 +69,10 @@ class PayController extends PublicController echo json_encode(array('status' => 0, 'msg' => '退款申请超额')); exit(); } + if ($order['main_status'] == "已退款") { + echo json_encode(array('status' => 0, 'msg' => '此订单已完成退款')); + exit(); + } // 设置退款参数 @@ -80,6 +84,8 @@ class PayController extends PublicController 'total' => $order['total_price'] * 100, // 订单金额,单位:分 'currency' => 'CNY', ], + 'refund_type' => $_REQUEST['refund_type'], // 退款类型,买家发起还是卖家发起 + 'shop_id' => $order['shop_id'], // 商铺ID,用于回调时使用 ]; try { @@ -108,12 +114,13 @@ class PayController extends PublicController $data['refund_time'] = time(); // 标记退款时间 $data['refund_sn'] = $result['resource']['ciphertext']['refund_id']; // 退款单号 $data['refund_price'] = $result['resource']['ciphertext']['amount']['refund'] / 100; // 退款金额,单位:元 + $data['refund_type'] = $result['resource']['ciphertext']['refund_type']; // 退款类型 // 更新订单 $orderDb->where($where)->data($data)->save(); } // 构建发布主题 并向地面终端提示刷新信息 - // $topic = 'refreshQuestList/' . $result['resource']['ciphertext']['attach']; - // $this->publish($topic, 1); + $topic = 'refreshQuestList/' . $result['resource']['ciphertext']['shop_id']; + $this->publish($topic, 1); } catch (\Exception $e) { // 捕获并记录可能的异常 error_log('退款回调处理错误:' . $e->getMessage());