#api #lambda #request #stripe-payments
#API #лямбда #запрос #stripe-платежи
Вопрос:
Я хочу опубликовать в stripe API, используя библиотеку запросов, и мой код успешен только тогда, когда я публикую через интерфейс моего приложения (что я делал только в целях тестирования). Очевидно, я хочу сделать это через lambda, чтобы я мог использовать свой ключ stripe API в серверной части в целях безопасности. Вот мой внешний код:
await request({
url: 'https://api.stripe.com/v1/customers?email=' currentSessionEmail "amp;description=" sessionUsername,
method: 'POST',
headers: {
'Authorization': 'Bearer my_key4534343432',
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
'Access-Control-Allow-Origin': "*",
"Access-Control-Allow-Credentials": true
},
}, function (error, response, body) {
if (!error amp;amp; response.statusCode == 200) {
console.log('BODY: ', body);
//var jsonResponse = JSON.parse(body); // turn response into JSON
// do stuff with the response and pass it to the callback...
//console.log(JSON.stringify(response));
}else{
alert(error);
}
});
Моя лямбда-функция содержит тот же код внутри нее, и она разрешается с 200
помощью, но она не выполняет Stripe API должным образом, иначе я бы увидел клиента, созданного на моей панели инструментов stripe, что не так.
Комментарии:
1. вы
console.log
также должны указать свой URL-адрес и запрос. Возможно, это не одно и то же. В частности, возможно, ваша лямбда не видит те же значенияurl
, что иbody
ваша основная функция. Кроме того, не вкладывайте слишком много в код состояния 200. Это не обязательно означает, что в Stripe все прошло хорошо. Помните, что они не хотят предоставлять хакерам слишком много информации.
Ответ №1:
Вы не хотите отправлять этот POST-запрос с внешнего интерфейса, поскольку для этого требуется ваш секретный ключ. Вероятно, вы захотите использовать https://github.com/stripe/stripe-node в вашей лямбда-функции, чтобы это произошло на стороне сервера.