簡短答案
如果你的卡片真的被拒絕,拒絕是來自你的銀行,透過Stripe處理,而不是來自Whizi,因此解決方法是換一張卡,或聯絡你的銀行。銀行為什麼一開始就會封鎖AI訂閱付款,以及如何判斷你碰到的是六種原因中的哪一種,當你的卡被拒絕時該如何為AI付費裡有說明。Whizi在結帳時不會顯示卡片遭拒的訊息。卡片資料是在Stripe代管的結帳頁面輸入的,那個頁面在Whizi的程式碼之外,所以銀行的回覆會送到Stripe,永遠不會送達Whizi。
所以如果你看到的錯誤帶有Whizi的用詞,那就不是一次拒絕。那是以下其中一個字串,每一個都有各自不同的原因與解決方法。
最容易被誤認成拒絕的三種情況:
| 你看到的內容 | 代表的意思 | 該怎麼做 |
|---|---|---|
This card has already used its intro trials, so this starts at the full price of 後面接著價格 | 這張卡已經使用過七天優惠試用四次,達到每張卡的上限 | 這張卡沒有問題。請支付顯示的原價,或使用一張還有優惠試用次數的卡片 |
Pricing is temporarily unavailable. | Whizi無法從Stripe讀取價格表 | 稍後再試一次。這不是你這邊能修好的問題 |
Failed to create Stripe checkout session. | 結帳呼叫失敗,後端沒有提供任何訊息 | 重試一次。如果一再發生,請聯絡客服 |
Whizi後端在結帳時回傳的每一個錯誤
這些訊息來自伺服器,所以會附帶一個HTTP狀態碼與一個錯誤代碼,讓客服可以在網路追蹤紀錄裡比對。每一個後端錯誤內容都是JSON,格式為{"error": {"code": "...", "message": "..."}},所以代碼會緊接在訊息旁邊。下面的表格依HTTP狀態碼排序。
| 訊息 | HTTP | 代碼 | 觸發時機 |
|---|---|---|---|
A plan and billing cycle are required. | 400 | invalid_checkout_request | 結帳內容無法被解析 |
Invalid plan or billing cycle. | 400 | invalid_plan_or_cycle | 方案或計費週期,對應不到任何已知的Stripe價格 |
No subscription item found for the active subscription. | 400 | subscription_item_missing | 一次原地方案變更,對上了一個沒有項目的訂閱 |
The supplied discount must be an active 100% promotion code or coupon ID. | 400 | invalid_discount | 提供的代碼不是有效的100%優惠碼或折扣券ID |
Temporary email addresses are not allowed. Please use a permanent email address. | 400 | disposable_email_blocked | 登入帳號的電子郵件,在臨時信箱網域名單上 |
User not found. | 404 | not_found | 結帳路由讀不到你的使用者資料列 |
Pricing is temporarily unavailable. | 503 | pricing_unavailable | 無法從Stripe讀取在地化的價格表 |
每一種情況該怎麼處理。已經用完優惠試用次數的卡片根本不會被拒絕,在下面另有一節說明。Pricing is temporarily unavailable.是伺服器端的問題:HTTP 503,發生在無法從Stripe讀取在地化價格表時,你的帳號沒有任何設定能改變這件事。Failed to create Stripe checkout session.根本不是伺服器訊息,這也是它沒有指出原因的原因:它是網站自己的備用文字,在結帳呼叫失敗、後端又沒有提供訊息時顯示。這兩種都是等待後重試。
A plan and billing cycle are required.與Invalid plan or billing cycle.都代表這次請求,沒有帶著伺服器認得的方案,所以請從定價頁重新開始,在那裡選擇方案,以及月付或年付切換,而不是重複使用一個舊的或被修改過的結帳連結。
User not found.代表你的登入狀態,指向一筆伺服器讀不到的使用者資料。請登出、重新登入,再重新開始結帳。
No subscription item found for the active subscription.是在方案變更時發生,而不是第一次購買,而且無法從介面自行修好。請聯絡客服。
結帳還沒開啟前,網站就顯示的錯誤
這些訊息來自瀏覽器,不是伺服器,所以沒有HTTP代碼。它們的意思大致相同:Whizi在把你的帳號準備好交接給Stripe的過程中,某個步驟失敗了,所以完全沒有嘗試過扣款。
| 訊息 | 觸發時機 |
|---|---|
Failed to create Stripe checkout session. | 結帳呼叫失敗,後端沒有提供任何訊息 |
Could not open checkout. Please try again. | 升級彈窗的結帳呼叫拋出錯誤,且沒有訊息 |
Authentication failed. Please sign in again. | 結帳前,權杖擷取沒有回傳任何內容 |
Failed to save user before checkout. | 結帳前的使用者儲存呼叫沒有成功 |
Could not prepare your account for checkout. | 定價頁在結帳前無法儲存使用者資料 |
Missing user or Stripe customer details. | 結帳當下,使用者ID是缺漏的 |
Checkout response did not include a Stripe URL. | 結帳成功,但既沒回傳URL,也沒回傳訂閱ID |
Something went wrong while starting your trial. Please try again. | 定價頁通用的試用啟動失敗訊息 |
碰到這份清單上的任何一項,請登出、重新登入,再從定價頁重新開始結帳。這能解決結帳前權杖擷取沒有回傳任何內容的情況,也就是Authentication failed. Please sign in again.所回報的狀況。
Checkout response did not include a Stripe URL.是例外:它代表這次呼叫其實成功了。在你嘗試再次付款之前,先打開帳號設定,確認是否已經有一份訂閱存在。
還有兩個訊息,出現在你先選方案、再登入或註冊的登入頁與註冊頁上:Signed in, but checkout could not start. Please choose your plan again.與Your account was created, but checkout could not start. Please sign in and choose your plan again.兩者都代表帳號的部分成功了,只有交接的部分失敗。你的帳號是存在的。請前往定價頁,重新選擇方案。
還有一個容易讓人摸不著頭緒的原因:連續重試結帳太多次,會觸發流量限制,回傳HTTP 429與Too many requests. Please wait and try again.。同一個帳號上的每一次請求,不論走哪條路由,都算在每分鐘30次的上限裡。請等一分鐘,不要一直點擊。
當一張卡已經用完優惠試用
每張卡最多可以使用七天優惠試用四次。這個次數是綁定在卡片指紋上,而不是帳號,所以用同一張卡開新帳號也不會重設次數。
一旦一張卡達到這個上限,結帳並不會被拒絕。它會以你選擇的方案原價開啟,Stripe的頁面會在付款按鈕上方寫明:This card has already used its intro trials, so this starts at the full price of 後面接著方案的價格。在那裡付款會立刻開始這個方案,沒有試用週。
這不是一次拒絕,重試也不會改變結果,因為這個次數已經記錄在卡片上。對還有優惠試用次數的卡片來說,優惠價格是Starter方案$0.99、Pro方案$1.99、Powerhouse方案$4.99,以美元計價。
你有兩個選擇:支付顯示的原價,或使用一張還沒用完優惠試用次數的卡片。
方案價格、試用條款,以及轉換時會發生什麼事,都寫在帳單、試用與如何取消裡。
已經付款成功,但帳號還停留在免費方案
已扣款的卡片,加上一個表現仍像免費方案的帳號,是跟結帳失敗不同的症狀,而且有專屬的一頁說明。
請閱讀已經付款,但方案功能仍被鎖住,裡面有那個狀態下會出現的字串、能判斷哪個帳號持有訂閱的檢查方法,以及該提供給客服的資訊。
Whizi無法告訴你的事
三個缺口,讓你不用浪費時間去找根本不存在的答案。
Whizi永遠看不到你的銀行為什麼拒絕一張卡,因為那個過程是在Stripe代管的結帳頁面裡發生的,在Whizi的程式碼之外。所以一次結帳拒絕,不會在你的帳號裡留下任何原因,沒有重試按鈕,Whizi也沒有東西可以覆寫。原因掌握在你的銀行手上。
續訂失敗是另一回事,Whizi會通知你。你會收到一封電子郵件,說明方案、金額,以及Stripe有留存時的銀行拒絕原因,聊天視窗頂端也會出現一條紅色橫幅,提供更新卡片或改用較便宜方案繼續使用的選項。透過iOS或Android應用程式購買的訂閱,則是透過Apple或Google續訂,由它們各自處理付款失敗的狀況。
Whizi的帳單透過Stripe處理,所以哪些卡片可以付款,是由那邊決定,而不是由Whizi決定。俄羅斯或伊朗的卡片無法完成註冊。烏克蘭、哈薩克、土耳其、印尼與印度則可以全程使用。
- 真正的卡片拒絕,來自你的銀行,透過Stripe處理,而不是來自Whizi
- 結帳時,Whizi沒有卡片遭拒的訊息,也沒有拒絕原因可以顯示給你看
- 帶有Whizi用詞的錯誤,代表這不是一次拒絕
- 登入狀態的錯誤,靠登出再登入,然後從定價頁重試就能解決
- Pricing is temporarily unavailable是伺服器端的問題:請等待,不要一直重試
- 一張卡最多可以使用四次優惠試用,超過後結帳會直接收取原價,而不是拒絕
- 已扣款但仍停留在免費方案,是不同的症狀,詳見subscription-not-active
常見問題
為什麼Whizi說我的付款失敗,但我的銀行完全沒有顯示扣款紀錄?
因為你看到的字串,是網站在還沒連上Stripe之前就發出的,所以根本沒有嘗試過扣款。快速分辨的方法:一次真正的後端拒絕,會以JSON回傳並帶有錯誤代碼,例如pricing_unavailable或invalid_plan_or_cycle,而且在網路追蹤紀錄裡會顯示一個HTTP狀態碼。瀏覽器端的字串兩者都沒有。如果你看到的內容沒有帶代碼,就代表根本沒有碰到你的銀行。
在結帳時,This card has already used its intro trials是什麼意思?
This card has already used its intro trials是什麼意思?這代表這張卡已經使用過七天優惠試用四次,達到每張卡的上限,所以這次結帳會以原價開啟這個方案,沒有試用週。這不是拒絕,也不是錯誤,而且這個次數會跟著卡片,不論用在哪個帳號上。請支付顯示的原價,或使用一張還有優惠試用次數的卡片。
我收到Pricing is temporarily unavailable.,是我的卡有問題嗎?
Pricing is temporarily unavailable.,是我的卡有問題嗎?不是。這是HTTP 503,代碼pricing_unavailable,來自負責從Stripe讀取在地化價格表的路由,而不是會用到卡片資料的結帳路由。你這邊沒有任何辦法能修好,所以請等待,不要換卡重試。如果你看到的是Failed to create Stripe checkout session.,那是另一個來源不同的字串:是結帳呼叫失敗、後端又沒有提供訊息時,網站自己顯示的備用文字。
我的優惠碼被拒絕了。為什麼?
結帳回傳的是The supplied discount must be an active 100% promotion code or coupon ID.,HTTP 400,代碼invalid_discount。結帳時的折扣欄位,只接受有效的100%優惠碼或折扣券ID,所以過期的代碼或部分折扣的代碼,在那裡都會被拒絕。如果你現在就需要使用,移除代碼後以原價結帳即可。
Whizi在結帳時拒絕了我的電子郵件。發生了什麼事?
你看到的是Temporary email addresses are not allowed. Please use a permanent email address.。結帳路由會在登入帳號的電子郵件網域,出現在臨時信箱名單上時,回傳HTTP 400,代碼disposable_email_blocked。同一個字串,在註冊時會以HTTP 403出現。在帳號上使用一個永久的信箱地址,結帳就能繼續進行。
我被重複扣款兩次。該怎麼辦?
請聯絡客服,並附上兩張Stripe收據,而不是盲目地直接取消。取消是另一個獨立的動作,有它自己的結果:對一個有效中的訂閱,取消路由會回傳Subscription cancellation scheduled for end of billing period.,所以那份訂閱,會持續運作到已經付清的這期結束為止。