AumCreate

AumDigital

一套適合數位商品的 WooCommerce 結帳流程:不要收件地址、付款後的訂單自己完成, 以及讓商品能立即交付的歐盟同意條款。

本手冊寫給已經安裝好 AumDigital 的人。它的全部設定都在 WooCommerce → Settings → Digital goods —— 這個標籤以它做的事命名,而不是以外掛命名。

AumDigital 的後台在任何網站上都是英文的。 目前尚未發布任何介面翻譯, 因此無論 WordPress 設定成哪一種語言,看到的都是此處引用的這些英文標籤。

1. 它改了什麼,以及什麼時候改

WooCommerce 是為包裹設計的。用它販售授權碼、PDF、課程名額或預約, 意味著要繞開它對實體商品所做的三個假設。

AumDigital 改掉那三件事 —— 而且只在購物車裡每一件商品都是虛擬商品時才改。 一旦加入一件實體商品,結帳流程立刻變回 WooCommerce 自己的那一套,每個欄位都回到原位。 不必在「數位商店」和「混合商店」之間二選一。

區塊結帳與短代碼結帳兩種它都支援。

The Digital goods tab, with all three sections

AumDigital 需要 WooCommerce。 它本身不做任何事。

2. 略過地址

WooCommerce → Settings → Digital goods → Checkout for an all-digital cart。

設定預設
Skip the address開

從結帳流程中移除街道、地址第二行、城市、郵遞區號與州別。沒有東西要寄出, 所以不需要地址;買家原本得無謂填寫的五個欄位就此消失。

有三個欄位是刻意保留的:

  • Country。 稅金依它計算,而且好幾個金流在沒有國別時會拒絕付款。移除它兩邊都會壞。
  • Name 與 email。 一筆沒有這兩樣的訂單毫無用處。

公司與電話由 WooCommerce 自己的設定決定,本外掛不碰。

Checkout for an all-digital cart: country, name, email and phone only

2.1 它是怎麼做到的,以及為什麼這件事要緊

AumDigital 不是用 CSS 把欄位藏起來,也不是整套取代結帳流程。 它用的是 WooCommerce 本來就有的機制:各國的地址格式設定(address locale)—— 一個被標記為 required => false, hidden => true 的欄位,既不會被渲染、也不會被驗證。 WordPress 核心正是用它來為阿拉伯聯合大公國去掉郵遞區號、為阿富汗去掉州別。

AumDigital 對同一批欄位套用同樣的標記,只是把條件從「是哪個國家」 換成「購物車裡有沒有實體商品」。

實際的結果是:兩種結帳流程都會遵守它,驗證與畫面上看到的一致, 而讀取欄位清單的佈景主題或金流外掛會得到一個前後一致的答案。 用 CSS 的做法這三點全都做不到。

3. 讓已付款的虛擬訂單自己完成

WooCommerce → Settings → Digital goods → Orders。

設定預設
Complete paid virtual orders開

WooCommerce 只有在每一件商品同時是虛擬且可下載時,才會自己把已付款的訂單標為完成。 那條規則比多數數位商店所需要的窄得多。

一件虛擬但不是下載檔的商品 —— 自行核發的授權碼、一筆預約、一個課程名額、一次諮詢 —— 會讓訂單一直停在 Processing,直到有人打開它、手動標為 Completed。 對販售這類商品的商店來說,這表示每一筆訂單都要先經過一個人, 客戶才收得到「訂單已完成」那封信。

開啟這一項之後,每一件虛擬商品都被視為不需要處理, 因此一筆全部為虛擬商品的已付款訂單會直接進入 Completed。

只有真的收到錢的訂單會受影響。 銀行轉帳、支票與貨到付款的訂單照舊等待付款 —— 這項設定不會把一筆未付款的訂單標成完成。

如果真的有人需要做點什麼,就把它關著 —— 手動核發授權碼、核准一筆預約、確認資格。 那種情況下 Processing 正在做它該做的事:它就是「還欠著人工」的那張清單。

A product marked Virtual but not Downloadable — the case this setting exists for

4. 歐盟撤回權

WooCommerce → Settings → Digital goods → EU right of withdrawal。

設定預設
Ask for consent關
Consent wording空白 —— 使用內建條款

在歐盟,消費者對數位內容的購買保有十四天的撤回權, 除非他們在交付之前明確同意立即交付,並同意因此失去該項權利。

一家立即交付、卻從不索取這項同意的商店,等於交付了買家在十四天內仍可退回的商品。

開啟 Ask for consent 會在結帳的 Additional order information 之下 加入一個必填的勾選框,且僅在購物車全部為數位商品時顯示。不勾選就無法下單。

4.1 會記下什麼

同意會被寫在訂單本身上,連同給出同意的時間,並出現在:

  • 後台的訂單畫面上,顯示為 Withdrawal right waived: Yes, at …
  • 訂單郵件中,顯示為一列 Withdrawal right waived

那筆記錄才是這個功能的意義所在。 勾選框是買家當下同意的動作; 而訂單上那個時間戳,是幾個月之後仍然握有的東西。

4.2 條款文字

把 Consent wording 留空,AumDigital 會使用它自己的:

I expressly request that the digital content be delivered immediately, and I acknowledge that I thereby lose my right of withdrawal once delivery has begun.

(我明確要求立即交付該數位內容,並知悉一旦交付開始,我即因此失去撤回權。)

若您的律師給了您一份,或您需要用客戶的語言呈現,就自己寫一份。 這段文字會原樣顯示,一字不改。

The consent checkbox at checkout, under Additional order information

本外掛提供的是機制,不是法律意見。 您需不需要這項同意、它必須寫些什麼, 取決於賣家和買家各自身在何處。

5. 設定對照表

區段設定預設何時生效
CheckoutSkip the address開購物車全部為虛擬商品
OrdersComplete paid virtual orders開訂單全部為虛擬商品且已付款
EU right of withdrawalAsk for consent關購物車全部為數位商品
EU right of withdrawalConsent wording內建條款—

6. 疑難排解

地址欄位還在。 購物車裡有東西沒有被標記為虛擬商品。打開該商品, 在 Product data 面板上勾選 Virtual —— 每一件都要是虛擬,不是大部分是就行。

訂單還是停在 Processing。 要麼是 Complete paid virtual orders 關著, 要麼是訂單裡有一件不是虛擬商品。一件實體商品就會讓整筆訂單退回 WooCommerce 自己的規則。

稅金不再計算了。 請確認國別欄位仍在收集。AumDigital 是刻意保留它的 —— 若它不見了,是別的東西把它移除的。

某個金流拒絕了這筆訂單。 好幾個金流需要國別。答案同上:國別必須保留。

同意勾選框沒有出現。 它只在購物車全部為數位商品、且 Ask for consent 開著時顯示。

我找不到設定。 它們在 WooCommerce → Settings → Digital goods 底下, 不是一個獨立的頂層選單。

完全沒有作用。 AumDigital 需要 WooCommerce。WooCommerce 未啟用時, 這個外掛會完全不介入。