商圈集點系統要跑起來,需要在 LINE Developers 建立兩個 channel,把六個值填回後台。這份把每個值的來源路徑、長相與常見陷阱寫清楚。
這是整份設定最容易錯的地方。兩個 channel 都有「Channel ID」,長得一模一樣,但用途完全不同、不能互換。
LIFF App 掛在這個 channel 底下。會員掃碼時,系統靠它拿到 LINE 使用者身分。
官方帳號的本體。系統靠它推播領獎通知與滿額公告。
在 LINE Developers 開啟你的官方帳號 channel,第一個分頁就是 Basic settings。
| 後台欄位 | 這裡的哪一個 | 長相 |
|---|---|---|
| LINE Channel Secret | Channel secret | 32 碼英數 |
/api/line/webhook」,填完按儲存,並把下方的 Use webhook 打開。https://你的對外網址/api/line/webhook,按儲存。localhost 不行。LINE 是從外網主動連進你的伺服器,所以本機測試需要用 ngrok 之類的通道服務取得一個對外網址。每次重開 ngrok 網址會變,記得回來更新這一欄與後台。切換到 LINE Login channel(跟上面是不同的 channel),進入 LIFF 分頁。
| 後台欄位 | 這裡的哪一個 | 長相 |
|---|---|---|
| LIFF ID | LIFF ID | 2010699993-Kt347Sf7 |
| LINE Login Channel ID | 這個 channel 的 Basic settings → Channel ID | 2010699993 |
openid 與 profile;Options 的 Scan QR 必須打開。| 設定 | 要設成 | 設錯會怎樣 |
|---|---|---|
| Size | Full | 用 Compact / Tall 時掃碼器開不起來,會出現 subwindowOpen is not allowed |
| Scan QR | 打開 | 沒開的話畫面上根本不會出現掃描按鈕 |
| Scopes | 含 openid、profile | 拿不到會員身分,集點會失敗 |
| Endpoint URL | https://你的網址/scan.html?liffId=…詳見下一節 | 填成 liff.line.me 會無限跳轉,畫面永遠打不開 |
這一欄不是填在後台,是填在 LINE 的 LIFF 設定裡。它的意思是「LINE 要把會員送到哪裡」,所以要指向這套系統的掃碼頁。
https://liff.line.me/2010699993-Kt347Sf7?liffId=…&activity=…
會員點連結 → LINE 查 Endpoint → 又指回 liff.line.me → 再查 Endpoint → 無限跳轉,畫面永遠打不開。
https://你的對外網址/scan.html?liffId=2010699993-Kt347Sf7
只帶 liffId,不要把 activity 寫死。
https://liff.line.me/<LIFF ID>?liffId=…&activity=jiali2026https://你的對外網址/scan.html?liffId=…&activity=jiali2026liffId 初始化 LINE 登入、用 activity 決定顯示哪個活動的點數qr 參數送出集點liffId 但不帶 activity:掃碼頁需要 liffId 才能呼叫 liff.init(),萬一有人直接開沒帶參數的 LIFF 網址,Endpoint 上的這個值就是唯一來源。activity 則相反——它由後台為每個活動各自產生的連結帶入;寫死在 Endpoint 裡,這個 LIFF 就被綁在單一活動上,之後開新活動還要回 LINE 後台改設定。後台 → 商圈管理 → 編輯商圈,往下捲到 LINE 設定區。每個欄位標題旁邊都有一個 ?,點開就是這張表的內容。
| 後台欄位 | 來源 | 必填 |
|---|---|---|
| LINE Login Channel ID | LINE Login channel → Basic settings → Channel ID | 是 |
| LIFF ID | LINE Login channel → LIFF → LIFF ID | 是 |
| LINE Channel Secret | Messaging API channel → Basic settings → Channel secret | 驗證 Webhook 才需要 |
| Messaging API Channel Access Token | Messaging API channel → Messaging API → Issue | 要發推播才需要 |
| Webhook URL | 自己填:對外網址 + /api/line/webhook | 否 |
| 預設 Rich Menu ID | LINE Official Account Manager → 圖文選單 | 否 |
| 症狀 | 先檢查 |
|---|---|
| 掃碼後說身分取得失敗 | LINE Login Channel ID 是不是拿成 Messaging API 的。比對它是否等於 LIFF ID 連字號前面那段。 |
| 看不到掃描按鈕 | LIFF 的 Scan QR 沒開,或 Size 不是 Full。也確認是在 LINE App 內開啟。 |
subwindowOpen is not allowed | LIFF Size 要改成 Full。 |
| 集點成功但沒收到 LINE 訊息 | Access Token 沒填或已失效。集點本身不依賴它,所以會「成功但沒通知」。 |
| LINE 後台顯示 Webhook 驗證失敗 | 網址要 HTTPS 且能從外網連到;ngrok 重開後網址會變。 |