信用卡號碼收集預先建構元件

這個預建元件會擷取 8 到 19 位數的信用卡號碼。系統會使用 Luhn 演算法驗證擷取的信用卡號碼。

限制

除了常見的預先建構元件限制外,這個預先建構元件還有下列限制:

  • 元件不包含付款閘道整合。
  • 系統不支援長度少於 8 位數或超過 19 位數的信用卡號碼。

啟用 DTMF,允許使用者透過電話鍵盤輸入數值。

其他功能

這個預先建構的元件提供下列額外功能:

對話範例

下列範例對話方塊展示了這個預先建構元件處理的常見情境。範例對話會示範透過電話呼叫元件時的行為,這會觸發預設的歡迎意圖,並在對話開始時提供第一個代理程式回應。

單一區塊

使用者在第一輪對話中提供完整卡號; 服務專員成功驗證並接受。

使用者輸入內容 代理回覆
請說出或輸入信用卡號碼的前半部。你隨時可以說「播放」,聽取目前收集的號碼。
4242 4242 4242 4242
我收到 4242424242424242,這是正確的嗎?
請說出或輸入信用卡號碼的下一部分,或說出「就這樣」表示輸入完畢。
就這樣
為進行最後確認,我取得的信用卡號碼是 4242424242424242,對嗎?
感謝你,信用卡號碼已通過驗證。

多個區塊

消費者分三段提供信用卡號,服務專員驗證並接受。

使用者輸入內容 代理回覆
請說出或輸入信用卡號碼的前半部。你隨時可以說「播放」,聽取目前收集的號碼。
4242
我收到的驗證碼是 4242,對嗎?
請說出或輸入信用卡號碼的下一部分,或說出「就這樣」表示輸入完畢。
424242
我收到 424242,對嗎?
請說出或輸入信用卡號碼的下一部分,或說出「就這樣」表示輸入完畢。
424242
我收到 424242,對嗎?
請說出或輸入信用卡號碼的下一部分,或說出「就這樣」表示輸入完畢。
完成
為進行最後確認,我取得的信用卡號碼是 4242424242424242,對嗎?
感謝你,信用卡號碼已通過驗證。

重試成功

使用者在第一輪對話中提供完整信用卡號,服務專員再次確認,但使用者說「否」。代理程式要求使用者再次提供輸入內容。使用者提供並確認電話號碼,代理程式成功驗證並接受該號碼。

使用者輸入內容 代理回覆
請說出或輸入信用卡號碼的前半部。你隨時可以說「播放」,聽取目前收集的號碼。
5105105105105100
我收到 5105105105105101,對嗎?
沒問題,請重複信用卡號碼,或一次說出四位數
5105105105105100
我收到 5105105105105100,這是正確的嗎?
請說出或輸入信用卡號碼的下一部分,或說出「就這樣」表示輸入完畢。
就這樣
為進行最後確認,我取得的信用卡號是 5105105105105100,對嗎?
感謝你,信用卡號碼已通過驗證。

無法辨識的輸入內容

如果使用者提供無法辨識的輸入內容三次,元件就會結束流程。

使用者輸入內容 代理回覆
請說出或輸入信用卡號碼的前半部。你隨時可以說「播放」,聽取目前收集的號碼。
沒關係
抱歉,我沒聽清楚。請再次說出或輸入信用卡號碼。
沒關係
抱歉,我還是沒聽清楚。請確認你說出的是卡號。你也可以使用數字鍵盤輸入信用卡號碼。
沒關係
抱歉,我不太瞭解你的回覆。

驗證信用卡號碼

有效信用卡號碼的長度必須介於 8 到 19 位數。這個元件也會使用 IS_CREDIT_CARD_NUMBER 系統函式,透過盧恩演算法驗證信用卡號碼。

命名慣例

這個預先建構的元件採用下列命名慣例:

功能 格式 範例
Flow [元件名稱] 收集信用卡號碼
元件專屬意圖 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 演算法指出所收集卡號的有效性:
「有效」表示所收集的卡號已成功驗證,且長度介於 8 到 19 位數
「無效」表示所收集的卡號無效,或長度不介於 8 到 19 位數
字串
credit_card_number_collection_credit_card_number 這個參數會傳回元件擷取的卡號 字串

基本設定

如要設定這個預先建構的元件,請按照下列步驟操作:

  1. 匯入預先建構的元件

完成

代理程式現在應已設定完成,可以開始測試。