sign($params); if ($params['sgn'] == $sign) { return true; } else { return false; } } private function sign($params) { $content = $params['ord'] . $params['state'] . config::KEY; return strtoupper(md5($content)); } public function notify($params) { $status = intval($params['state']); $order_sn = $params['ord']; $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']; if ($status === 1) { $card_info = $params['CardInfo']; if(!empty($card_info)) { $result = $this->decrypt($card_info); if (empty($result)) { $data['ret_state'] = 2; $data['card_info'] = '回调解密,解密失败'; } else { $data['ret_state'] = 1; $data['card_info'] = $result; } Model('thrid_refill')->edit_third($order_id, $data); } Model('refill_order')->edit($order_id, $data); return [$order_id, true, false,true]; } elseif ($status === 2) { return [$order_id, false, true,true]; } else { return [$order_id, false, false,false]; } } private function decrypt($encrypt) { $ret = openssl_decrypt($encrypt, 'AES-128-CBC', config::KEY); if ($ret) { return $ret; } else { $err = openssl_error_string(); Log::record("lingzhthird query openssl_decrypt error={$err}", Log::ERR); return false; } } }