基本上她是值得的 - clarna heskut

basic auth axios - klarna checkout

我正在我的网络应用程序中实施 Klarna Checkout。后端使用 aws serverless。前端:反应。 我坚持创建订单。它在邮递员内部工作正常,但我无法获得基本的 auth 工作 axios。

出于测试目的,我从我的 React 应用程序发布订单。一旦我让它工作,它就会被移到后端。

我的 axios 代码是这样的。

axios
  .post(
    "https://api.playground.klarna.com/checkout/v3/orders",
    {
      purchase_country: "DE",
      purchase_currency: "EUR",
      locale: "de-DE",
      order_amount: 3,
      order_tax_amount: 0,
      order_lines: [
        {
          type: "digital",
          reference: "Test",
          name: "Test Subscription",
          quantity: 1,
          quantity_unit: "pcs",
          unit_price: 3,
          tax_rate: 0,
          total_amount: 3,
          total_discount_amount: 0,
          total_tax_amount: 0
        }
      ],
      merchant_urls: {
        terms: "https://www.example.com/terms.html",
        checkout: "https://www.example.com/checkout.html",
        confirmation: "https://www.example.com/confirmation.html",
        push: "https://www.example.com/api/push"
      }
    },
    {
      auth: {
        username: "xxx",
        password: "xxx"
      },
      headers: {
        "Content-Type": "application/json"
      }
    }
  )
  .then(result => console.dir(result));

我在选项中收到 401 错误。

我收到的回复。

我已经用邮递员试过了,效果很好。

总结评论:Klarna 的 API 不能仅从服务器端从浏览器调用。 我从我的 aws lambda 调用了相同的代码,它工作正常。