我正在使用此代码在“预请求脚本”标签中创建付款(条形)
pm.sendRequest({
url: 'https://api.stripe.com/v1/tokens',
method: 'POST',
headers: {
'Authorization': 'Bearer pk_test_...',
'Content-Type': 'application/x-www-form-urlencoded'
},
data: {
'card[number]': 2223003122003222,
'card[exp_month]': 12,
'card[exp_year]': 2020,
'card[cvc]': 123
}
并收到此错误:
您未提供API密钥。您需要使用Bearer身份验证(例如'Authorization:Bearer YOUR_SECRET_KEY')在Authorization标头中提供API密钥。
一切都作为单独的请求
答案 0 :(得分:0)
我认为您正在追求这样的事情:
pm.sendRequest({
url: 'https://api.stripe.com/v1/tokens',
method: 'POST',
header: {
'Authorization': 'Bearer pk_test_......',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: {
mode: 'urlencoded',
urlencoded: [
{ key: "card[number]", value: 2223003122003222 },
{ key: "card[exp_month]", value: 12 },
{ key: "card[exp_year]", value: 2020 },
{ key: "card[cvc]", value: 123 },
]
}
})
您的问题出在headers
键周围,应该是header
。同样,有效负载的写入方式似乎会出错(?)。我在本地尝试了此代码,并从Stripe看到了响应。
既然您已经将令牌凭据发布到此处,则可能要更改它。
答案 1 :(得分:0)
在我的情况下,我在调用秘密密钥后导入了dotenv。
const stripe = require("stripe")(process.env.STRIPE_SECRET);
require ("dotenv").config();
我需要做的就是反转这两行代码。
require ("dotenv").config();
const stripe = require("stripe")(process.env.STRIPE_SECRET);