【发布时间】:2021-12-13 06:09:25
【问题描述】:
我一直在尝试将 Amazon pay 作为我网站上客户的付款方式集成,但遇到了文档中详细说明的一些问题。我希望能更好地理解与调用 amazon pay api 相关联的请求标头。
我正在向“https://pay-api.amazon.com/v2/checkoutSessions/checkoutSessionId”发出请求并收到 CORS 政策错误。
CORS 已阻止从源“http://localhost:3000”访问“https://pay-api.amazon.com/v2/checkoutSessions/d9b4418d-0c6f-4085-8c37-08bef6da6807”策略:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
这是我试图发出请求的获取请求
fetch(`https://pay-api.amazon.com/v2/checkoutSessions/${this.$route.query.amazonCheckoutSessionId}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'authorization': 'Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE',
'x-amz-pay-date': `${new Date()}`
}
})
this.$route.query.amazonCheckoutSessionId 引用用户使用亚马逊支付按钮创建结帐会话后返回的 url 扩展。
文档概述了应按如下方式提出请求
curl "https://pay-api.amazon.com/:version/checkoutSessions/:checkoutSessionId"
-X GET
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"
-H "x-amz-pay-date:20201012T235046Z"
谁能解释一下我应该从哪里获得授权字符串及其格式?另外,有没有办法轻松地将日期字符串格式化为文档中显示的格式?还是日期字符串格式不重要?
我已经相当广泛地搜索了与 Amazon pay 相关的堆栈溢出帖子(其中很少)以及搜索其他 Amazon 和 AWS 文档以详细说明如何格式化 auth 字符串。不幸的是,我似乎找不到答案。我也尝试过将我的按钮签名作为我的授权字符串传递,但这似乎没有帮助。
感谢您提供的任何帮助。
【问题讨论】:
标签: javascript vue.js amazon-pay