public function sendSoap($payload)
    {
        $options = [
            CURLOPT_URL            => $this->getUrl(),
            CURLOPT_CONNECTTIMEOUT => 5,
            CURLOPT_TIMEOUT        => 5,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POST           => true,
            CURLOPT_POSTFIELDS     => $payload,
            CURLOPT_SSLVERSION     => CURL_SSLVERSION_TLSv1_2,
            CURLOPT_SSL_VERIFYHOST => 2,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_CAINFO         => $this->getRootCertificatePath(),
        ];

        $curlHandle = curl_init();
        curl_setopt_array($curlHandle, $options);

        $this->setLastRequest($payload);

        $response = curl_exec($curlHandle);
        $code = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);
        $error = curl_error($curlHandle);

        $this->setErrorCode($code);
        $this->setLastResponse($response);

        curl_close($curlHandle);

        if ($response) {
            return $this->parseResponse($response, $code);
        } else {
            throw new Exception($error);
        }
    }