如何使用 Stripe 的私有密钥和可发布密钥?



我想使用 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;
});
};

最新更新