概述
VibeFox Flutterwave Payment 通过 Flutterwave 的托管付款页面(Flutterwave Standard,API v3)为 OpenCart 3 和 OpenCart 4 添加 Flutterwave 付款。在结账的最后一步,顾客点击 Confirm Order,随后跳转到 Flutterwave 页面,并可使用您 Flutterwave 账户中启用的任意方式付款,例如银行卡、银行转账、USSD 或移动支付,然后返回您的商店。OpenCart 在付款前就会创建订单,但只有在 Flutterwave 确认付款后,订单才会获得状态,因此未付款的尝试会以缺失订单的形式保留。
适合尼日利亚、加纳、肯尼亚、南非、东非和法语非洲地区的商店,也适合接受国际银行卡的商店。订单始终以订单货币扣款。本扩展仅支持一次性付款。您的网站上没有内嵌或弹窗式结账,也不支持保存的银行卡、订阅、拆分付款或分期付款计划;在 Flutterwave 后台进行的退款不会同步回 OpenCart。
主要功能
托管结账:按订单金额以订单货币创建一笔付款,并按该货币的精度取整(XOF、XAF、UGX、RWF 等货币没有小数位)。您可以限制 Flutterwave 页面上显示的付款选项。
仅在 Flutterwave 确认后才标记为已付款:返回 URL 和 Webhook 的内容都不被信任。每笔付款都会由您的服务器再次从 Flutterwave 读取,只有在状态为成功且金额和货币一致时,订单才会标记为已付款。之后 OpenCart 会发送其常规订单邮件。
签名的 Webhook:仅接受带有您的密钥哈希的 Webhook。即使顾客关闭了浏览器,它们也能确认付款。
避免重复处理:重复的 Webhook 和返回不会重复应用同一笔付款。在发起新的尝试之前,会检查该订单和购物车中未完成的付款;稍后才付款的旧付款链接仍会被接受,对已付款订单的第二笔付款会被标记为需要退款。
处理待定付款方式:如果顾客返回时银行转账、USSD 或移动支付仍在待定状态,订单会保持等待状态,直到 Flutterwave 确认。
订单页面退款:在订单的 VibeFox Flutterwave Payment 选项卡中进行全额和部分退款,退款金额和货币与 Flutterwave 的收费一致,并使用付款时所在模式的密钥。
测试与正式:测试和正式环境使用不同的密钥。在正式模式中使用测试密钥,或在测试模式中使用正式密钥,会隐藏该付款方式并显示警告。
OpenCart 设置:您自己的订单状态、可选的自动完成、地区、最低订单金额和排序。可选的日志,不包含密钥或顾客数据。
系统要求
OpenCart 3.0.x(已在 3.0.5.0 上测试)或 OpenCart 4.0.2 及更高版本(已在 4.1.0.3 上测试),PHP 8.0 或更高版本。一个下载文件同时包含两个版本的软件包。一个 Flutterwave 账户,包含其密钥,并设置带有密钥哈希的 Webhook。来自 vibefox.net 的 VibeFox 许可证密钥(每个域名一个密钥)。
