Я создал проект в Ms Access, который создает учетные записи клиентов в Stripe. Кредитные карты хранятся в защищенном виде через элементы.
Ситуация:
- Он работает в моем тестовом (домашнем) окружении.
- Работает на моем предприятии в течение 2 дней
Сегодня я использовал его и теперь получаю:
Соединение с сервером было прервано ненормально
Код:
reqBody = "description=" & desc & _
"&name=" & pName & _
"&phone=" & pPhone & _
"&address[line1=" & pAdd & _
"&address[city=" & pSuburb & _
"&address[country=AU" & _
"&address[postal_code=" & pPCode & _
"&address[state=Western Australia"
Set httpReq = CreateObject("MSXML2.ServerXMLHTTP")
httpReq.Open "POST", "https://api.stripe.com/v1/customers", False
httpReq.setRequestHeader "Authorization", "Bearer " & api_key
httpReq.send reqBody
strResponse = httpReq.responseText
Set parsed = JsonConverter.ParseJson(strResponse)
'Debug.Print strResponse
StripeCustID = parsed("id")
Теперь я прочитал несколько других постов и попробовал использовать:
httpReq.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
и все же не повезло,
Я также попробовал:
Dim HTTPRequest As WinHttp.WinHttpRequest
Set HTTPRequest = New WinHttp.WinHttpRequest
With HTTPRequest
.Open "POST", "https://api.stripe.com/v1/customers", True
.setRequestHeader "Authorization", "Bearer " & api_key
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.Option(WinHttpRequestOption_SecureProtocols) = SecureProtocol_TLS1_2
'.Option(WinHttpRequestOption_EnableRedirects) = True
.send reqBody
If .waitForResponse(3) Then
strResponse = .responseText
Debug.Print .responseText
Else
MsgBox "Timed out after 3 seconds."
Exit Sub
End If
End With
Но с этим он подходит, поскольку [SecureProtocol_TLS1_2] не определен (у меня есть ссылка на WinHttp)
Моя тестовая среда Windows 10, моя работа над Windows 7, оба - 64x.
Но факт остается фактом: это работало два дня на рабочих компьютерах и теперь выдает мне эту ошибку.