WooCommerce 中的 PayPal Standard 使用指南(完整配置 + 常见问题)

WooCommerce 官方建议所有仍在使用 PayPal Standard 的用户切换到推荐的 PayPal Payments 插件,它具备完整支付功能,支持信用卡、PayPal 快速结账、订阅、分期付款等。

使用条件

拥有 PayPal 商业账户
登录 paypal.com,注册商业账户或升级现有个人账户

注册 PayPal Standard 商业账户

设置与配置

进入后台:WooCommerce > 设置 > 支付

启用 PayPal

点击“设置”进入 PayPal Standard 页面

基础设置

PayPal 邮箱字段必须填写与你商业账户一致的主邮箱地址沙盒模式:用于开发测试,不会产生真实支付(需使用 PayPal 沙盒账户)

日志调试功能:用于排查问题,需手动创建 wc-logs 文件夹并赋予写权限,路径:WooCommerce > 系统状态 > 日志

IPN 邮件通知(可选):PayPal 在付款、退款、拒付或取消时发送通知

接收邮箱:填写 PayPal 主邮箱地址

身份令牌(PDT):可选,在 IPN 异常时用于验证支付数据

发票前缀:适用于多店铺识别订单(例如:STORE1-)

配送信息设置:是否发送配送信息至 PayPal,用于创建运单

地址覆盖选项:PayPal 会对地址做校验,建议保持关闭

若未启用配送信息发送,PayPal 卖家保护可能无效

Payment Action(付款动作)

Capture:自动收款

Authorize:仅授权,在订单状态为处理中或已完成时自动收款(WooCommerce 3.0 起无需手动操作)

页面样式与图片设置(可选)

页面样式名称:PayPal 中设定的自定义页面样式名

图片链接:PayPal 结账页中展示的 150×50 图片

API 凭证

需填写以下三项:

API 用户名

API 密码

API 签名

获取方式:

登录 PayPal

齿轮图标 > 账户设置 > API 访问权限

选择 NVP/SOAP API 集成(经典)> 管理 API 凭证

申请签名,并复制所需内容填入 WooCommerce 设置中

PayPal 后台补充设置

IPN(即时支付通知)地址

登录 PayPal

设置 > 通知 > 即时支付通知

点击“选择 IPN 设置”,填写如下地址(替换 example.com): https://example.com/?wc-api=WC_Gateway_Paypal

勾选接收消息并保存

多个站点可共用一个 PayPal 账户,每笔交易传入 notify_url 参数即可使用不同 IPN 地址。

自动跳转(Auto Return)

登录 PayPal

设置 > 网站支付 > 网站偏好设置

启用自动跳转,并填写如下地址: https://example.com/checkout/order-received/

附加参数 ?utm_nooverride=1 可用于追踪原始来源信息

使用 PayPal 沙盒进行测试

在配置和完善网站的结账和支付流程时,你可以选择使用 PayPal 沙盒详细信息,以便随心所欲地进行交易。为此

注册一个PayPal 开发者账户

注册并登录后,从菜单中选择测试工具»沙盒帐户。

点击创建帐户(2)。

指定帐户类型国家/地区以满足你的要求。

注意:国家/地区将决定你的沙盒帐户的货币,该货币应与你网站的货币相匹配,以避免订单被设置为待付款

创建后,你将看到该帐户现在在帐户名称列中列出了一个电子邮件地址,你可以在网站的 PayPal 标准设置页面上使用该电子邮件地址进行电子邮件 ID设置。

接下来,点击管理账户列中新添加账户旁边的点菜单,选择查看/编辑账户(3)即可显示沙盒账户的详细信息。在打开的页面的NVP/SOAP 沙盒 API 凭据部分下,你会注意到你的沙盒帐户的 API 凭据与你网站设置页面底部的设置相同。

注意:沙盒电子邮件 ID应用于你网站上的PayPal 电子邮件接收方电子邮件字段,可在WooCommerce > 设置 > 付款 > PayPal下找到

如果使用现有的 PayPal 电子邮件地址,订单状态将显示“暂停”,订单备注将显示“待付款(单方面)。订单状态已从“待付款”更改为“暂停”

在这两个字段中输入你的沙盒电子邮件 ID

在API Credentials下,复制 API 凭证信息(用户名、密码和签名)。

你需要将它们粘贴到 WooCommerce 上 PayPal 标准设置的相应字段中。

在 PayPal Sandbox 上查看测试交易

要查看启用了 PayPal 沙盒模式的 WooCommerce 商店收到的交易,你需要登录 PayPal 沙盒网站:https://www.sandbox.paypal.com/

登录后,你可以单击“活动”选项卡来查看 WooCommerce 商店的所有交易:

常见问题解答

SSL 是否必要?

虽然支付在 PayPal 网站完成,但建议使用 SSL,能提升网站信任度并改善搜索排名

是否收费?

WooCommerce 免费提供 PayPal Standard 插件。PayPal 本身会根据账户和交易量收取手续费

为什么订单为 Pending?

顾客在跳转至 PayPal 后未完成支付,订单会保持为 Pending 状态,系统将在设定时间后取消订单

支付已完成但订单未更新?

通常是 IPN 回调失败:

检查 IPN 设置是否正确

沙盒模式是否混用正式邮箱

邮箱地址是否一致

服务器是否支持 fsockopen

防火墙是否允许 443 出站

插件(如缓存类插件)是否造成拦截

Internal Server Error?

通常由于填写了错误的邮箱地址

多站点使用同一 PayPal 账户报错?

WooCommerce 使用“发票”系统。其中有一个“阻止重复发票”的设置。如果两个网站都使用发票,那么不可避免地会出现重复的发票号码。在 PayPal 中取消选择该设置后,发票就不会出现问题了。请检查 WooCommerce PayPal 设置中每个网站的发票前缀是否不同。

或者,要禁用重复发票检查,请登录您的 PayPal 帐户并转到“个人资料”>“个人资料和设置”>“我的销售偏好”>“阻止付款”(或)“付款接收偏好”,然后将“ 阻止意外付款”设置为 ”。

客户是否需要 PayPal 账户?

不需要。开启 PayPal 后台“可选账户”功能,客户可直接使用信用卡付款

卖家保护是否生效?

仅在使用配送地址时有效。若使用账单地址,PayPal 不支持保护

报错 “Seller only accepts payments from unencrypted payments”?

表示按钮未加密而 PayPal 设置只接受加密按钮:

登录 PayPal

设置 > 网站支付偏好

关闭“加密网站支付”选项,保存设置

报错 “This invoice has already been paid”?

订单号重复导致。添加唯一发票前缀即可解决

无法使用订阅功能?

需:

配置 API 凭证

设置 IPN 地址

启用订阅支持勾选项

IPN 故障调试

在 WooCommerce > 设置 > 产品 > 库存 中,将“保留库存时间”留空,避免订单自动取消

登录 PayPal 查看 IPN 历史:查看 IPN 状态

本地测试无效?

如使用 MAMP 等本地环境,PayPal 无法访问站点,需部署至公网服务器进行测试

检查服务器是否支持 fsockopen

fsockopen 是 WooCommerce 与 PayPal 通信的重要函数,可在 WooCommerce > 系统状态 中查看

防火墙设置

确保服务器开放 443 出站端口

启用日志调试

设置中开启调试日志,查看响应是否正常返回,如无响应,尝试关闭其他插件测试

邮箱校验

PayPal 设置的邮箱需与 IPN 返回邮箱一致,并设置为主邮箱,否则会导致订单状态不更新

报错 “Payment pending (unilateral)”?

表示收款邮箱未注册为 PayPal 账户或未完成验证。将该邮箱添加到账户并完成验证即可解决

W3 Total Cache 插件冲突?

若订单状态未自动更新,可尝试暂时禁用该缓存插件

沙盒支付币种不一致?

沙盒账户币种与站点不一致时:

PayPal 显示为未认领(Unclaimed)

WooCommerce 显示为 On Hold

手动接受付款后状态恢复正常。建议创建币种一致的沙盒账号

无法显示下载链接?

通常由于 IPN 回调未成功。可启用 PDT 补充验证:

登录 PayPal 后台 > 网站设置

启用 PDT,获取身份令牌

粘贴到 WooCommerce > 设置 > 结账 > PayPal 的相应字段中

若仍无法解决,建议联系主机提供商确认是否有缓存、防火墙或其他安全设置阻止了 PayPal 请求。

总结

通过本文的介绍,相信你已经对 PayPal Standard 在 WooCommerce 中的完整设置流程、调试方法以及常见问题有了清晰了解。尽管 WooCommerce 已将其隐藏于新版本中,但对于仍在使用的站点来说,它依然是一个稳定的支付方式。

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注