WooCommerce一键结账?
学完这篇,你能在自己的 WooCommerce 站上判断「一键结账」到底能做到什么程度,并按步骤把最接近一键的两种方案真正跑通。
第一步:先分清「一键结账」的三种含义
WooCommerce 官方并没有一个叫「1-Click Checkout」的内置功能,市面上说的一键结账其实是三件不同的事,先对号入座,再决定装什么插件:
- 跳过购物车:商品页点「立即购买」直接进结账页,少一次点击。
- 钱包快付:Apple Pay / Google Pay / PayPal 按钮,支付信息和收货地址由钱包带过来,不用手填。
- 信息自动填充:登录用户免填地址,未登录用户靠浏览器自动补全。
只有第 2 种能叫真正的一键,第 1 种是省一步,第 3 种是省打字。访客(没登录、没钱包)在 WooCommerce 里做不到一键付款,这是技术和风控决定的,别被插件宣传误导。
第二步:开启钱包快付,这是最接近一键的方案
做完这步,你的商品页和购物车页会出现 Apple Pay / Google Pay 按钮,用户点一下、指纹确认就完成下单。
后台路径:WooCommerce → 设置 → 付款 → 找到 Stripe → 点「管理」。在 Stripe 设置页的「快速结账 / Express checkouts」区块里,把 Apple Pay 和 Google Pay 两个开关打开,按钮位置选「商品页和购物车页」,保存。
没装过 Stripe 的话,先在 插件 → 安装插件 里搜「WooCommerce Stripe Payment Gateway」安装启用,再去 Stripe 后台拿 API 密钥(测试用 pk_test_ / sk_test_ 开头的那组)填进去。
注意:Apple Pay 必须走 HTTPS,而且要在 Stripe 后台「Settings → Payment methods → Apple Pay → Configure」里验证域名。验证需要把一个域名验证文件放到网站根目录的
.well-known文件夹下,用宝塔面板的话要记得在网站设置里允许访问该目录,否则一直验证失败。
注意:WooCommerce Payments 自带的 WooPay 一键结账只支持美国、英国、加拿大、澳大利亚等少数国家/地区,中国大陆主体无法开通,不要在这上面浪费时间。
第三步:加「立即购买」按钮,跳过购物车
做完这步,商品详情页会出现一个「立即购买」按钮,点击后直接进结账页,购物车被绕过。
把下面两段代码加到当前主题的 functions.php 末尾(推荐用 Code Snippets 插件,出错了能一键停用):
// 商品页「立即购买」按钮
add_action( 'woocommerce_after_add_to_cart_button', 'wsz_buy_now_button' );
function wsz_buy_now_button() {
global $product;
$url = esc_url( add_query_arg( 'add-to-cart', $product->get_id(), wc_get_checkout_url() ) );
echo '<a href="' . $url . '" class="button alt">立即购买</a>';
}
// 加购后直接跳结账页
add_filter( 'woocommerce_add_to_cart_redirect', 'wsz_skip_cart' );
function wsz_skip_cart( $url ) {
return wc_get_checkout_url();
}
注意:这两段代码会让「加入购物车」按钮也变成跳结账,如果你的客人经常一次买多件,建议只保留第一段(按钮方案),第二段删掉。想批量购买必须保留购物车流程。
注意:可变商品(有尺码、颜色选项的)用这个按钮会报错,因为没传
variation_id。可变商品要到 产品 → 编辑 → 变体 里,改用「变体级别的加购链接」,或者干脆只对简单商品启用这个按钮。
第四步:让登录用户自动填充地址
做完这步,老客户登录后进结账页,姓名、电话、地址已经填好了,只需要点付款。
后台路径:WooCommerce → 设置 → 账户与隐私 → 勾选「允许客户在结账页面创建账户」,并保持「创建账户」复选框默认勾选。这样客户首次下单时设了密码,第二次下单地址会自动带出来。
顺带在 设置 → 账户与隐私 里确认「配送地址」的默认值没有冲突,否则自动填充出来的地址可能是错的。
第五步:真机测试一遍
做完这步,你能确认在真实设备上按钮到底出不出现。
用浏览器隐身窗口打开商品页测试「立即购买」是否直达结账。手机 Chrome 打开看 Google Pay 是否显示(需要手机已登录 Google 账号并绑过卡),iPhone 用 Safari 看 Apple Pay。
支付测试用 Stripe 测试卡号 4242 4242 4242 4242,有效期填任意未来时间,CVC 填任意三位数。测试前确认 Stripe 插件还处于「测试模式」。
注意:钱包按钮在桌面 Chrome 上经常不显示,这是正常的——Google Pay 需要浏览器已存卡信息。别以为代码写错了,拿手机测才准。
小结
- WooCommerce 没有原生一键结账,钱包快付(Apple Pay / Google Pay)是最接近的方案。
- 开启路径是 WooCommerce → 设置 → 付款 → Stripe → 管理 → 快速结账。
- 「立即购买」按钮靠
woocommerce_after_add_to_cart_button钩子,可变商品不适用。 - 跳过购物车的 redirect 钩子会影响所有加购行为,多品类店铺慎用。
- 访客做不到真正一键,靠账户体系 + 自动填充能把结账时间压到最短。
- 测试必须用手机真机 + Stripe 测试卡,桌面浏览器结果不作数。
原文链接:https://www.gj0.com/thread-832.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。