概述
VibeFox Flutterwave Payment 通过 Flutterwave 托管结账页面(Flutterwave Standard,API v3)为 PrestaShop 添加 Flutterwave 付款功能。在付款步骤中,顾客选择 Flutterwave,随后跳转到 Flutterwave 页面,使用您 Flutterwave 账户中已启用的任意方式付款,例如银行卡、银行转账、USSD 或移动支付,然后返回您的店铺。订单仅在 Flutterwave 确认付款后才会创建,因此中途放弃的付款不会留下未付款订单。
本模块适合尼日利亚、加纳、肯尼亚、南非、东非和非洲法语地区的店铺,以及接受国际银行卡的店铺。购物车始终按购物车币种扣款。本模块仅接受一次性付款。不支持在您的网站内嵌入结账表单或使用弹窗结账,也不支持保存银行卡、订阅、拆分付款或付款计划;在 Flutterwave 控制面板中进行的退款不会同步回 PrestaShop。
主要功能
托管结账:按购物车币种创建购物车总额的付款,并按该币种的小数位精度四舍五入(XOF、XAF、UGX、RWF 等没有小数位)。您可以限制 Flutterwave 页面上显示的付款选项。
仅在 Flutterwave 确认后才标记为已付款:不直接信任返回 URL 或 Webhook 正文。您的服务器会从 Flutterwave 重新读取每笔付款;只有付款参考编号属于该购物车、状态为成功且金额和币种一致时,才会将订单标记为已付款。
签名 Webhook:仅接受带有您所设秘密哈希值的 Webhook。即使顾客关闭浏览器,它们也能确认付款。
避免重复处理:重复的 Webhook 和返回操作绝不会创建第二个订单,也不会重复记录付款。较早创建、后来才付款的付款链接仍会被接受;已付款订单收到的第二笔付款会被标记为需要退款。
处理待确认付款方式:银行转账、USSD 和移动支付在 Flutterwave 确认前,会使订单保持在 Awaiting Flutterwave payment 状态。
在订单页面退款:在订单的 Flutterwave payment 区块中进行全额或部分退款,退款金额和币种与 Flutterwave 实际扣款一致,并使用付款时所处模式的密钥。
测试和正式模式:使用独立的秘密密钥。在正式模式中填入测试密钥,或在测试模式中填入正式密钥,都会隐藏付款方式并显示警告。
订单页面上的 Flutterwave 区块:参考编号、交易、模式、退款记录以及订单的 Flutterwave 备注。可选日志,不包含密钥或顾客数据。
系统要求
PrestaShop 8.0 至 9.x,PHP 8.0 或更高版本。需要 Flutterwave 账户及其秘密密钥,以及设置了秘密哈希值的 Webhook。还需要来自 vibefox.net 的 VibeFox 许可证密钥(每个密钥对应一个域名)。
