在shopify中要求第三方年龄验证

时间:2016-08-06 18:19:03

标签: shopify

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

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

我在购物方面不那么精明。我需要在第一次下订单时平衡客户摩擦,而不必进行大量的手工工作以进行验证。

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

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

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

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

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

    我很感激任何想法或建议。

2 个答案:

答案 0 :(得分:0)

你几乎总结了所有的选择,稍微澄清一下:

  1. 您可以要求客户在商店结帐设置中创建帐户。 /管理/设定/结帐
  2. 这样可行,您也可以在自定义页面上使用iframe。或者,更好的是,使用跨域调用或jsonp。
  3. 这有点令人费解,你必须坚持并保持很多外部状态。我避免这个
  4. 我认为1和2的组合。打开"需要客户帐户"。修改客户帐户创建页面。与您的服务器一起实施跨域策略,该策略将托管利用EVS API的自定义代码。

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

答案 1 :(得分:0)

我一直在广泛地研究这个问题,我们花了几个小时试验选项。在这种情况下,我们的客户使用Shopify Plus,因此我们确实可以访问checkout.liquid

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

我们的选择范围已经缩小为:

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