Я пытаюсь подключиться к серверу Worldpay для совершения торговых транзакций и получаю ошибку 10054 при падении компонента и ошибку 500 при создании TidHTTP во время выполнения.
Я сделал много другихинтеграция с кредитными картами, но это первое, что доставляет мне неприятности.
var
PostString, url, ReturnStr: String;
JsonToSend: TStringStream;
myGuid1: TGUID;
// IdHTTP1:TIdHTTP;
// IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
begin
CreateGUID(myGuid1);
PostString := '{"laneId": "10", "decsription": "USER1", "TerminalId": "19117P", "activationCode": "' + DeviceID + '"}';
Try
// IdHTTP1 := TIdHTTP.Create;
// IdSSLIOHandlerSocketOpenSSL1:= TIdSSLIOHandlerSocketOpenSSL.Create;
JsonToSend := TStringStream.Create(PostString);
url:='https://triposcert.worldpay.com/cloudapi/V1/lanes';
IdHTTP1.Request.UserAgent := 'Mozilla/3.0 (compatible; Indy Library)';
IdHTTP1.Request.ContentType := 'application/json';
IdHTTP1.Request.BasicAuthentication := True;
IdHttp1.Request.CustomHeaders.Clear;
IdHttp1.Request.CustomHeaders.AddValue('tp-application-id', '*****');
IdHttp1.Request.CustomHeaders.AddValue('tp-application-name', '******');
IdHttp1.Request.CustomHeaders.AddValue('tp-application-version', '****');
IdHttp1.Request.CustomHeaders.AddValue('tp-application-authorization', '****');
IdHttp1.Request.CustomHeaders.AddValue('tp-express-acceptor-id', '*****');
IdHttp1.Request.CustomHeaders.AddValue('tp-express-account-id', '*****');
IdHttp1.Request.CustomHeaders.AddValue('tp-express-account-token', '*****');
IdHttp1.Request.CustomHeaders.AddValue('tp-request-id','''' + GUIDToString(myGuid1) + '''');
//IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1_2;
//IdHttp1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
try
ReturnStr := IdHTTP1.Post(url, JsonToSend);
except
on E:Exception do
begin
Memo1.Text := E.Classname + ': ' + E.Message;
end;
end;
Finally
IdHTTP1.Disconnect;
JsonToSend.Free;
IdSSLIOHandlerSocketOpenSSL1.Free;
IdHTTP1.Free;
End;
Спасибо за любую помощь.Ким