【问题标题】:Require 3rd party age verification in shopify在 shopify 中需要第三方年龄验证
【发布时间】:2016-08-06 18:19:03
【问题描述】:

我需要在发货前进行第 3 方年龄验证。我为此使用了一家名为 EVS 的公司。他们最近发布了一个 shopify 应用程序,但似乎部分成熟。它要求用户在注册帐户时输入出生日期,然后在用户下订单时触发验证。这样做的主要问题是,客户很少在第一次订购之前实际创建一个帐户——而是他们先订购,然后shopify通过电子邮件发送给他们以在事后创建一个帐户。之后创建帐户不允许客户输入 DOB。

所以我打算实施自己的解决方案。我可以使用 EVS 的 API 通过发送名称、地址、DOB、DL# 和状态以及 SSN 的最后 4 个组合来运行验证。我已经建立了一个专有的订单管理系统,可以提取客户和订单数据,我可以编写一个客户端来执行验证。

我在 shopify 方面不太精通。我需要在第一次下订单时平衡客户摩擦,与必须做大量的人工验证工作。

以下是我设想的选项。还有其他选择吗?有更好的解决方案的想法吗?请记住,我需要验证客户一次。我可以将客户帐户标记为已验证,并且一旦验证它就可以照常营业。

  1. 更改 shopify 模板以仅在用户登录时显示结帐按钮。如果未登录,则改为显示“创建帐户”按钮。这样,用户在创建帐户期间提供 DOB,并且 EVS 应用按设计工作。

  2. 设置单独的验证站点,例如 verify.my-domain.com。我可以在创建订单时向客户发送电子邮件并要求他们进行验证。 (可能存在错误的电子邮件地址或垃圾邮件过滤问题。)

  3. 如果客户没有登录,或者帐户没有经过年龄验证,并且他们点击了结帐,我可以将他们重定向到一个页面。我可以使用页面上的表格进行验证。如果验证通过,请将其发送到结帐。

对于选项 3,我不知道 shopify 允许什么或最佳实践允许什么。我可以使用 js 将数据传递到我自己位于不同子域的服务器吗?还是将表单发布到另一个子域,然后重定向回 shopify?

如果有任何想法或建议,我将不胜感激。

【问题讨论】:

    标签: shopify


    【解决方案1】:

    你已经总结了所有的选项,稍微澄清一下:

    1. 您可以要求客户在商店结账设置中创建一个帐户。 /admin/settings/结帐
    2. 这可行,您也可以在自定义页面上对其进行 iframe。或者,更好的是,使用跨域调用或 jsonp。
    3. 这有点令人费解,您必须坚持并维护大量外部状态。我会避免这种情况

    我认为是 1 和 2 的组合。打开“需要客户帐户”。修改客户账户创建页面。使用您的服务器实施跨域策略,该策略将使用 EVS API 托管自定义代码。

    我不确定您是否销售有形商品,但由于对用户年龄的严格政策,您必须记住送货地址可能会发生变化。为了实现紧密集成,您应该在客户发生变化时考虑使用 webhook,并确保他们的所有数据自上次 EVS 批准以来仍然有效。

    【讨论】:

    • 谢谢库尔特。我同意选项 3 需要执行很多,实际上并不能解决所有情况,所以无论哪种方式我都需要选项 2。
    • 至于需要帐户...我不确定这是我的主题还是shopify的工作方式...当我将其设置为“需要帐户”时,似乎没有成为用户自己创建帐户的一种方式。我错了吗?
    • 你是如何测试的?使用 inocnito,如果您处于“开发”或 pw 保护它可能会以不同的方式工作,我不确定。您总是可以通过液体标记检查他们是否在购物车页面上登录,如果没有,您可以注入一些 JS 以重定向到登录/注册(您可以在重定向中添加查询字符串以切换“到结帐您必须注册或登录”类型通知)。对于您可能已经看过的一些参考资料.. help.shopify.com/themes/customization/customer-pages/…
    • 是的,那篇文章是完美的解释。我可以使用一些解释文本手动添加指向 /account/register 的链接。再次感谢您的帮助。
    【解决方案2】:

    我已经对此进行了广泛的研究,并且我们已经花费了几个小时来尝试各种选项。在这种情况下,我们的客户在 Shopify Plus 上,因此我们确实可以访问 checkout.liquid

    我们的研究使我们相信,如果他们以“客人”身份尝试结账,则无法将出生日期的“客户备注”传递给结账。也许是因为“客户”还不存在。

    我们的选择范围缩小到:

    1. 编写一个自定义后端应用程序,允许 Shopify 和 EVS 在结帐过程中或之前直接通信(EVS 端的 XML API),然后将验证状态传回 Shopify 以允许订单继续,或附加一些履行部门采取相应行动的相关状态标记。 EVS 应用程序不会阻止订单继续进行,但会在管理员的“风险级别”面板中将客户的年龄标记为未经验证。这将是一个相当大的项目,绝非易事。还存在重新执行 EVS 应用已经执行的许多操作并遇到与之前相同的障碍的风险。
    2. 强制客户在结账前注册(如果未登录)。这似乎是最可行的方法。唯一需要注意的是现有客户将没有客户备注(出生日期),我们需要构建一个较小的后端应用程序,以允许他们通过 Shopify API 将其附加到他们的客户帐户(这不能通过液体完成) .

    这些是我们的发现,我很想知道您最终是如何解决这个问题的。

    【讨论】:

    • 是的,我在那里选择了选项 2。如果没有客户创建帐户,这将是一件令人头疼的事情。
    • 我制作了一个单独的年龄验证应用程序。 EVS 通过开箱即用的 shopify 集成验证了大约 50%。对于其余部分,我们会触发一封电子邮件发送给客户,其中包含指向定制应用程序的链接。它允许用户进行多次尝试并传递来自 EVS 的任何失败消息。如果 EVS 验证它们,应用程序会使用 EVS 使用的相同标签标记 Shopify 中的客户记录。我想说我们的总体验证率超过 90%,但涉及一些手动工作。
    猜你喜欢
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多