在无头域上托管 Shopify 结帐页面

问题描述 投票:0回答:1

我正在使用 Nextjs 和 React 开发一个无头 Shopify 店面,并将其部署在我的域上,看起来像

mydomain.com

我怎样才能拥有 Shopify 结帐页面,该页面通常位于这样的域上:

https://[myshopname].myshopify.com/checkouts/co/cea1049618487c3db729fb11fdc62e89
,在我的域上(例如
checkout.mydomain.com
mydomain.com/checkout
)?

我需要更改 Shopify 设置中的某些内容吗?有人可以给我指导吗?我非常感激,因为我现在真的迷失了。

我尝试实现无头结帐,但据我了解,对于我可用的 API 来说这是不可能的。所以我想使用默认的 Shopify 结帐页面,但在我的域或子域上。

next.js shopify headless
1个回答
-1
投票

将 Shopify 结帐集成到无头店面,同时保持一致的域(例如“mydomain.com/checkout”或“checkout.mydomain.com”)是一个常见的挑战。不幸的是,由于 Shopify 的架构和安全措施,在自定义域或子域上托管 Shopify 结账流程并不简单。以下是情况概述和一些可能的方法:

了解 Shopify 的局限性

  1. 结帐域:Shopify 的结帐流程通常托管在 Shopify 的域上(例如,[myshopname].myshopify.com)。这主要是出于安全和可靠性原因,因为结帐过程涉及敏感的客户和付款信息。

  2. API 限制:虽然 Shopify 提供用于创建结账和操作购物车的 API,但最终的付款流程必须在 Shopify 的域上进行。

可能的解决方法

  1. 自定义结帐域 (Shopify Plus):如果您使用的是 Shopify Plus,Shopify 允许您使用自定义结帐域(如 checkout.mydomain.com),但这仍然会重定向到 Shopify 的安全结帐。 您需要联系 Shopify Plus 支持人员进行设置。它涉及配置您的 DNS 设置以指向 Shopify 的服务器。 通过 Iframe 或代理无缝集成:

  2. Iframe 方法:您可以考虑将 Shopify 结账页面嵌入到您网站的 iframe 中。然而,这可能存在一些缺点,例如移动响应能力差、安全问题以及跨域 cookie 的潜在问题。 反向代理:设置反向代理以在您的域下显示 Shopify 的结帐在技术上可能很复杂,并且可能违反 Shopify 的服务条款。它也没有解决底层安全和 cookie 处理问题。

  3. Shopify 无头结账:Shopify 的无头商务解决方案(例如 Hydrogen 和 Oxygen)旨在提供更大的灵活性,但截至我上次更新,它们仍然需要重定向到 Shopify 的域才能结账。

  4. 在 Shopify Plus 上自定义结帐 URL 路径:在 Shopify Plus 上,您可以自定义结帐 URL 的路径(如 mydomain.com/checkout),但域部分仍由 Shopify 控制。

© www.soinside.com 2019 - 2024. All rights reserved.