فایل libeay32.dll رو آپدیت کردم مشکل پیغام خطای UnKnown Protocol حل شد، الان طبق کد زیر اطلاعات رو به صورت JSon ارسال می کنم ولی در
Request دوباره یه خطای جدید میده! (
HTTP/1.1 500 Internal Server Error
)
procedure TForm1.Button1Click(Sender: TObject);
var
HTTP: TIdHTTP;
RequestBody: TStream;
ResponseBody: string;
begin
Memo1.Lines.Clear;
HTTP := TIdHTTP.Create;
try
try
RequestBody := TStringStream.Create('{'+
'"InvoiceNumber":"9999999",'+
'"InvoiceDate":"1398/11/08 11:45:12",'+
'"TerminalCode":"88888888",'+
'"MerchantCode":"7777777",'+
'"Amount":"200000",'+
'"RedirectAddress":"https://www.test.ir",'+
'"Timestamp":"2019/02/10 11:15:13",'+
'"Action":"1003",'+
'"Mobile":"0911111111",'+
'"Email":"info@test.ir",' +
'"sign":"aMfVa...zlaRt"'+
'}', TEncoding.UTF8);
try
HTTP.Request.Accept := 'application/json';
HTTP.Request.ContentType := 'application/json';
ResponseBody := HTTP.Post('https://pep.shaparak.ir/gateway.aspx',RequestBody);
Memo1.lines.add(ResponseBody);
Memo1.lines.add(HTTP.ResponseText);
finally
RequestBody.Free;
end;
except
on E: EIdHTTPProtocolException do
begin
Memo1.lines.add(E.Message);
Memo1.lines.add(E.ErrorMessage);
end;
on E: Exception do
begin
Memo1.lines.add(E.Message);
end;
end;
finally
HTTP.Free;
end;
ReadLn;
ReportMemoryLeaksOnShutdown := True;
end;