O WinHTTP.WinHTTPRequest.5.1 não funciona com a sandbox do PayPal após o TLS 1.2

Sandbox do PayPal recentemente restrito à conexão TLS 1.2. Isso faz com que nosso site pare de funcionar com a sandbox do PayPal, embora ainda funcione com a produção do PayPal. No futuro, a produção do PayPal terá a mesma restrição. Estamos usando o ASP clássico e o componente Microsoft WinHTTP.WinHTTPRequest.5.1 para comunicação com o PayPal. Aqui está o código abaixo. objHttp.StatusText retorna "Solicitação incorreta". Estamos no Windows Server 2008 R2. Tentei usar o MSXML2.ServerXMLHTTP.6.0, mas ele funciona apenas na minha máquina de desenvolvimento do Windows 8.1, não no nosso Windows Server 2008 R2. Embora o MSXML2.ServerXMLHTTP.6.0 seja um superconjunto do WinHTTP.WinHTTPRequest.5.1, mas é menos confiável que o WinHTTP.WinHTTPRequest.5.1. Nosso código falha algumas vezes ao dia usando o MSXML2.ServerXMLHTTP.6.0 no passado, então prefiro usar o WinHTTP.WinHTTPRequest.5.1. Também não estou confiante nesta linha de código: objHttp.Option (9) = & H0AA0. Uma solução alternativa que estamos usando está chamando a WebAPI para enviar mensagem ao PayPal; no entanto, isso causa um atraso menor extra.

dim objHttp
Set objHttp = Server.CreateObject("WinHTTP.WinHTTPRequest.5.1")
dim WinHttpRequestOption_EnableHttp1_1 : WinHttpRequestOption_EnableHttp1_1 = 17
objHttp.Option(WinHttpRequestOption_EnableHttp1_1) = False

dim WinHttpRequestOption_SslErrorIgnoreFlags : WinHttpRequestOption_SslErrorIgnoreFlags=4
objHttp.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = &H3300
objHttp.setTimeouts 0, 120000, 120000, 120000 
objHttp.Option(9) = &H0AA0 '2720
objHttp.open "post", "" & "https://api-3t.sandbox.paypal.com/2.0/" & "", False
strRequest = SetExpressCheckoutSOAP(returnURL, cancelURL)
objHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
objHttp.setRequestHeader "Content-Length", Len(strRequest)

objHttp.setRequestHeader "Host", "api-3t.sandbox.paypal.com"
Call objHttp.send(strRequest)
if objHttp.Status = 200 then
   resp = objHttp.responseText
else
   response.write objHttp.StatusText
end if

Código de chamada da WebAPI:

dim webapiresp, webapidata
webapidata = "{""url"":""" & gv_APIEndpoint & """, ""message"":""" & nvpStrComplete & """,""soap"":0}"
webapiresp=InvokeWebAPI(strApiDomain, "POST", "comm/send", "", webapidata)
        set reply=JSON.parse(webapiresp)
        resp = reply.xml

Function InvokeWebAPI(strApiDomain, method, funcname, param, data)
dim HttpReq, apiURI, resp

set HttpReq=Server.CreateObject("MSXML2.ServerXMLHTTP")
'apiURI=strApiDomain & funcname & param
apiURI=strApiDomain & "api/" & funcname & param


HttpReq.open method, apiURI, false

HttpReq.setRequestHeader "Content-Type", "application/json; charset=UTF-8"
HttpReq.setRequestHeader "SOAPAction", apiURI
HttpReq.setRequestHeader "Authorization", "Basic " & Base64Encode("xxx:xxx")

if data <> "" then
    HttpReq.send data
else
    HttpReq.send 
end if

resp = HttpReq.responseText

set HttpReq=Nothing

InvokeWebAPI = resp
End Function

questionAnswers(1)

yourAnswerToTheQuestion