Not all sent parameters were read; read \'8\' parameter(s) but was sent \'9\'.

I am sending only 8 paramteres with proper field names, still getting the above error can you please advice me on the same. The API says you can either send the data in query or body when I send the data only in body I get symbol was not sent error. Below is the generated request

{ url:
  'https://api.binance.com/api/v3/order?symbol=ETHUSDT&side=SELL&type=LIMIT&timeInForce=GTC&quantity=0.05&price=270&timestamp=1591126276292&signature=',
 method: 'post',
 data:
  '{"symbol":"ETHUSDT","side":"SELL","type":"LIMIT","timeInForce":"GTC","quantity":"0.05","price":"270","timestamp":1591126276292,"signature":""}',
 headers:
  { Accept: 'application/json, text/plain, */*',
    'Content-Type': 'application/x-www-form-urlencoded',
    'X-MBX-APIKEY':
     '',
    'User-Agent': 'axios/0.19.2',
    'Content-Length': 206 }

These parameters looks fine. Please try to leave all of these parameters in the url and put nothing in the body data.

@rajshah1609 Please check this repo with many examples of signature in different languages

Okay, Now I am getting
{ code: -1022, msg: ‘Signature for this request is not valid.’ }

Here is the my request signing mechanism in nodejs :

const binanceBody = {
            symbol: pair,
            side: side,
            type: type,
            timeInForce: 'GTC',
            quantity: amount,
            price: price,
            timestamp: Date.now(),
        };
const payload = new Buffer(JSON.stringify(binanceBody)).toString('base64');
const signature = crypto.createHmac('sha256', apiSecret).update(payload).digest('hex');

I am using this for signing in different exchanges and it seems to be working in all the exchanges.