在我的网站上测试订购商品时,填写测试信用卡详细信息后单击订单后显示错误
URL of some products could not be reached
。
我正在使用 Hugo 的
hargo-hugo
主题来设置 snipcart。
如何调试这个问题?
有不同的可能性:
检查您是否使用与测试版本相对应的正确 API 密钥(您要使用的正确 snipcart 帐户),而不是某些旧的默认值。在
hargo-hugo
主题中,设置为 snipcartApiKey
或更旧的 [params]
的 hugo.toml
部分中的 config.toml
。 API 密钥可以在您的 snipcart 帐户中查找。
检查该 snipcart 帐户中的域是否已正确设置,注意
www.something.com
与 something.com
不同。那么您可能需要添加多个。不仅仅是默认域。
确保您的网站在 HTML 或 JSON 响应中正确设置
data-item-url
(如果您为验证设置了自定义 JSON 响应)。对于 hargo-hugo
,您只需在开发者工具中检查 HTML如果您在单个产品的页面上,则浏览器上显示“添加到购物车”的按钮。此 URL 应该是相对的,并且当前域应该位于 snipcart 帐户的允许列表域中,或者应该是绝对的,并且该绝对域的域部分应在 snipcart 帐户中列入允许列表。
如果
data-item-url
中的URL是绝对的,则该确切的URL将用于验证,而不是您当前所在的网站。如果内容与您测试的网站上的内容不同,验证将失败。
检查 snipcart 帐户中每个允许的域的协议/方案是否正确设置为
http
或 https
。
帐户中预期可能使用的所有允许域都需要可从公共互联网访问,例如某些本地主机名(例如
myserver.local
甚至 localhost
)将不起作用。请参阅 stackoverflow 问题 Snipcart“data-item-url not work on localhost”,以获取修复此问题以进行测试设置的好建议。
请参阅有关订单验证的 snipcart 文档,了解其工作原理(真正了解该流程如何以及为何能够对抗试图修改价格的黑客,可以解决更多问题)以及您需要采取哪些措施才能使其发挥作用的更多建议。
了解这一点后,您可以采取更细致的调试步骤,例如检查服务器日志中是否有来自 snipcart 的请求进行验证,以及发出该请求的 URL 和服务器给出的答案是否与您的预期相符,以及想要。