我想使用 https库使用 https 调用来连接 Stripe API。
var https = require('https');
我已经获得了密钥和可发布密钥并将其放在一个对象中:
var stripe = {
secret_key: 'secret_key_given_in_the_dashboard',
publishable_key: 'publishable_key_given_in_the_dashboard'
}
我现在正在创建requestDetail对象:
var requestDetails = {
'protocol' : 'https:',
'hostname' : 'api.stripe.com',
'method' : 'POST', //WHICH OF POST GET PUT DELETE SHOULD I USE?
'path' : '???????????????????????',// WHICH ENDPOINT SHOULD I USE?
'auth' : '???????????????????????',// SHOULD I USE THE SECRET AND PUBLISHABLE KEY HERE?
'headers' : {
'Content-Type' : 'application/x-www-form-urlencoded',
'Content-Length' : Buffer.byteLength(stringPayload)
}
};
我计划使用 https 在调用中使用请求详细信息对象:
var req = https.request(requestDetails, function(res){
// Grab the status of the sent request
var status = res.statusCode;
//Callback successfully if the request went through
if(status == 200 || status == 201) {
callback(false);
} else {
callback('Status code returned was ' + status);
}
});
我应该在哪里以及如何使用私有密钥和可发布密钥来调用条带 API? 哪个端点? 哪种方法(发布、获取、放置或删除(?
我想最终创建一个订单并通过 STRIPE API 付款。 但是现在,只有通过条纹 api 进行的任何经过身份验证的调用都可以,因为我需要一个有效的示例格式...... 我不太确定在哪里添加密钥和可发布密钥....
您应该安装官方stripe
软件包(来源:https://github.com/stripe/stripe-node(,需要该软件包并使用您的密钥对其进行身份验证(来自 github 文档的示例(:
const stripe = require('stripe')('your_stripe_secret_key');
stripe.customers.create({
email: 'customer@example.com',
})
.then(customer => console.log(customer.id))
.catch(error => console.error(error));
该包是一个抽象,用于为您发出 API 请求。
更多文档: https://stripe.com/docs/api?lang=node
但是,如果您想直接将https
用于 Stripe API 请求(不建议这样做(,您可以查看文档和示例以了解使用 cURL,因为它显示了每个示例的终端节点。
https://stripe.com/docs/api/authentication?lang=curl
尝试使用fetch,'Authorization': 'Bearer ' + sk
。
我根据customer_id
检索客户的工作示例:
const url = `https://api.stripe.com/v1/customers/${stripe_customer_id}`;
return await fetch(url, {
method: "get",
headers: {
"Content-Type": "application/json",
'Authorization': 'Bearer ' + sk,
}
})
.then(function(response) {
return response.json();
})
.then(function(response) {
// console.log(response);
return response;
});
};