provider() :: atom()
remoteip() :: String.t()
response() :: String.t()
verify(provider(), %{remoteip: remoteip(), response: response()}) :: {:error, :google_response, :unexpected_error_or_not_active} | {:error, :captcha_verify, :google, any()} | {:ok, :captcha_verify, :google, map()}