BAD_REQUEST_ERROR - Nodejs 请求方法
BAD_REQUEST_ERROR - Nodejs Request Method
我正在处理支付网关集成,不得不打电话给订单 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 密钥和秘密。你能告诉我哪里错了吗?谢谢
我修改了header为
headers:
{
"authorization" : "Basic xxxxMyEncodedString"
},
这对我有用。
试试这个
"authorization" = (new Buffer(key + ":" + key_secret, 'base64')).toString('utf8');
我提到了这个
https://www.dotnetcurry.com/nodejs/1231/basic-authentication-using-nodejs
我正在处理支付网关集成,不得不打电话给订单 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 密钥和秘密。你能告诉我哪里错了吗?谢谢
我修改了header为
headers:
{
"authorization" : "Basic xxxxMyEncodedString"
},
这对我有用。
试试这个
"authorization" = (new Buffer(key + ":" + key_secret, 'base64')).toString('utf8');
我提到了这个 https://www.dotnetcurry.com/nodejs/1231/basic-authentication-using-nodejs