@Joshua_Kogan 您现在可以通过 Custom Wizard 插件以两种不同的方式实现此功能。
外部收款
一种方法是在自定义向导的某一步提交时,将用户重定向至支付提供商。利用允许的参数字段和必需数据确保支付完成,然后在后续步骤中将用户添加到某个组(使用“添加到组”操作)。
以下是该方案中支付部分的完整说明。“添加到组”部分应不言自明:
将用户重定向至支付提供商的设置
- 路由到操作(Route To Action):新增了一种名为“路由到(Route To)”的操作类型,允许您在某一步提交时将用户重定向至目标 URL。对于您的向导,该操作应添加在用户进行支付之前的任意步骤。目前它们被添加在“支付”步骤本身,但您也可以移除该步骤,将其添加至前一步。当前“路由到”操作包含两个设置:
-
url:这是目标 URL。与其他向导输入一样,您可以使用 w{} 插值向导字段数据,使用 u{} 插值用户字段数据。
-
code:一个唯一代码,将作为参数添加到目标 URL。当此设置被填充时,自定义向导将生成一个唯一的随机十六进制字符串,该字符串:
- 使用您提供的键作为附加查询参数添加到 URL 中;
- 使用您提供的键将该代码保存至提交数据中。
为每个请求关联一个唯一键,使得该请求的任何回调(即用户返回向导时)都能被验证。在 Chargify 的案例中,Chargify 会将您通过参数“reference”发送的任何值进行存储(详见),然后您可以在 Chargify 完成支付后将用户重定向到的“返回 URL”中添加该值。
-
允许的参数(Permitted Params):这是一个新的步骤设置,允许您指定该步骤允许的查询参数,以及这些参数在提交数据中应保存的键。您可以利用它来保存统计或分析数据(例如用户从何处进入向导),也可用于回调。在 Chargify 的案例中,我们将“reference”代码传递给 Chargify(并将其保存至提交数据中),以便在重定向用户至 Chargify 完成支付时使用。随后,我们将此代码作为返回参数添加到“返回 URL”中,然后通过指定在返回参数中保存
customer_reference的任意参数,将其保存至提交数据中。请注意,在 Chargify 中,您需要将“返回 URL”设置为附加了“路由到”操作的那一步之后的步骤的 URL。这意味着您需要将customer_reference参数作为允许的参数字段添加至该步骤。 -
必需数据(Required Data):这是一个新的步骤设置,允许您在允许用户查看该步骤之前实施数据检查。目前,您可以要求某项提交数据等于另一项提交数据。如果用户尝试加载该步骤但必需数据检查失败,他们将看到一条错误消息。在 Chargify 的案例中,我们将利用此功能要求“路由到”操作中创建的代码等于 Chargify 返回的
customer_reference。您可以通过向导管理后台中的“数据不存在时显示的消息”字段自定义向用户显示的错误消息。此外,错误消息后还会附加一个“重启向导”链接,允许用户将向导重置为第 1 步并清除现有输入。
内部收款
您可以使用 ProCourse 会员功能进行收款。
如果支付提供商的 API 支持 OAuth2 或基本授权(例如 Stripe 使用基本授权),您也可以通过 Custom Wizard 的“发送至 API”操作及相关的 API 端点管理系统设置 API 连接,从而使用几乎任何支付提供商。具体设置方式取决于提供商。此方案稳定性稍差;该功能目前处于 Beta 测试阶段,但具有巨大的潜力。