返回

VibeFox Nets Nexi for WooCommerce — 帮助

系统要求

WordPress:6.0 或更高版本。

WooCommerce:7.0 或更高版本,已安装并启用。没有 WooCommerce,插件无法激活。

PHP:8.0 或更高版本。

Nets 账户:您需要 Nets Easy 账户的秘密密钥(测试和正式)。仅使用秘密密钥。无需结账密钥,因为顾客在 Nets 托管的付款页面上付款。

货币和付款方式:插件不限制货币或国家。请使用 Nets 账户中已启用的货币;不受支持的货币会在创建付款时由 Nets 报告。顾客能看到哪些付款方式取决于您的 Nets 合同、国家和货币。

Webhook 需要 HTTPS:Nets 只会调用长度不超过 256 个字符且不包含“&”的公开 HTTPS 地址,因此您的网站需要 HTTPS 和固定链接才能接收 Webhook。在其他网站上,顾客返回店铺时或通过订单操作仍会确认付款。

VibeFox 许可证密钥:在 vibefox.net 购买。一个密钥只能用于一个域名。

安装

1. 在 WordPress 中进入 Plugins > Add New > Upload Plugin,选择插件 ZIP 文件并点击 Install Now。您也可以通过 FTP 将 wcp_nets_nexi_gateway 文件夹上传到 /wp-content/plugins/。

2. 点击 Activate。

3. 打开设置:WooCommerce > Settings > Payments > Nets Nexi (Nordics) > Manage,或在插件页面中点击插件名称下方的 Settings。

4. 在页面顶部的许可证区块中输入您的 VibeFox 许可证密钥,然后点击 Activate。

5. 从 Nets Easy 测试门户复制测试秘密密钥,并粘贴到 Test Secret Key 中(参见配置)。

6. 开启 Enable/Disable,保持 Test Mode 开启并下一笔测试订单。然后输入正式秘密密钥,并取消勾选 Test Mode。

配置

所有设置都位于同一页面:WooCommerce > Settings > Payments > Nets Nexi (Nordics)。在字段上方,如果所选模式缺少秘密密钥,页面会发出警告(此时该付款方式会在结账时隐藏),并在测试模式开启时显示 Nets Nexi is in test mode: payments go to the Nets test environment and no real money is charged.。在付款方式列表中,在所选模式具有秘密密钥之前,Nets Nexi 会被标记为需要设置。

常规

Enable/Disable:Enable Nets Nexi Gateway 用于开启或关闭该付款方式。默认:关闭。

Title:结账时向顾客显示的付款方式标题。默认:Nets Easy。

Description:结账时向顾客显示的付款方式描述。默认:Pay securely with Nets Easy。

API 密钥

从 Nets Easy 门户的 Company > Integration 中复制秘密密钥:测试密钥来自测试门户(test.portal.dibspayment.eu),正式密钥来自正式门户(portal.dibspayment.eu)。无需结账密钥。

Test Mode:Enable test mode。测试模式使用 test.api.dibspayment.eu 和测试秘密密钥;正式模式使用 api.dibspayment.eu 和正式秘密密钥。订单的退款和扣款始终使用订单付款时所在的环境。默认:开启。

Test Secret Key:您的 Nets 测试环境秘密 API 密钥。

Live Secret Key:您的 Nets 正式环境秘密 API 密钥。

付款

Nets 通知(Webhook)会在每次付款时自动注册,无需在 Nets 门户中进行任何配置。本部分显示 Webhook URL,格式类似 https://your-site/wc-api/nng_nets_nexi/。如果该 URL 不是公开的 HTTPS 地址,本部分会提示您网站无法接收 Webhook;此时付款将在顾客返回店铺时或通过订单操作 Nets: check payment status and capture 得到确认。系统会注册以下事件:

payment.checkout.completed:顾客已在 Nets 页面完成付款。
payment.charge.created.v2:付款已扣款,包括在 Nets 门户中扣款的情况。
payment.cancel.created:预授权已取消。

每个 Webhook 都必须携带插件为该订单生成的随机秘密值。没有正确秘密值的 Webhook 会被拒绝。Webhook 只会告诉插件哪笔付款发生了变化:付款本身始终使用您的秘密密钥从 Nets API 读取。

Order Status After Payment:Nets 确认并扣款后订单的状态。状态会立即设置,因此顾客只会收到一封邮件。

Processing:WooCommerce 默认值(默认)。虚拟可下载订单会自动完成。
Completed:每个已付款订单都会变为 Completed。

高级

Debug log:Enable debug logging 会将 API 调用和付款状态变化记录到 WooCommerce > Status > Logs,来源为 wcp_nets_nexi_gateway。错误始终会被记录。密钥和顾客数据不会被记录。默认:关闭。

Delete Data on Uninstall:Delete the plugin settings and logs when the plugin is deleted。停用插件不会删除任何内容。订单上保存的付款数据始终会保留。默认:关闭。

结账

顾客选择付款方式(默认为 Nets Easy)并下单。插件会以订单货币创建包含订单商品、运费和费用的 Nets 付款,并将顾客引导至 Nets 托管的付款页面。Nets 接受顾客的邮箱、姓名、地址和电话格式时,这些信息会传递给 Nets;您的条款页面会在 Nets 页面中链接显示。在测试模式下,结账会显示 Test mode: no real money will be charged.

顾客完成付款后返回您店铺的订单接收页面。只有在 Nets 确认后,订单才会被标记为已付款:插件从 Nets API 读取付款信息,将保留的金额和货币与订单进行比对,扣除预授权,然后才完成订单。这一过程通过 Webhook、顾客返回订单接收页面,或订单操作 Nets: check payment status and capture 完成。

如果顾客在 Nets 页面取消,会回到结账页或 Pay for order 页面,并显示 The Nets payment was cancelled. You can try again or choose another payment method.。顾客可以重新支付未付款的订单。插件会先检查之前的付款;如果已付款,则确认订单。否则,在开始新的付款之前会关闭之前的 Nets 会话。如果某笔订单付款被留待您审核,顾客会看到 A payment for this order is already being reviewed by the shop. Please contact us instead of paying again.

如果 Nets 无法启动付款,顾客会看到简短提示,例如 Nets could not start the payment with the details of this order. Please check your address and phone number, or choose another payment method. 或 The payment service could not be reached. Please try again in a moment. 详细信息会写入日志。

该付款方式适用于经典结账、结账区块和 Pay for order 页面。它与 WooCommerce High-Performance Order Storage(HPOS)兼容。

插件仅使用托管付款页面。本插件不提供页面内嵌的 Nets 结账、订阅或定期付款、保存银行卡、发票费用、仅授权模式或按发货分次扣款。

订单和退款

订单状态

Pending payment:顾客已被转到 Nets,但尚未付款。订单备注会显示 Nets 付款 ID、金额和环境。

Processing or Completed:Nets 已确认并扣款。状态遵循 Order Status After Payment。订单备注会显示付款 ID、扣款 ID 和付款方式。交易 ID 即为 Nets 付款 ID。

On hold:Nets 中的金额或货币与订单不符(未扣款)、扣款被拒绝,或顾客在订单取消后付款(已预留,未扣款)。订单备注会说明原因。检查订单后,请使用订单操作 Nets: check payment status and capture 进行扣款,或在 Nets 门户中取消预留。

Cancelled:订单最近一笔付款的预留已被取消,例如在 Nets 门户中取消。

重复的 Webhook 和刷新页面不会重复扣款,也不会添加重复的备注、库存扣减或邮件;已付款、已退款或在付款后被取消的订单不会被重新打开。如果一个旧的付款链接针对已付款的订单完成,第二笔预留会被自动释放;如果已经扣款,备注会提示您在 Nets 门户中退款。

订单操作

对于有 Nets 付款的未付款订单,订单操作列表中包含 Nets: check payment status and capture。它会从 Nets 读取付款信息,并对匹配的预留进行扣款。如果没有任何变化,备注会说明原因,例如顾客尚未完成付款。

退款

打开订单,点击 Refund,输入金额,然后点击 Refund via Nets Easy(该按钮使用付款方式标题)。付款扣款后支持全额和部分退款;仅预留的付款可在 Nets 门户中取消。退款将针对订单在付款所在环境中的扣款进行。如果 Nets 不接受退款,WooCommerce 会显示错误,且不会记录任何退款。成功的退款会连同 Nets 退款 ID 添加到订单备注中。

直接在 Nets 门户中进行的退款不会转换为 WooCommerce 退款。如有需要,请在 WooCommerce 中创建手动退款,且不要使用 Refund via Nets Easy。

许可证密钥

插件需要一个来自 vibefox.net 的 VibeFox 许可证密钥。许可证区块位于 WooCommerce > Settings > Payments > Nets Nexi (Nordics) 的顶部。将密钥粘贴到 License key 中并点击 Activate。该区块会显示状态,例如许可证的有效截止日期和您的域名。使用 Check now 重新检查状态,使用 Change key 输入其他密钥,使用 Remove key 将其从本站点移除。链接 Manage licenses and domains in your account 会打开您的 vibefox.net 账户。

一个密钥只能用于一个域名。从站点移除密钥不会释放该域名的名额。请在您的 vibefox.net 账户中释放名额。

没有有效密钥时,Nets Nexi 不会在结账时向顾客显示。如果仍然开始付款,顾客会看到 This payment method is not available. Please choose another one. 已登录的店铺管理员仍会看到该付款方式,并标有 (unlicensed — visible to admins only),以便您在购买密钥之前设置和测试插件。插件页面和 WooCommerce 页面会显示提醒。现有订单不受影响:已开始的付款仍会被确认,退款也可以正常使用。

许可证到期后,插件会继续运行,但更新和支持需要续费。状态会在后台自动重新检查。

故障排除

结账时未显示 Nets Nexi:请检查许可证是否有效,Enable/Disable 是否开启,以及所选模式是否具有秘密密钥:测试模式下为 Test Secret Key,正式模式下为 Live Secret Key。缺少密钥时设置页面会显示警告。

付款已完成,但订单仍处于 Pending payment:Webhook 未到达您的店铺。请检查网站是否使用 HTTPS 和固定链接,确保 Payment 部分中的 Webhook URL 是不含“&”的公开 HTTPS 地址,并且已设置付款所在环境的秘密密钥。然后使用订单操作 Nets: check payment status and capture。顾客返回订单接收页面时,订单也会被确认。

Webhook answers Unauthorized:Webhook 未携带该订单的秘密值。只有携带付款时注册的秘密值的 Webhook 才会被接受。

Webhook answers Busy, retry later, Payment lookup failed 或 Payment not reserved yet:另一个请求正在更新订单、无法访问 Nets API,或者预留尚未可见。Nets 会自动重试 Webhook。

顾客下单时看到错误:开启 Debug log 并查看 WooCommerce > Status > Logs,来源为 wcp_nets_nexi_gateway。This payment method is temporarily unavailable. Please choose another payment method. 通常表示秘密密钥错误或缺失。被拒绝的货币会由 Nets 记录在日志中。

Order is On hold after payment:请阅读订单备注。如果扣款被拒绝,请使用订单操作 Nets: check payment status and capture 重试,或在 Nets 门户中扣款。如果金额或货币不一致,请在 Nets 门户中检查该付款。如果顾客在取消后付款,请检查订单,并扣款或取消预留。

Refund via Nets Easy 缺失或失败:只有在付款扣款之后才能退款。请在订单备注中检查是否已扣款。退款会使用订单付款所在环境的秘密密钥,因此该密钥必须已设置。

The license block shows an error:请按照许可证区块中的提示操作。例如,如果该密钥已在其他域名上使用,请在您的 vibefox.net 账户中释放一个名额,然后点击 Check now。如果站点地址已更改,请点击 Check now 为新域名激活该密钥。如果无法连接许可证服务器,插件将继续使用最后一次已知的状态运行。

卸载

停用插件会保留所有数据。要删除它,请先停用,然后在 Plugins 页面中删除。本插件的许可证密钥和许可证状态始终会被删除。只有在开启了 Delete Data on Uninstall 的情况下,网关设置和日志才会被删除。否则它们会保留,以便以后重新安装时使用。现有订单会保留其付款备注和交易 ID。

Nets、Nets Easy 和 Nexi 是其各自所有者的商标。本插件与 Nets 或 Nexi 没有关联,也未获得其认可。