概述
VibeFox PayFast Pay Gateway 为 PrestaShop 添加 PayFast,用于以南非兰特(ZAR)付款。在付款步骤中,顾客选择 PayFast,随后被引导至 PayFast 安全付款页面,通过已签名的付款表单,使用银行卡、Instant EFT 或您 PayFast 账户中的其他方式付款。随后 PayFast 会通过服务器对服务器通知(ITN)向您的店铺确认付款。只有该通知通过所有检查后才会创建订单,因此未完成的付款不会产生未付款订单。
适合希望使用 PayFast 托管付款页面、而不在自己网站上放置银行卡表单的南非店铺。本模块仅接受以 ZAR 计价的一次性付款。不支持在订单页面退款(请在 PayFast 控制台退款)、不支持订阅、已保存的银行卡和分单付款。
主要功能
已签名的付款表单:付款表单使用您的密码短语(passphrase)按照 PayFast 官方算法签名。
经过验证的通知:每个 ITN 都会检查:签名、您的商户账户、付款尝试的令牌(token)、与 PayFast 的服务器对服务器确认,以及在实时模式下通知是否来自 PayFast 服务器。
金额核对:已付金额会以分为单位与订单总额进行比较,且购物车必须为 ZAR。不符时,订单将以备注形式创建,状态为 PayFast payment on hold。
避免重复处理:重复的通知绝不会创建第二个订单,也不会重复记录付款。延迟到达的失败或待处理通知绝不会降级已付款的订单,针对已取消订单的付款会被标记为待审核。
实时与沙盒:每种模式使用独立的凭据。每个通知都使用付款发起时所处模式的凭据进行检查;当店铺处于实时模式时,沙盒付款绝不会使订单付款成功。
不可用时隐藏:缺少凭据、购物车货币不是 ZAR,或总额低于 PayFast 的最低限额 R5.00 时。
PayFast 中无需配置:每笔付款都会附带通知 URL,并显示在设置页面中。
订单页面的 PayFast 模块:付款参考号、PayFast 付款 ID、模式、总额、手续费和净额,以及模块备注。可选的调试日志。
要求
PrestaShop 8.0 至 9.x,PHP 8.0 或更高版本。南非兰特(ZAR)作为店铺货币。拥有 Merchant ID、Merchant Key 和密码短语(passphrase)的 PayFast 账户,以及用于测试的沙盒凭据。可从互联网访问的店铺。来自 vibefox.net 的 VibeFox 许可证密钥(每个域名一个密钥)。
