迁移到Chargify.js

不推荐使用Chargify Direct,而推荐使用Chargify.js。我们强烈建议您按照以下指南迁移至Chargify.js。 直接充电 上不会开发任何新功能。

切换的好处

与Chargify Direct相比,它不仅更易于设置和实施,而且在Chargify.js而非Chargify Direct上还具有以下功能:

  • 创建发票开票或汇款订阅
  • 订阅组和WhoPays
  • 多网关
  • 多币种
  • 苹果支付
  • 贝宝
  • GoCardless
  • 3D Secure符合PSD2

在安全性方面,Chargify.js符合SAQ-A,而Chargify Direct仅SAQ-A-EP。这意味着与Chargify.js相比,Chargify Direct在您的终端上需要更多的安全合规性。 SAQ-A与使用我们托管的公共注册页面之一的合规性级别相同。有关PCI合规性的更多信息, 请访问我们的帮助文档 .

实施比较

请随时细读我们的 Chargify.js 文档以获取完整概述.

直接充电 涉及构建在您的网站上托管的表单。当客户注册时,该表单将直接提交给Chargify,然后我们透明地将客户重定向回网站,以获取有关其注册状态的信息。

相比之下,Chargify.js仍然需要在您的网站上托管一个页面。但是,Chargify提供了iframe来收集所有信用卡信息,这意味着所有信用卡信息都直接发送到Chargify,而无需通过您的服务器。 Chargify.js 用于在网关上创建付款配置文件,并返回时间敏感的一次性使用令牌。该令牌用于通过我们的API使用信用卡或银行帐户创建订阅。由于卡信息是标记化的,因此通过服务器上的API传递信息是完全安全的。

卡更新

在卡更新方面,Chargify Direct允许直接更新文件中的卡。通过Chargify.js,该过程涉及1)生成新令牌以在客户下创建新的付款资料,以及2)使新卡默认为订阅。

迁移路径

强烈建议在将更改移至生产之前,针对沙箱网站构建一个Chargify.js表单。大多数流行的网关都有一个免费的开发帐户,该帐户可以复制客户在生产实例中可能遇到的相同错误和行为。全面的测试有助于确保对尝试注册的客户的干扰最小。

  1. 通过Chargify Direct查看当前的注册流程。
    • 它是否仅用于注册或卡更新?
    • 正在传递什么信息,例如地址,自定义字段,银行帐户?
    • 现有客户可以使用现有帐户注册第二个订阅吗?
    • 是否需要考虑任何注册后触发器,例如为您的应用程序为客户申请一个帐户?
  2. 构建和设计您的Chargify.js表单,并实现创建订阅所需的必要API调用。这将与步骤1中已经提供的功能相匹配,并利用您感兴趣的任何新的“关系发票”功能。我们建议您查看 入门指南 建立表单和API连接。
  3. 测试完整的注册流程:
    • 通过使用Chargify.js生成一次性使用令牌
    • 使用令牌通过API创建预订
    • 注册后发生的任何其他与收费无关的工作流程
    • 允许新订阅然后更新他们的卡
  4. 完整的解决方案在测试站点上经过审核后,请在生产实例中实施更改。
  5. 确保删除任何现有的Chargify Direct表单。

API调用

传递Chargify.js令牌的注册API有效负载类似于以下内容;任何帐单邮寄地址信息都会与原始令牌创建过程一起传递。

{
  "subscription": {
    "product_handle": "pro-plan",
    "customer_attributes": {
      "first_name": "Joe",
      "last_name": "Smith",
      "email": "j.smith@example.com"
    },
    "credit_card_attributes": {
      "chargify_token": "tok_cwhvpfcnbtgkd8nfkzf9dnjn"
    }
  }
}

以下是一些可能对注册有用的API调用示例:

这些API调用与处理卡更新有关,这涉及创建新的付款资料并将其交换为默认付款资料。