sign($params); if ($params['Sign'] == $sign) { return true; } else { return false; } } //[$order_id, $success, $can_try, $need_handle, $official_sn] public function notify($params): array { $order_sn = $params['Orderid']; $ch_trade_no = $params['Chargeid']; $order_info = Model('vr_order')->getOrderInfo(['order_sn' => $order_sn]); if (empty($order_info)) { return [false, false, false, false, '']; } $order_id = $order_info['order_id']; $status = intval($params['Orderstatu_int']); if (in_array($status, [11, 16])) { $official_sn = config::get_osn($params['Orderstatu_text']); Model('refill_order')->edit($order_id, ['ch_trade_no' => $ch_trade_no, 'official_sn' => $official_sn]); return [$order_id, true, false, true, $official_sn]; } elseif (in_array($status, [20, 21, 26])) { Model('refill_order')->edit($order_id, ['ch_trade_no' => $ch_trade_no]); return [$order_id, false, true, true, '']; } else { return [$order_id, false, false, false, '']; } } }