You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对Amazon Pay的get checkout session接口请求进行授权?

CORS问题解决

你遇到的跨域错误是Amazon Pay API的正常安全限制,所有需要携带签名的接口不允许从浏览器端直接发起请求,必须将调用逻辑迁移到你的后端服务,流程改为:前端请求你自己的后端接口,后端服务再向Amazon Pay API发起请求,即可规避CORS错误,同时避免商户密钥泄露的安全风险。

疑问解答

1. authorization字符串的获取与格式要求

  • 该字段为请求签名,不可直接获取固定值,需要你使用Amazon Pay商户后台分配的私钥,按照官方指定的签名规则生成,标准格式为 AMZN-PAY-RSASSA-PSS-V2 <Base64编码后的签名内容>
  • 无需手动实现签名逻辑,直接使用对应语言的Amazon Pay官方服务端SDK即可自动生成合法的authorization头,避免手写逻辑出错。

2. 日期格式要求与生成方法

  • 该日期头为必填参数,必须使用UTC时间,格式为YYYYMMDD'T'HHMMSS'Z'的ISO 8601精简格式,你之前在前端直接传入new Date()的本地时间格式完全不符合要求。
  • 不同后端语言的快速生成方法:
    • Node.js:new Date().toISOString().replace(/[:-]|\.\d{3}/g, '')
    • Python:datetime.datetime.utcnow().strftime('%Y%m%dT%H%M%SZ')
    • Java:使用DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss'Z'").withZone(ZoneOffset.UTC)格式化当前UTC时间即可

额外注意

绝对不要将签名生成、密钥存储等逻辑放在前端运行,会导致你的商户私钥泄露,造成资金损失。

内容的提问来源于stack exchange,提问作者Digglit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:15:03