VibeFox EveryPay for WooCommerce — 帮助
系统要求
WordPress:6.0 或更高版本。
WooCommerce:7.0 或更高版本,已安装并启用。
PHP:8.0 或更高版本。
EveryPay 账户:您需要店铺的 API 用户名、API secret 和处理账户名称。这些信息位于 EveryPay Merchant Portal 中您店铺的设置里:测试模式使用演示门户(mwt-demo.every-pay.com),正式付款使用正式门户(portal.every-pay.eu)。测试与正式环境的凭据相互独立。您还需要在两个门户中设置店铺的回调 URL(参见「配置」)。
商店货币:处理账户决定扣款货币,例如 EUR3D1 以 EUR 扣款。付款方式仅针对该货币的订单提供。
VibeFox 许可证密钥:在 vibefox.net 购买。一个密钥仅适用于一个域名。
安装
1. 在 WordPress 中进入 Plugins > Add New > Upload Plugin,选择插件 ZIP 文件,然后点击 Install Now。您也可以通过 FTP 将 wcp_everypay_payment 文件夹上传到 /wp-content/plugins/。
2. 点击 Activate。
3. 打开设置:WooCommerce > Settings > Payments > EveryPay > Manage,或在插件页面点击插件名称下方的 Settings。
4. 在页面顶部的许可证区块中输入您的 VibeFox 许可证密钥,然后点击 Activate。
5. 从演示 Merchant Portal 中输入测试 API 用户名、测试 API secret 和处理账户名称。保持 Test Mode 开启。
6. 将设置页面显示的回调 URL 复制到 Merchant Portal 中您店铺的 Callback notification URL。
7. 开启 Enable/Disable,并下一笔测试订单。一切正常后,输入正式凭据,在正式门户中也设置回调 URL,然后取消勾选 Test Mode。
配置
所有设置都在同一页面:WooCommerce > Settings > Payments > EveryPay。在字段上方,测试模式开启时页面会显示 Test mode is on: payments go to the EveryPay demo environment, no real money is charged.。当网关已启用,但当前模式缺少 API 用户名、API secret 或处理账户时,页面会发出警告(此时付款方式在结账时会被隐藏);当处理账户收取的货币与商店货币不同时,也会发出警告。在付款方式列表中,EveryPay 会被标记为需要设置,直到当前模式配置完成。保存时会自动删除与凭据一同粘贴的空格和换行。
常规
Enable/Disable:Enable EveryPay payment gateway 用于开启或关闭该付款方式。默认:关闭。
Title:顾客在结账时看到的付款方式名称。默认:EveryPay。
Description:结账时显示在付款方式下方的文字。默认:Pay securely by card or bank link on the EveryPay payment page.
EveryPay 账户
API 用户名、API secret 和处理账户名称显示在 EveryPay Merchant Portal(店铺设置)中:测试模式使用演示门户,正式付款使用正式门户。
Test Mode:Enable test mode 使用测试凭据将付款发送到 EveryPay 演示环境。不会收取真实费用。默认:开启。
Test API Username:演示环境的 API 用户名。
Test API Secret:演示环境的 API secret。
Live API Username:正式环境的 API 用户名。
Live API Secret:正式环境的 API secret。
Processing Account Name:EveryPay 处理账户,例如 EUR3D1。该账户决定扣款货币:网关仅对该货币的订单开放。两种模式使用相同的账户名称。
付款通知(回调)
回调会告知您的店铺某笔付款已完成,因此即使顾客关闭了浏览器,订单仍会更新。请将本节显示的 URL 复制到 EveryPay Merchant Portal 中您店铺的 Callback notification URL,演示和正式门户都要设置。URL 形如 https://your-site/wc-api/wc_evp_payment/。付款请求不携带回调 URL,因此必须在门户中设置。
回调只包含付款参考信息。收到回调后,插件会在创建付款的环境中向 EveryPay API 查询付款状态,并核对返回结果是否属于该订单。对于并非由该订单创建的付款,回调会被拒绝。如果没有回调,则在顾客付款后返回店铺时,或您在订单上执行 Check EveryPay payment status 时,订单才会被确认。
高级
Debug log:Log payment events 会将付款事件写入 WooCommerce > Status > Logs,来源为 wcp_everypay_payment。错误始终会被记录。API secret 和银行卡数据从不记录。默认:关闭。
Uninstall:Delete the gateway settings and logs when the plugin is deleted。默认:关闭。
结账
顾客选择付款方式(默认为 EveryPay)并下单。在测试模式下,结账页面会显示 TEST MODE: EveryPay demo environment, no real money is charged. 插件会根据订单总额,结合顾客的电子邮件和账单信息,创建一次性 EveryPay 付款,并将顾客带到 EveryPay 付款页面。付款页面的语言跟随网站语言(英语、爱沙尼亚语、俄语、拉脱维亚语、立陶宛语、芬兰语或德语;其他情况下为英语)。顾客在该页面使用您 EveryPay 账户已启用的付款方式之一付款。
付款后,顾客返回您的店铺。只有在 EveryPay 确认后,订单才会标记为已付款:插件会在顾客返回时和收到回调时,向 EveryPay API 查询付款状态。已付款的订单、审核中的订单或仍在处理中的付款,都会跳转到「订单已接收」页面。
如果付款失败,顾客会返回结账页面(或 Pay for order 页面),并看到消息 Your EveryPay payment was not successful. Please try again or choose another payment method. 如果顾客离开付款页面而未付款,消息为 The EveryPay payment was not completed. You can try again or choose another payment method. 每次新尝试都会创建新的 EveryPay 付款;早先的尝试同样会被记录,因此通过旧链接完成的付款依然会被识别。
如果 EveryPay 无法发起付款,顾客会看到一条简短消息,例如 EveryPay is temporarily unavailable. Please try again in a moment or choose another payment method. 详细信息记录在日志中。
该付款方式适用于经典结账、结账区块以及 Pay for order 页面,并兼容 WooCommerce 高性能订单存储(HPOS)。面向顾客的文字已翻译为爱沙尼亚语。
插件仅接受一次性付款。不支持通过 WooCommerce 退款或扣款,不支持保存银行卡或一键付款,不支持订阅或定期付款,不支持嵌入式银行卡字段,也不支持多币种。
订单
订单状态
Pending payment:顾客已被转到 EveryPay,但尚未付款,或付款仍在处理中。
Processing:EveryPay 报告付款已结算或已授权(仅包含虚拟可下载商品的订单会变为「已完成」,即 WooCommerce 的默认行为)。订单备注会显示金额、币种和付款参考号。订单的交易 ID 即为 EveryPay 付款参考号。对于已授权的付款,备注会说明资金已预留:如果您的账户不自动扣款,请在 EveryPay Merchant Portal 中扣款。之后付款结算时,会有一条备注说明此事。
On hold after payment:付款需要人工审核。付款金额或币种与订单不符、订单在付款到达前已被取消,或订单现在使用了其他付款方式。备注会说明原因,并注明订单未被标记为已付款。请在 Merchant Portal 中核对该付款,并手动完成或退款。此后针对该付款的回调不会自动完成订单。
Failed:未付款订单的最近一次付款尝试失败、被放弃或已撤销。备注会显示 EveryPay 给出的原因。顾客可以重试。
如果已付款的订单又完成了第二笔付款,订单不会被修改。备注会提醒您在 EveryPay Merchant Portal 中退还重复付款。
Check EveryPay payment status
在订单页面选择订单操作 Check EveryPay payment status。插件会通过 API 检查该订单的每一笔 EveryPay 付款,按上述方式应用结果,并添加一条备注,列出每笔付款的状态。适用于未收到回调的订单。
退款
不支持从 WooCommerce 退款。请在 EveryPay Merchant Portal 中退款,然后在 WooCommerce 中设置订单状态。当 EveryPay 报告某笔付款已退款或被拒付(chargeback)时,插件只会添加一条订单备注,不会更改订单状态。
许可证密钥
插件需要一个来自 vibefox.net 的 VibeFox 许可证密钥。许可证区块位于 WooCommerce > Settings > Payments > EveryPay 页面顶部。将密钥粘贴到 License key 中,然后点击 Activate。该区块会显示状态,例如许可证有效期截止日期以及您的域名。使用 Check now 可再次检查状态,Change key 可输入其他密钥,Remove key 可将密钥从本站点移除。Manage licenses and domains in your account 链接可打开您的 vibefox.net 账户。
一个密钥仅适用于一个域名。从站点移除密钥并不会释放其域名名额,请在您的 vibefox.net 账户中释放名额。
如果没有有效的密钥,EveryPay 不会在结账时向顾客显示。如果仍然发起了付款,顾客会看到 This payment method is not available. Please choose another one. 已登录的店铺管理员仍会看到该付款方式,并标注 (unlicensed — visible to admins only),以便您在购买密钥之前设置和测试插件。插件页面和 WooCommerce 页面上会出现提醒。现有订单不受影响:已发起的付款仍会被确认,状态检查也照常工作。
许可证到期后,插件仍可继续工作,但更新和支持需要续费。状态会在后台自动重新检查。
故障排除
EveryPay 未在结账时显示:请检查许可证是否有效、Enable/Disable 是否开启、当前模式的 API 用户名、API secret 和 Processing Account Name 是否已设置,以及商店货币(在 Pay for order 页面为订单货币)是否与处理账户的货币一致。在这些情况下,设置页面会显示警告。
付款已成功,但订单仍为 Pending payment:回调未生效。请检查设置中的回调 URL 是否已在您所用模式(演示或正式)的 Merchant Portal 中设为 Callback notification URL。您也可以打开订单并执行 Check EveryPay payment status。开启 Debug log,然后查看 WooCommerce > Status > Logs,来源为 wcp_everypay_payment。
回调返回 Unknown payment reference 或 Payment does not belong to this order:该付款并非由此订单创建,或 EveryPay 的响应与之不符。订单不会被修改。
回调返回 Not configured:创建付款的环境缺少凭据,例如在删除测试凭据后进行的测试付款。请重新输入凭据;EveryPay 会重试回调。
回调返回 Payment status unavailable 或 Busy, please retry:无法连接 EveryPay API,或订单正被另一请求同时更新。EveryPay 会重试回调。
顾客看到 EveryPay is temporarily unavailable:EveryPay 拒绝了凭据或无法连接。请检查当前模式的 API 用户名和 API secret。
顾客看到 This payment method does not support the order currency:订单货币与处理账户的货币不同。
订单处于 On hold after payment:请阅读订单备注。金额或币种不符,或订单在付款到达前已被取消。请在 Merchant Portal 中核对该付款,并手动完成或退款。
许可证区块显示错误:请按照区块中的提示操作。例如,如果密钥已在其他域名上使用,请在您的 vibefox.net 账户中释放名额,然后点击 Check now。如果站点地址已更改,请点击 Check now 为新域名激活密钥。如果无法连接许可证服务器,插件将沿用上一次已知的状态继续运行。
对于开发者,插件文档列出了过滤器 wc_evp_icon、wc_evp_locale、wc_evp_currency_decimals 和 wc_evp_oneoff_request。
卸载
停用插件会保留所有数据。若要删除,请先停用,然后在 Plugins 页面删除。本插件的许可证密钥和许可证状态始终会被删除。仅当 Uninstall(Delete the gateway settings and logs when the plugin is deleted)已开启时,网关设置和日志才会被删除;否则保留,以便日后重新安装。订单中保存的 EveryPay 付款参考号始终保留。现有订单会保留其付款备注和交易 ID。
EveryPay 是其各自所有者的商标。本插件与 EveryPay 无关联,也未获得 EveryPay 的认可。
