WooCommerce 支付网关配置教程
支付网关是电商网站的核心组件,直接关系到交易转化率和资金安全。WooCommerce 支持多种支付方式,从国际通用的 PayPal、Stripe 到国内常用的支付宝、微信支付都有成熟的插件方案。本文将在搬瓦工 VPS 上详细介绍各种支付网关的配置方法。
一、前置准备
1.1 安装 WooCommerce
wp plugin install woocommerce --activate --allow-root
首次激活后,按照设置向导完成基本配置,包括商店地址、货币、商品类型等。
1.2 强制 HTTPS
支付页面必须使用 HTTPS。首先确保已配置 SSL 证书:
# 申请 Let's Encrypt 证书
certbot --nginx -d your-domain.com
# 在 wp-config.php 中强制使用 HTTPS
define('FORCE_SSL_ADMIN', true);
在 WooCommerce 设置中开启"强制安全结账":进入"WooCommerce > 设置 > 高级",确保"强制安全结账"已勾选。
1.3 配置 Nginx 支持 WooCommerce
# 确保 Nginx 正确处理 WooCommerce 的 URL 重写
location / {
try_files $uri $uri/ /index.php?$args;
}
# 增大上传文件大小限制(商品图片上传)
client_max_body_size 64M;
# 增加 PHP 超时时间(支付回调可能较慢)
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 300;
}
二、PayPal 支付配置
2.1 安装 PayPal 插件
WooCommerce 推荐使用官方的 PayPal Payments 插件:
wp plugin install woocommerce-paypal-payments --activate --allow-root
2.2 配置步骤
- 进入"WooCommerce > 设置 > 支付",找到 PayPal 并点击"管理"。
- 点击"连接到 PayPal"按钮,使用你的 PayPal 商家账户登录授权。
- 选择启用的支付方式:PayPal 按钮、信用卡/借记卡。
- 在"高级设置"中选择"捕获"模式(即时收款)或"授权"模式(手动确认后收款)。
测试配置:在 PayPal Developer Dashboard 中创建沙盒账户,将插件切换到沙盒模式进行测试。
三、Stripe 支付配置
3.1 安装 Stripe 插件
wp plugin install woocommerce-gateway-stripe --activate --allow-root
3.2 获取 API 密钥
在 Stripe Dashboard 中获取以下密钥:
- Publishable Key(可发布密钥):用于前端。
- Secret Key(密钥):用于后端。
- Webhook Signing Secret:用于验证 Webhook 回调。
3.3 配置 Webhook
在 Stripe Dashboard 中添加 Webhook 端点:
- 端点 URL:
https://your-domain.com/?wc-api=wc_stripe - 监听事件:选择所有 payment_intent 和 charge 相关事件。
确保 Nginx 能正确处理 Webhook 回调:
# 确保 WooCommerce API 端点可访问
location ~ ^/\?wc-api= {
try_files $uri $uri/ /index.php?$args;
}
3.4 高级配置
在 WooCommerce Stripe 设置中:
- 启用"Payment Request Buttons"支持 Apple Pay 和 Google Pay。
- 启用"Stripe Checkout"提供更流畅的支付体验。
- 选择"收集邮政编码"以减少欺诈。
- 将"Payment Capture"设为"Automatic"自动扣款。
四、支付宝和微信支付
4.1 使用 WooCommerce 支付宝插件
对于面向中国用户的电商网站,支付宝和微信支付是必不可少的支付方式:
# 安装支付宝/微信支付插件(以 WooCommerce Alipay 为例)
wp plugin install woo-alipay --activate --allow-root
配置要点:
- 需要在支付宝开放平台注册商家账号并创建应用。
- 获取应用的 APPID、应用私钥、支付宝公钥。
- 配置异步通知地址(notify_url)确保服务器可接收支付结果回调。
4.2 Nginx 配置支付回调
# 确保支付回调 URL 不被缓存
location ~* (wc-api|wc-auth) {
fastcgi_cache_bypass 1;
fastcgi_no_cache 1;
try_files $uri $uri/ /index.php?$args;
}
五、货到付款和银行转账
WooCommerce 内置了几种离线支付方式:
5.1 货到付款(COD)
进入"WooCommerce > 设置 > 支付 > 货到付款":
- 启用并设置标题和描述。
- 可以设置货到付款的运费附加费。
- 可以限制货到付款仅对特定配送方式或地区生效。
5.2 银行转账(BACS)
进入"WooCommerce > 设置 > 支付 > 直接银行转账",添加银行账户信息。客户下单后会收到包含银行账户信息的邮件,待确认转账后手动更改订单状态。
六、支付安全加固
6.1 PCI DSS 合规
处理信用卡信息需要符合 PCI DSS 标准。使用 Stripe 或 PayPal 可以将卡片信息的处理完全委托给支付服务商,你的服务器不会接触到卡片数据。
6.2 防止订单欺诈
# 安装反欺诈插件
wp plugin install woocommerce-anti-fraud --activate --allow-root
配置反欺诈规则:
- 检查账单地址和 IP 地址的地理位置是否一致。
- 设置高风险订单自动暂停审核。
- 限制同一 IP 短时间内的下单数量。
6.3 结账页面安全
// 在 functions.php 中增加结账安全措施
// 添加蜜罐字段防止机器人下单
function add_checkout_honeypot() {
echo '<div style="display:none !important">';
echo '<label for="website_url">Website</label>';
echo '<input type="text" name="website_url" id="website_url" value="" />';
echo '</div>';
}
add_action('woocommerce_after_order_notes', 'add_checkout_honeypot');
function check_checkout_honeypot() {
if (!empty($_POST['website_url'])) {
wc_add_notice('订单提交失败,请重试。', 'error');
}
}
add_action('woocommerce_checkout_process', 'check_checkout_honeypot');
七、支付测试与调试
# 查看 WooCommerce 日志
tail -f /var/www/html/wp-content/uploads/wc-logs/*.log
# 使用 WP-CLI 查看最近订单状态
wp wc order list --status=processing --allow-root --user=1
测试支付时的检查清单:
- 使用沙盒/测试模式验证支付流程。
- 验证支付成功后订单状态自动变更。
- 验证退款流程是否正常。
- 检查邮件通知是否正确发送。
- 测试不同货币和税率计算。
总结
WooCommerce 支付网关配置涉及安全、稳定性和用户体验多个方面。对于国际化电商推荐使用 Stripe + PayPal 组合,面向中国用户则加入支付宝和微信支付。在搬瓦工 VPS 上,你可以自由配置 SSL、Nginx 和 PHP 参数,确保支付流程安全稳定。配置好支付后,继续参考 WooCommerce 物流运费配置 完善电商功能。选购搬瓦工 VPS 请查看 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,通过 bwh81.net 进入官网购买。