getOrderInfo(['order_sn' => $order_sn]); if (empty($order_info)) { return [false, false, false,false]; } $order_id = $order_info['order_id']; $fDirect = $params['isDirect']; $card_info = $params['card_info']; if($fDirect) { if(!empty($card_info)) { $result = $this->rsa_decode($card_info['password']); if (empty($result)) { $data['ret_state'] = 2; $data['card_info'] = '回调解密,解密失败'; } else { $data['ret_state'] = 1; $card_info['password'] = $result; $result = json_encode($card_info); $data['card_info'] = $result; } Model('thrid_refill')->edit_third($order_id, $data); } } else { $data['official_sn'] = $card_info['cardNo']; Model('refill_order')->edit($order_id, $data); } return [$order_id, true, false,true]; } private function rsa_decode($encrypted) { $ret = openssl_private_decrypt(base64_decode($encrypted), $decrypted, config::PRIVATE_KEY); if ($ret) { $result = json_decode($decrypted, true); return $result; } else { $err = openssl_error_string(); Log::record("suning callback openssl_private_decrypt error={$err}",Log::ERR); return false; } } }