信用卡号收集预构建组件

预构建组件可捕获 8 至 19 位数的信用卡号。系统会使用 Luhn 算法验证捕获的信用卡号。

限制

除了常见的预构建组件限制之外,此预构建组件还存在以下限制:

  • 该组件不包含付款网关集成。
  • 不支持少于 8 位或多于 19 位的信用卡号。

启用 DTMF,以允许用户使用电话拨号键盘输入数字值。

其他功能

此预构建组件还提供以下其他功能:

对话框示例

以下示例对话框演示了此预构建组件处理的常见场景。示例对话框演示了通过电话调用组件时的行为,这会触发默认欢迎 intent 并在对话开始时发出第一个客服人员回复。

单个分块

最终用户在第一轮中提供完整的信用卡号;客服人员成功验证并接受该号码。

用户输入 客服人员回复
请说出或输入信用卡号码的前部分。您可以随时说“播放”来听当前收集的号码。
4242 4242 4242 4242
我得到了 4242424242424242,对吗?
请说出或输入信用卡号的下一部分,如果您已说完,请说“就是这样”。
就这些了
我想与您进行最后确认,我收到的信用卡号是 4242424242424242,对吗?
谢谢,您的信用卡号已成功通过验证。

多个数据块

最终用户分三段提供信用卡号;客服人员进行验证并接受。

用户输入 客服人员回复
请说出或输入信用卡号码的前部分。您可以随时说“播放”来听当前收集的号码。
4242
我得到了 4242,对吗?
请说出或输入信用卡号的下一部分,如果您已说完,请说“就是这样”。
424242
我得到了 424242,对吗?
请说出或输入信用卡号的下一部分,如果您已说完,请说“就是这样”。
424242
我得到了 424242,对吗?
请说出或输入信用卡号的下一部分,如果您已说完,请说“就是这样”。
完成
我想与您进行最后确认,我收到的信用卡号是 4242424242424242,对吗?
谢谢,您的信用卡号已成功通过验证。

重试成功

最终用户在第一轮中提供完整的信用卡号码;客服人员重新确认,但最终用户说“不”。客服人员要求最终用户重新提供输入。最终用户提供并确认电话号码,客服人员成功验证并接受该号码。

用户输入 客服人员回复
请说出或输入信用卡号码的前部分。您可以随时说“播放”来听当前收集的号码。
5105105105105100
我收到了 5105105105105101,对吗?
没关系,请重复一下信用卡号,或尝试一次说出四位数
5105105105105100
我得到了 5105105105105100,对吗?
请说出或输入信用卡号的下一部分,如果您已说完,请说“就是这样”。
就这些了
我想与您进行最后确认,我收到的信用卡号是 5105105105105100,对吗?
谢谢,您的信用卡号已成功通过验证。

无法识别所输入的内容

最终用户提供无法识别的输入三次后,组件会退出流程。

用户输入 客服人员回复
请说出或输入信用卡号码的前部分。您可以随时说“播放”来听当前收集的号码。
没关系
抱歉,我没听明白。您能否再说一遍或输入一下信用卡号?
没关系
呃,我还是没听明白。请确保您读的是信用卡号。您也可以使用数字键盘输入信用卡号。
没关系
抱歉,我没听懂您的回答。

信用卡号验证

有效的信用卡号必须介于 8 到 19 位数字之间。此组件还使用 IS_CREDIT_CARD_NUMBER 系统函数通过 Luhn 算法验证信用卡号。

命名规则

此预构建组件使用以下命名惯例:

功能 格式 示例
流程 [组件名称] 收集信用卡号
特定于组件的 intent prebuilt_components_[component_name]_[intent_name] prebuilt_components_credit_card_number_collection_credit_card_sequence
参数 [param_name] user_provided_new_seq

输出参数

输出参数是会话参数,会在退出组件后保持有效状态。这些参数包含组件收集的重要信息。此预构建组件会为以下输出参数提供值:

参数名称 说明 输出格式
credit_card_status 此参数使用 Luhn 算法指示收集到的信用卡号的有效性:
“valid”表示收集到的信用卡号已成功验证,且长度介于 8 到 19 位之间
“invalid”表示收集到的信用卡号无效或长度不介于 8 到 19 位之间
字符串
credit_card_number_collection_credit_card_number 此参数会返回组件捕获的信用卡号 字符串

基本设置

如需设置此预构建组件,请执行以下操作:

  1. 导入预构建组件

完成

您的代理现在应该已设置完毕,可以进行测试了。