使用 Rapid Lodging API 和 3DS 2.0 進行測試
使用 API 所支援的特定情境來測試您的 SCA 實作
若要測試 Rapid Lodging API,請在 HTTP 請求中加入一個名為test 的額外 HTTP 標頭,並使用該 API 支援的其中一個值來測試受支援的場景。
在「強客戶身分驗證」(SCA)預訂流程中,亦可使用來自 Rapid API 的測試回應來測試 3D-Secure (3DS) 連接器函式庫的方法。
登記付款
以下測試標頭值在 API 回應中會產生不同 encoded_init_config,以及不同 HTTP 回應碼。可將 encoded_init_config` ` 傳入 JavaScript 函式庫中的 initSession 呼叫中,以觸發 3DS 連接器函式庫內的不同測試案例。
| 測試標題值 | HTTP 代碼與回應 | initSession 測試用例 |
|---|---|---|
| 標準 | 201–標準回應 | SUCCESS |
init_skip | 201–未回應 encoded_init_config | Not supported |
init_fail | 201–標準回應 | FAILED |
init_timeout | 201–標準回應 | TIMEOUT |
internal_server_error | 500–伺服器內部錯誤 | — |
internal_server_error | 503 - 伺服器無法使用 | — |
注意: 若要針對 3DS Connector 函式庫init_skip 中的測試案例,請使用encoded_init_config,該函式可傳遞至initSession,並強制將statusCode 設為 SKIPPED。
建立預訂
除了 Rapid Lodging API 中針對「non-SCA」預訂流程所定義的測試標頭外,SCA 工作流程還支援其他測試標頭值。
測試標頭的值會產生不同的encodedChallengeConfig 值,這些值可傳入 JavaScript 函式庫的挑戰呼叫中,以觸發各種測試案例。
| 測試標題值 | HTTP 代碼與回應 | initSession 測試用例 |
|---|---|---|
complete_payment_session | 201 – 含完成付款工作階段連結的回應 | SUCCESS 無使用者 iframe 互動 |
complete_payment_session_show | 201 – 含完成付款工作階段連結的回應 | SUCCESS/FAILED 有使用者 iframe 互動 |
complete_payment_session_fail | 201 – 含完成付款工作階段連結的回應 | FAILED 無使用者 iframe 互動 |
complete_payment_session_timeout | 201 – 含完成付款工作階段連結的回應 | TIMEOUT |
complete_payment_session_error | 201 – 含完成付款工作階段連結的回應 | ERROR |
除了 Rapid Lodging API 中針對「non-SCA」預訂流程所定義的測試標頭外,SCA 工作流程還支援其他測試標頭值。
測試標頭的值會產生不同的encodedChallengeConfig 值,這些值可傳入 JavaScript 函式庫的挑戰呼叫中,以觸發各種測試案例。
| 測試標題值 | HTTP 代碼與回應 | initSession 測試用例 |
|---|---|---|
complete_payment_session | 201 – 含完成付款工作階段連結的回應 | SUCCESS 無使用者 iframe 互動 |
complete_payment_session_show | 201 – 含完成付款工作階段連結的回應 | SUCCESS/FAILED 有使用者 iframe 互動 |
complete_payment_session_fail | 201 – 含完成付款工作階段連結的回應 | FAILED 無使用者 iframe 互動 |
complete_payment_session_timeout | 201 – 含完成付款工作階段連結的回應 | TIMEOUT |
complete_payment_session_error | 201 – 含完成付款工作階段連結的回應 | ERROR |
完成付款工作階段
這些測試標頭值會導致在嘗試完成付款及確認預訂時可能出現的各種錯誤情況。
| 測試標題值 | HTTP 代碼與回應 |
|---|---|
payment_declined | 400 - 付款遭拒回應 |
price_mismatch | 409 - 房價不符回應 |
rooms_unavailable | 410 - 無空房回應 |
3DS Connector Library 和 iframe
在 無外部相依關係下測試 3DS Connector 時,需使用符合支援方法回應的特定參數值。僅限 iframe 用測試沙箱 URL 載入時才支援這種做法。
初始化工作階段
可透過調整 initSessionResponse` `statusCode 來測試 ``initSessionRequest encoded_init_config 所支援的數值範圍。
| statusCode 值 | 測試 encodedInitConfig 值 |
|---|---|
| SUCCESS | W3sicHJvdmlkZXJJZCI6IDAsICJzYW5kYm94SW5pdE91dHB1dENvbmZpZyI6ICJTVUNDRVNTIn1d |
| FAILED | W3sicHJvdmlkZXJJZCI6IDAsICJzYW5kYm94SW5pdE91dHB1dENvbmZpZyI6ICJGQUlMRUQifV0= |
| TIMEOUT | W3sicHJvdmlkZXJJZCI6IDAsICJzYW5kYm94SW5pdE91dHB1dENvbmZpZyI6ICJUSU1FT1VUIn1d |
| SKIPPED | Not supported at this time. |
注意:encoded_init_config 值也可以使用「註冊付款 API」支援的測試標頭產生。