BAD_REQUEST_ERROR - метод запроса Nodejs - PullRequest
1 голос
/ 25 сентября 2019

Я работаю над интеграцией платежного шлюза и должен был вызвать заказы API.Но я продолжаю получать сообщение об ошибке

{"error":{"code":"BAD_REQUEST_ERROR","description":"Please provide your api key for authentication purposes."}}

Весь мой фрагмент кода

const functions = require('firebase-functions');
    var express = require('express');
    var cors = require('cors');
    var request = require('request');
    const crypto = require('crypto');
    var app = express();
    app.use(cors({origin:true}));

    app.post("/",(req,res)=>{
      const amount = req.body.amount;

    const key = '----insert your key here----';
    const key_secret = '----- insert key secret here ----';

      var options = { method: 'POST',
        url: 'https://api.razorpay.com/v1/orders',
        headers: 
        {
            Authorization: 'Basic' + new Buffer(key + ":" + key_secret).toString("base64")},     
        form: 
        { amount: amount,
          currency: 'INR',
          receipt: "Receipt #20",
          payment_capture : 1
        } 
        };

      request(options,  (error, response, body)=> {
          if (error) throw new Error(error);
          res.send(body);

        });
    })



    exports.razorpaymentApi = functions.region('asia-east2').https.onRequest(app);

Я заменил key и key_secret на мой оригиналAPI-ключ и секрет.Можете ли вы сказать мне, где я иду не так?Спасибо

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Я изменил заголовок как

headers: 
    {
        "authorization" : "Basic xxxxMyEncodedString"
    },

Это сработало для меня.

0 голосов
/ 25 сентября 2019

попробуйте

"авторизация" = (новый буфер (ключ + ":" + key_secret, 'base64')). ToString ('utf8');

я ссылался на это https://www.dotnetcurry.com/nodejs/1231/basic-authentication-using-nodejs

...