title: Woocommerce: Can't use sslv3 anymore? Using wp_remote_post
body: <p>I've been using the PSIGate payment Gateway built by Woothemes for WooCommerce. It's worked for a good two years, up until earlier this month my client's have been unable to process their credit cards. They get the following error:</p>
  
  <pre><code>There was an error while processing your request. Error Code: http_request_failed. Error Message: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol.
  </code></pre>
  
  <p>After doing some research, it looks like it's because we're using SSLv3, and the processor now only accepts TLS.</p>
  
  <p>I'm diving into the plugin code, and this is how the API call is made:</p>
  
  <pre><code>/**
   * Process API request and return an XML object of the response
   *
   * @since 1.1
   * @param string $xml The XML string of the request
   * @return object|bool The SimpleXMLElement object of the response
   */
  public function process_request( $xml, $url ) {
  
      $params = array(
          'method'    =&gt; 'POST',
          'sslverify' =&gt; false,
          'timeout'   =&gt; 120,
          'redirection'   =&gt; 0,
          'body'      =&gt; $xml,
      );
  
      $response = $this-&gt;send( $params, $url );
  
      return $response;
  
  }
  
  /**
   * Send the POST request and return the response
   *
   * @since 1.1
   * @param array $params
   * @return string
   * @throws Exception
   */
  private function send( $params, $url ) {
  
      // Send the request and get the response
      $response = wp_remote_post( $url, $params );
  
      // If Error return the code and message
      if ( is_wp_error($response) ) {
          throw new Exception( sprintf( __( 'There was an error while processing your request. Error Code: %s. Error Message: %s.', WC_PsiGate::TEXT_DOMAIN ), $response-&gt;get_error_code(), $response-&gt;get_error_message() ) );
      }
  
      return $response;
  
  }
  </code></pre>
  
  <p>They are using the wp_remote_post function to connect to PSI Gate. Do I need to convert this function to a CURL call? What would it look like?</p>
  
  <p>Your help is much appreciated!</p>