问题描述
我只是尝试使用First Data API获取商家信息。这是他们api的链接。
https://developer.firstdata.com/marketplace/api/marketplace-manage.html#post-merchant-search
根据他们的API,此响应需要起作用,但我总是会收到404错误。
这是身份验证部分的一些方法。
let request = require('request');
let crypto = require('crypto');
let https = require("https");
let querystring = require('querystring');
const username = "sandBox account api key";
const secret = "sandBox account secret key";
const url = "sandBox url";
var getAuthenticationHeaders = function () {
var date = new Date().toUTCString();
var stringToSign = 'date: ' + date.trim();
var encodedSignature = crypto.createHmac("sha1",secret).update(stringToSign).digest("base64");
var hmacAuth = 'hmac username="' + username + '",algorithm="hmac-sha1",headers="date",signature="' + encodedSignature + '"';
return {
'date': date,'Authorization': hmacAuth
}
}
var do_request = function(method,path,data = {}) {
var content = querystring.stringify(data);
var options = {}
options = {
method: method,url : url + path,headers: getAuthenticationHeaders(),json: true
};
if (method == "GET"){
if (data.length > 0) options.url += '?' + content;
}else{
// options['body'] = JSON.stringify(data);
options['body'] = data
}
request(options,function (error,response,body) {
console.log(options)
if (error) throw new Error(error);
console.log("state code => ",response.statusCode)
console.log("state msg => ",response.statusMessage)
console.log(body);
});
}
我只是像下面这样调用api
do_request('POST','/manage/merchantsearch/',{"zip": 1865})
但没有运气:( 如果有人有使用First Data API的经验,请与我分享。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)