【问题标题】:Getting error while creating peyment(Stripe)创建peyment(条纹)时出错
【发布时间】:2019-10-02 17:48:26
【问题描述】:

我正在使用此代码在选项卡预请求脚本中创建付款(条纹)

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 auth 在 Authorization 标头中提供您的 API 密钥(例如“授权:Bearer YOUR_SECRET_KEY”)。

一切都作为单独的请求进行

【问题讨论】:

  • 使用的密钥对吗?
  • 您是否尝试过使用header 而不是headers?另外,示例中的语法是否正确?

标签: request stripe-payments postman


【解决方案1】:

在我的情况下,我在调用我的密钥之后进行了 dotenv 导入。

const stripe = require("stripe")(process.env.STRIPE_SECRET);
require ("dotenv").config();

我需要将这两行代码颠倒过来。

require ("dotenv").config();
const stripe = require("stripe")(process.env.STRIPE_SECRET);

【讨论】:

    【解决方案2】:

    我认为你在追求这样的东西:

    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。此外,payload 的编写方式似乎会出错(?)。我在本地尝试了这段代码,并看到了 Stripe 的响应。

    您可能希望更改已在此处发布的令牌凭据。

    【讨论】:

    • 谢谢。我的愚蠢错误。测试帐户具有此令牌凭据。不可怕。但我现在会修复它
    • 我的回答是否为您提供了足够的信息来解决您的问题?
    猜你喜欢
    • 2013-04-28
    • 2016-05-09
    • 2021-01-15
    • 2020-09-26
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 2020-09-26
    相关资源
    最近更新 更多