diff --git a/FlyCube/MpApi/Controller/PayController.class.php b/FlyCube/MpApi/Controller/PayController.class.php index 8ea5fbc..c2d0059 100644 --- a/FlyCube/MpApi/Controller/PayController.class.php +++ b/FlyCube/MpApi/Controller/PayController.class.php @@ -70,11 +70,13 @@ class PayController extends PublicController exit(); } if ($order['main_status'] == "已退款") { + // 构建发布主题 并向地面终端提示刷新信息 + $topic = 'refreshQuestList/' . $order['shop_id']; + $this->publish($topic, 1); echo json_encode(array('status' => 0, 'msg' => '此订单已完成退款')); exit(); } - // 设置退款参数 $refundParameter = [ 'out_trade_no' => $order['order_sn'], // 商户订单号 @@ -84,8 +86,6 @@ class PayController extends PublicController 'total' => $order['total_price'] * 100, // 订单金额,单位:分 'currency' => 'CNY', ], - 'refund_type' => $_REQUEST['refund_type'], // 退款类型,买家发起还是卖家发起 - 'shop_id' => $order['shop_id'], // 商铺ID,用于回调时使用 ]; try { @@ -102,9 +102,11 @@ class PayController extends PublicController */ public function notifyCallback() { + try { // 实例化 Yansongda Pay 并处理回调 $result = Pay::wechat($this->config)->callback(); + $this->publish("demo", $result); // 验证成功,处理业务逻辑 if ($result['resource']['ciphertext']['refund_status'] == 'SUCCESS') { @@ -114,7 +116,6 @@ 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(); }