【问题标题】:CORS error when trying to access Razorpay Payments API尝试访问 Razorpay Payments API 时出现 CORS 错误
【发布时间】:2021-09-24 14:05:57
【问题描述】:

我正在使用 Razorpay 的支付 API 来获取付款详情:

const paymentData = await axios.get(
          `https://api.razorpay.com/v1/payments/${paymentId}`
        );
console.log("paymentData", paymentData);

运行后,我在控制台中收到此错误:

CORS 政策已阻止从源“http://localhost:3000”访问“https://api.razorpay.com/v1/payments/{my-payment-id}”处的 XMLHttpRequest:否“请求的资源上存在 Access-Control-Allow-Origin' 标头。

我该如何克服这个问题?

提前致谢。

【问题讨论】:

  • 您已将此标记为 node.js,因此我假设您也在运行 Node.js 服务器。我不知道 Razorpay(但我知道 CORS),但您可以在您的服务器上对 Razorpay 执行 Web 提取,然后从您自己的服务器中提取结果。 (考虑到 Razorpay 请求似乎需要特定于应用程序的密钥,您不希望每个用户都将您的密钥加载到他们的浏览器中。)
  • 您是否在任何地方都包含您的 API 密钥?不要在此处发布,但您似乎没有在请求标头中包含它和您的 ID。
  • 我在请求中的什么位置?

标签: node.js reactjs web razorpay


【解决方案1】:

来自Razorpay API doc

所有 Razorpay API 都使用 Basic Auth 进行身份验证。基本身份验证需要以下内容:

  • [YOUR_KEY_ID]
  • [YOUR_KEY_SECRET]

基本身份验证需要基本 base64token 格式的每个请求的授权标头。这里,base64token 是一个 base64 编码的 YOUR_KEY_ID:YOUR_KEY_SECRET 字符串。

【讨论】:

    猜你喜欢
    • 2021-10-30
    • 2019-11-09
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 2019-12-25
    • 2021-05-03
    相关资源
    最近更新 更多