[{"data":1,"prerenderedAt":360},["ShallowReactive",2],{"merchant-context":3,"docs-navigation":4,"docs-page-\u002Fdocs\u002Fhosted-web\u002Fsandbox-and-errors":132,"docs-surround-\u002Fdocs\u002Fhosted-web\u002Fsandbox-and-errors":358},null,[5],{"title":6,"path":7,"stem":8,"children":9,"page":36},"Docs","\u002Fdocs","docs",[10,37,58,89,110],{"title":11,"icon":12,"path":13,"stem":14,"children":15,"page":36},"入門指南","i-lucide-compass","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[16,21,26,31],{"title":17,"path":18,"stem":19,"icon":20},"總覽","\u002Fdocs\u002Fgetting-started\u002Foverview","docs\u002F1.getting-started\u002F1.overview","i-lucide-map",{"title":22,"path":23,"stem":24,"icon":25},"快速開始","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F2.quickstart","i-lucide-rocket",{"title":27,"path":28,"stem":29,"icon":30},"架構","\u002Fdocs\u002Fgetting-started\u002Farchitecture","docs\u002F1.getting-started\u002F3.architecture","i-lucide-network",{"title":32,"path":33,"stem":34,"icon":35},"Early Access Core","\u002Fdocs\u002Fgetting-started\u002Fearly-access-core","docs\u002F1.getting-started\u002F4.early-access-core","i-lucide-box",false,{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":36},"Partner Auth","i-lucide-shield","\u002Fdocs\u002Fpartner-auth","docs\u002F2.partner-auth",[43,48,53],{"title":44,"path":45,"stem":46,"icon":47},"授權流程","\u002Fdocs\u002Fpartner-auth\u002Fauthorization-flow","docs\u002F2.partner-auth\u002F1.authorization-flow","i-lucide-route",{"title":49,"path":50,"stem":51,"icon":52},"Scopes","\u002Fdocs\u002Fpartner-auth\u002Fscopes","docs\u002F2.partner-auth\u002F2.scopes","i-lucide-list-checks",{"title":54,"path":55,"stem":56,"icon":57},"Token 交換","\u002Fdocs\u002Fpartner-auth\u002Ftoken-exchange","docs\u002F2.partner-auth\u002F3.token-exchange","i-lucide-repeat-2",{"title":59,"icon":60,"path":61,"stem":62,"children":63,"page":36},"API 參考","i-lucide-braces","\u002Fdocs\u002Fapi-reference","docs\u002F3.api-reference",[64,69,74,79,84],{"title":65,"path":66,"stem":67,"icon":68},"授權預覽","\u002Fdocs\u002Fapi-reference\u002Fpreview","docs\u002F3.api-reference\u002F0.preview","i-lucide-scan-eye",{"title":70,"path":71,"stem":72,"icon":73},"授權","\u002Fdocs\u002Fapi-reference\u002Fauthorize","docs\u002F3.api-reference\u002F1.authorize","i-lucide-key-square",{"title":75,"path":76,"stem":77,"icon":78},"Token","\u002Fdocs\u002Fapi-reference\u002Ftoken","docs\u002F3.api-reference\u002F2.token","i-lucide-key-round",{"title":80,"path":81,"stem":82,"icon":83},"使用者 profile","\u002Fdocs\u002Fapi-reference\u002Fuser-profile","docs\u002F3.api-reference\u002F3.user-profile","i-lucide-user-round",{"title":85,"path":86,"stem":87,"icon":88},"KYC 申請","\u002Fdocs\u002Fapi-reference\u002Fkyc-application","docs\u002F3.api-reference\u002F4.kyc-application","i-lucide-scan-text",{"title":90,"icon":91,"path":92,"stem":93,"children":94,"page":36},"營運指引","i-lucide-settings","\u002Fdocs\u002Foperations","docs\u002F4.operations",[95,100,105],{"title":96,"path":97,"stem":98,"icon":99},"錯誤處理","\u002Fdocs\u002Foperations\u002Ferrors","docs\u002F4.operations\u002F1.errors","i-lucide-circle-alert",{"title":101,"path":102,"stem":103,"icon":104},"安全","\u002Fdocs\u002Foperations\u002Fsecurity","docs\u002F4.operations\u002F2.security","i-lucide-shield-check",{"title":106,"path":107,"stem":108,"icon":109},"版本管理","\u002Fdocs\u002Foperations\u002Fversioning","docs\u002F4.operations\u002F3.versioning","i-lucide-git-branch",{"title":111,"icon":112,"path":113,"stem":114,"children":115,"page":36},"網站身分驗證","i-lucide-scan-face","\u002Fdocs\u002Fhosted-web","docs\u002F5.hosted-web",[116,120,124,128],{"title":117,"path":118,"stem":119},"網站快速串接","\u002Fdocs\u002Fhosted-web\u002Fquickstart","docs\u002F5.hosted-web\u002F1.quickstart",{"title":121,"path":122,"stem":123},"狀態、回呼與通知","\u002Fdocs\u002Fhosted-web\u002Fresults-and-webhooks","docs\u002F5.hosted-web\u002F2.results-and-webhooks",{"title":125,"path":126,"stem":127},"登入位置紀錄","\u002Fdocs\u002Fhosted-web\u002Flogin-location","docs\u002F5.hosted-web\u002F3.login-location",{"title":129,"path":130,"stem":131},"沙盒與驗收","\u002Fdocs\u002Fhosted-web\u002Fsandbox-and-errors","docs\u002F5.hosted-web\u002F4.sandbox-and-errors",{"id":133,"title":129,"body":134,"description":352,"extension":353,"meta":354,"navigation":355,"path":130,"seo":356,"stem":131,"__hash__":357},"docs\u002Fdocs\u002F5.hosted-web\u002F4.sandbox-and-errors.md",{"type":135,"value":136,"toc":346},"minimark",[137,140,144,148,260,262,279,335],[138,139,129],"h1",{"id":129},[141,142,143],"p",{},"沙盒使用獨立 Client、DB、Redis、儲存與金鑰，所有資料屬於 sandbox，不得產生正式計費。測試 OTP 和 ML stub 只驗證流程，畫面必須標示測試模式；正式簡訊、真模型、受信任 HTTPS、手機實機和審核作業另行驗收。",[145,146,147],"h2",{"id":147},"建議測試順序",[149,150,151,164],"table",{},[152,153,154],"thead",{},[155,156,157,161],"tr",{},[158,159,160],"th",{},"情境",[158,162,163],{},"預期結果",[165,166,167,176,184,192,200,212,220,228,236,244,252],"tbody",{},[155,168,169,173],{},[170,171,172],"td",{},"首次 OTP、證件、活體、送審",[170,174,175],{},"不需平台密碼，選填 Email 不影響送件",[155,177,178,181],{},[170,179,180],{},"刷新、關頁、票券到期、跨日審核",[170,182,183],{},"同一案件可續辦，送審不因連結過期而消失",[155,185,186,189],{},[170,187,188],{},"QR 掃碼但桌機未確認",[170,190,191],{},"手機不能讀原會員資料或送件",[155,193,194,197],{},[170,195,196],{},"Callback 時已登出或換帳號",[170,198,199],{},"不錯綁，目前帳號不取得原會員結果",[155,201,202,205],{},[170,203,204],{},"相同 key 重送／不同 payload",[170,206,207,208],{},"相同內容冪等，不同內容 ",[209,210,211],"code",{},"409",[155,213,214,217],{},[170,215,216],{},"同 Merchant／環境重複身分",[170,218,219],{},"只有一個有效綁定，另一案件轉人工處理",[155,221,222,225],{},[170,223,224],{},"不同 Client 存取資源",[170,226,227],{},"無法查詢或修改他人資料",[155,229,230,233],{},[170,231,232],{},"停用 Client、Merchant 或 Organization",[170,234,235],{},"商業閘門拒絕，沒有新計費",[155,237,238,241],{},[170,239,240],{},"Webhook 重複、亂序、暫時離線",[170,242,243],{},"event ID 去重，舊版本不覆寫，恢復後補送",[155,245,246,249],{},[170,247,248],{},"定位拒絕、逾時、不支援、未回報",[170,250,251],{},"狀態可辨識，不阻擋登入、不製造 App 失聯警報",[155,253,254,257],{},[170,255,256],{},"Sandbox 核准、讀取及重試",[170,258,259],{},"不出現正式 ledger 或月度計費人頭",[145,261,96],{"id":96},[141,263,264,265,268,269,268,272,275,276,278],{},"錯誤外層為 ",[209,266,267],{},"error_code","、",[209,270,271],{},"message",[209,273,274],{},"request_id","。支援人員可用 ",[209,277,274],{}," 查問題，不需要使用者提供證件影像、secret 或完整票券。",[280,281,282,289,295,301,307,313,319,329],"ul",{},[283,284,285,288],"li",{},[209,286,287],{},"401","：認證失敗，檢查後端設定，不能把 secret 放到瀏覽器補救。",[283,290,291,294],{},[209,292,293],{},"403","：狀態或操作權限拒絕，由管理者處理。",[283,296,297,300],{},[209,298,299],{},"404","：功能未開通或目前 Client 查不到資源。",[283,302,303,306],{},[209,304,305],{},"409 idempotency_conflict","：同一 key 用了不同內容；原操作查結果，新操作用新 key。",[283,308,309,312],{},[209,310,311],{},"409 identity_already_bound","：保留案件供人工處理，不自動解除既有綁定。",[283,314,315,318],{},[209,316,317],{},"422","：輸入驗證失敗，依欄位修正。",[283,320,321,324,325,328],{},[209,322,323],{},"429","：尊重 ",[209,326,327],{},"Retry-After","，避免立即重送。",[283,330,331,334],{},[209,332,333],{},"5xx","／網路逾時：保持原操作 key 稍後重試，狀態顯示同步中。",[141,336,337,338,341,342,345],{},"不要把技術錯誤轉成 KYC ",[209,339,340],{},"rejected"," 或 Eligibility ",[209,343,344],{},"blocked","。驗收紀錄應分開列工程測試、MySQL 併發、瀏覽器、手機實機及真模型，不能用其中一項代替其他項目。",{"title":347,"searchDepth":348,"depth":348,"links":349},"",2,[350,351],{"id":147,"depth":348,"text":147},{"id":96,"depth":348,"text":96},"區分工程沙盒與正式上線驗收，測試續辦、錯綁防護、通知、定位及計費隔離。","md",{},true,{"title":129,"description":352},"YUCVbJpn1lgoUQ5fsuZIAiMGWlEz_ceAhedluv_CnKs",[359,3],{"title":125,"path":126,"stem":127,"children":-1},1793286051052]