AumCreate

AumDigital

一套适合数字商品的 WooCommerce 结账流程:不要收货地址、已付款的订单自己完成, 以及让你可以立即交付的那份欧盟同意。

这篇是给已经装好 AumDigital 的人看的。它的全部设置都在 WooCommerce → 设置 → Digital goods —— 这个标签页是按它做的事命名的, 不是按插件名,照插件名去找会找不到。

界面是英文的,本文里的按钮名也保持英文。 AumDigital 目前没有发布简体中文语言包, 所以中文站的后台里这些名字就是英文原文。本文照原样写出来,你照着找得到; 译成中文反而会让你在界面上找不到那一项。

1. 它改什么,什么时候改

WooCommerce 是为包裹设计的。 用它卖许可证密钥、PDF、课程席位或预约,就意味着要 绕开它关于实物商品的三个前提。

AumDigital 改掉这三件事 —— 而且只在购物车里每一件都是虚拟商品的时候。 一旦加进一件实物,结账流程立刻变回 WooCommerce 自己的那一套,所有字段原样回来。 你不必在「数字店」和「混合店」之间二选一。

区块结账和短代码结账都支持。

Digital goods 标签页,三块设置都在

⚠️ AumDigital 依赖 WooCommerce。 没有它,这个插件什么都不做。

2. Skip the address(跳过地址)

WooCommerce → 设置 → Digital goods → Checkout for an all-digital cart.

设置默认
Skip the address开

拿掉结账页上的街道、地址第二行、城市、邮编、州/省。东西不往任何地方寄,就不需要 地址 —— 买家本来要白填的五个字段就此消失。

有三个字段是故意留下的:

  • 国家。 税是按它算的,而且好几家支付网关没有国家就拒绝付款。拿掉它两样都坏。
  • 姓名和邮箱。 没有这两样,订单对你毫无用处。

公司和电话由 WooCommerce 自己的设置管,这个插件不碰。

全数字购物车的结账页:只剩国家、姓名、邮箱和电话

2.1 它是怎么做到的,以及这为什么要紧

AumDigital 不是用 CSS 把字段藏起来,也没有替换结账流程。它用的是 WooCommerce 本来就有的那套机制:按国家的地址 locale —— 一个被标成 required => false, hidden => true 的字段,既不渲染也不校验。 WooCommerce 核心就是用它给阿联酋去掉邮编、给阿富汗去掉州的。

AumDigital 把同样的标记打在同样的字段上,只是把条件从「是哪个国家」换成 「购物车里有没有实物」。

实际后果有三条:两种结账方式都遵守它;校验和屏幕上看到的一致; 读取字段列表的主题或支付插件得到的是同一个答案。 用 CSS 藏的做法,这三条一条都不成立。

3. Complete paid virtual orders(已付款的虚拟订单直接完成)

WooCommerce → 设置 → Digital goods → Orders.

设置默认
Complete paid virtual orders开

WooCommerce 自己把一个已付款订单标成完成,只在每一件商品既是虚拟、又是可下载的 时候。这条规则比大多数数字店需要的窄得多。

一件虚拟但不是下载的商品 —— 你手工发的许可证密钥、一次预约、一个课程席位、一次咨询 —— 会让订单一直停在 Processing,直到有人打开它手工标记完成。 对卖这类东西的店来说,这意味着每一单都要先经过一个人,客户才收得到「订单已完成」 那封邮件。

打开这个开关之后,每一件虚拟商品都被当作「不需要处理」,于是一个已付款的全虚拟订单 直接变成 Completed。

⚠️ 只有真的收到钱的订单才受影响。 银行转账、支票、货到付款的订单仍然照常等待付款 —— 这个开关不会把一张没付钱的订单标成完成。

⚠️ 如果真的需要人做点什么,就别开 —— 手工发密钥、审核预约、核查资格。 那种情况下 Processing 正在发挥它的作用:它就是那张「还欠着活」的订单清单。

一件勾了 Virtual、没勾 Downloadable 的商品 —— 这个设置就是为它存在的

4. EU right of withdrawal(欧盟撤回权)

WooCommerce → 设置 → Digital goods → EU right of withdrawal.

设置默认
Ask for consent关
Consent wording空 —— 用内置文案

在欧盟,消费者对数字内容的购买保有 14 天撤回权 —— 除非他在交付之前明确同意 立即交付,并同意因此失去该权利。

一家立即交付、却从不索取这份同意的店,处境是:货已经交出去了,而买家在十四天内 仍然可以退。

打开 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.

(我明确要求立即交付该数字内容,并知悉一旦交付开始,我即因此失去撤回权。)

律师给了你文案、或者你需要用客户的语言写,就填自己的。填什么就原样显示什么。

结账页上的同意勾选框,在 Additional order information 那一块

⚠️ 这个插件给的是机制,不是法律意见。 你需不需要这份同意、它必须怎么写, 取决于你和你的买家各自在哪里。

5. 设置速查

分块设置默认什么时候生效
CheckoutSkip the address开购物车全是虚拟商品
OrdersComplete paid virtual orders开订单全虚拟且已付款
EU right of withdrawalAsk for consent关购物车全是数字商品
EU right of withdrawalConsent wording内置文案—

6. 遇到问题

地址字段还在。 购物车里有东西没被标成虚拟。打开那个商品,在「商品数据」面板上勾 Virtual —— 必须每一件都是,不是大部分是就行。

订单还是停在 Processing。 要么 Complete paid virtual orders 没开, 要么订单里有一件不是虚拟的。一件实物就会把整张订单打回 WooCommerce 自己的规则。

税不算了。 检查国家字段是不是还在收集。AumDigital 是故意保留它的 —— 如果它没了,那是别的东西拿掉的。

支付网关拒单。 好几家网关要求有国家。和上一条同一个答案:国家必须留着。

同意勾选框不出现。 它只在购物车全是数字商品时显示,而且要 Ask for consent 是开着的。

找不到设置。 在 WooCommerce → 设置 → Digital goods —— 这个标签页是按它做的事 命名的,不是按插件名,而且它没有自己的顶级菜单。

完全没反应。 AumDigital 依赖 WooCommerce。WooCommerce 没启用时,这个插件会 完全不插手。