跳到主内容
版本: 1.x

Mollie Terminal 支付网关

Mollie Terminal 支付网关可让您直接在 WCPOS 中通过 Mollie Terminal 硬件接受线下付款。付款从 WooCommerce 发起,并在终端上完成,Mollie 的确认结果会写回订单。

功能

硬件集成

将付款发送至已注册到 Mollie 账户的 Mollie 终端,并接受刷卡付款

无需手动配对

实时从 Mollie 账户获取终端,只需从下拉列表中选择,无需粘贴设备 ID

可靠完成

系统会轮询 Mollie 以确认付款,终端确认后,POS 会自动跳转到收据

安全交易

由 Mollie 硬件处理的符合 PCI 标准的现场刷卡支付

支持退款

可从 WooCommerce 订单页面退款,并与 Mollie 对账,确保退款不会重复

工作原理

Mollie Terminal 使用 Mollie 的服务端 pointofsale 支付。开始支付时,WooCommerce 会为该订单创建一笔 Mollie 支付,Mollie 会将其推送至所选终端。客户在设备上完成支付,且Mollie 是支付和退款状态的唯一事实来源——本地 WooCommerce 订单元数据仅作为缓存。

支付确认方式。 支付进行期间,POS 会轮询 Mollie(默认每 2 秒一次),终端确认后会直接跳转至感谢页面。Mollie webhook 也会用于加快此流程——每笔支付都会自动设置 webhook URL,因此无需在 Mollie 控制面板中进行任何配置

终端必须已在与该插件相同的 Mollie 账户中注册并处于活动状态。

设置

1

安装适用于 WooCommerce 的 Mollie Terminal

可通过 WP Admin > POS > 设置 > 扩展 安装,或从 GitHub 发布页面 下载最新的插件 zip 资源(不是 GitHub 源代码 zip 或 tarball),然后通过 插件 > 新增 > 上传插件 上传。

2

配置 Mollie 凭据

  1. 前往 WP Admin > WooCommerce > 设置 > 支付,然后打开 Mollie Terminal
  2. 模式 设置为 Test 以模拟测试终端付款,或设置为 Live 以使用真实终端
  3. API 密钥来源 设置为复用官方 Mollie 插件中的密钥,或使用此页面输入的密钥
  4. 如果在此输入密钥,请将与所选模式匹配的测试或正式 API 密钥粘贴到 Mollie API 密钥
  5. 保存
上线前先测试

Mollie 为测试 pointofsale 付款提供模拟终端。只有在准备好将付款发送至实体终端或 iOS/Android 终端时,才使用 Live 模式。有关当前测试流程,请参阅范围与限制

无需 Profile ID

pointofsale 付款不需要 Mollie Profile ID,并且终端会在整个账户中列出,因此无需再粘贴其他内容。

3

选择终端

  1. 从下拉列表中选择一个 默认终端。列表会从所选的 Mollie 环境中获取——非活动终端会被隐藏,因为 Mollie 无法重新激活它们。
  2. *(可选)*将已启用的终端限制为实际使用的设备。即使未在此处选择,已保存的默认终端仍可使用;将此设置留空可允许所有活动终端。要停用终端,还需更改或清除默认终端
  3. *(可选)*启用锁定终端选择,以防止收银员在结账时更改终端——系统将始终使用默认终端,并且此设置也会在服务器端强制执行。
  4. 保存
4

在 WCPOS 中启用

  1. 前往 WP Admin > POS > 设置 > 结账
  2. 找到 Mollie Terminal 支付网关,并为 POS 启用它
  3. 保存设置
注意

WooCommerce 设置界面上的启用/禁用复选框仅控制在线商店结账。无论是否勾选该复选框,WCPOS 都会在此支付网关配置完成后使用它。

设置参考

设置功能说明
启用/禁用为在线商店结账启用该网关(POS 无需启用)
标题 / 描述结账时向客户显示的标签和文本
模式Test 使用 Mollie 的模拟测试终端;Live 将付款发送至真实终端
API 密钥来源使用下方输入的密钥,或复用官方 Mollie Payments for WooCommerce 插件中对应的测试/正式环境密钥。如果共享密钥不可用,插件会回退为使用下方的密钥
Mollie API 密钥所选模式的测试或正式环境 API 密钥。当 API 密钥来源 设置为此处输入的密钥时使用;在缺少共享密钥时也会作为备用密钥
默认终端结账时默认使用的终端,从所选 Mollie 环境中已启用终端的下拉列表中选择
已启用的终端将结账列表限制为所选终端。留空 = 所有已启用的终端。保存的默认终端始终可用,因此停用终端时也应更改或清除默认终端
锁定终端选择在结账时强制使用默认终端,使收银员无法更改终端(需要设置默认终端)
结账调试日志在结账付款面板中显示 显示日志复制清除 工具。除非需要收集日志以供支持人员排查,否则请保持关闭;付款活动始终记录在 WooCommerce > Status > 日志

Webhook URL 会在每笔付款时自动应用,因此无需填写 Webhook 字段,也无需在 Mollie 控制面板中进行配置。

使用

处理付款

  1. 添加商品:将商品添加到 POS 中的购物车
  2. 选择支付网关:选择“ Mollie Terminal ”作为支付方式
  3. 选择终端:从下拉列表中选择一个终端(默认为已配置的终端;如果终端选择已锁定,则会隐藏)
  4. 开始支付:点击 开始终端支付 — Mollie 会将支付请求发送到设备
  5. 客户付款:客户可在终端上轻触、插入或刷卡。状态会实时更新 — Sending to terminal…Waiting for terminal…
  6. 自动完成:终端确认后,订单会标记为已付款,POS 将自动跳转到收据

支付控制

  • 开始终端支付:向所选终端发送新的支付请求
  • 取消支付:取消仍处于待处理状态的支付。支付请求到达终端后,Mollie 会将其报告为无法再取消,收银员需要在设备上自行取消

订单管理

  • 已验证的完成状态:每次 webhook、轮询、取消和重试都会在更改订单前获取 Mollie 的权威状态,因此只有在 Mollie 确认后,订单才会标记为已付款
  • 支付跟踪:支付尝试会作为仅追加的历史记录保存在订单中
  • 收据生成:成功付款后会生成标准 POS 收据

退款

支持退款。在常规 WooCommerce 订单页面中退款后,退款会发送至 Mollie。由于 Mollie 是唯一事实来源,退款重试会在创建另一笔退款之前,根据 Mollie 的退款 ID 和元数据进行核对,因此不会意外重复退款。

过期付款清理

如果结账流程被放弃,Mollie pointofsale 付款可能会在 Mollie 端保持为“open”状态。插件会在以下情况下自动取消这些未完成付款:

  • 自动轮询超时(默认 5 分钟)时:会发送取消请求,不会遗留该笔付款
  • 订单使用其他付款方式完成(例如客户改为现金付款),或订单在 WooCommerce 中被取消
  • 付款过程中关闭结账页面:标签页关闭时会尽力发送取消请求
  • WP-Cron 每 10 分钟执行一次扫描,取消或处理超过过期阈值(默认 10 分钟)仍处于未完成状态的付款,包括浏览器关闭或网络中断,导致其他清理路径尚未来得及运行的情况

如果付款已发送至终端,Mollie 会将其报告为无法取消,收银员需在设备上自行取消;在这种情况下,这些清理操作可安全地不执行任何操作。

要求

Mollie 账户: 具有所选模式 API 密钥的有效 Mollie 账户
兼容硬件: 用于实际付款的有效 Mollie Terminal;用于测试的 Mollie 模拟测试终端
货币: EUR — POS 终端付款目前仅限 EUR
WCPOS: POS 结账需要 Pro 版本
稳定连接: 用于 API 通信的可靠互联网连接

适用范围和限制

测试模式

Mollie 支持无需实体终端的测试 pointofsale 付款。在 Mollie 配置文件中启用销售点功能以创建其测试终端,然后将此支付网关设为 Test, 使用相应的测试 API 密钥,并选择该终端。Mollie 会返回一个用于选择模拟结果的 changePaymentState URL。

该插件可以创建并轮询测试付款,但其结账面板目前不会显示该 URL。在浏览器开发者工具中,找到 mtfwc_start_payment 网络响应,并打开 _links.changePaymentState.href 以设置结果,然后让 POS 轮询并对账。请参阅 Mollie 的销售点测试指南。实体终端或 iOS/Android 终端请使用 Live 模式。

货币

在确认 Mollie Terminal 支持更多货币之前,POS 终端付款仅限使用 EUR

故障排除

常见问题

下拉列表中未显示终端
  • 确认 模式 与实际使用的 API 密钥属于同一 Mollie 环境
  • 在测试模式下,请在 Mollie 个人资料中启用销售点,以便 Mollie 创建模拟测试终端
  • 在实时模式下,确认终端已注册到 Mollie 帐户且处于活跃状态;非活跃终端会被隐藏,因为 Mollie 无法重新激活它们
  • 确保站点可以连接到 Mollie:该列表通过 API 实时获取
付款无法开始
  • 确认已选择终端(或者在锁定选择时已设置 默认终端
  • 确认终端已开机、在线,并且在同一个 Mollie 账户中处于活动状态
  • 确认订单币种为 EUR
终端超时,或付款一直处于未完成状态
  • 插件会在超时时尝试自动取消未完成的付款(默认 5 分钟)
  • 如果付款已发送到终端且无法自动取消,请在设备上取消
  • 然后可以发起一笔新的付款,或使用其他方式收款
终端上已完成订单,但更新较慢
  • POS 每 2 秒轮询一次 Mollie,并在付款确认后跳转;webhook 通常会先确认付款
  • 由于 Mollie 是唯一可信来源,订单会根据 Mollie 的权威状态进行对账,并未丢失
  • 检查 WooCommerce > Status > 日志 中是否有任何 Mollie API 消息

获取帮助

如需技术支持:

屏幕截图

将在未来更新中添加屏幕截图,以展示:

  • Mollie Terminal 设置界面——API 密钥、默认终端和已启用的终端
  • 在 WCPOS 设置中启用支付网关
  • POS 结账中的付款处理流程