概述
VibeFox HyperPay Payment Gateway 通过 HyperPay COPYandPAY 小部件为 OpenCart 3 和 OpenCart 4 添加银行卡付款功能。顾客点击 Confirm Order 后,您商店的付款页面会显示 HyperPay 小部件,顾客可在该页面使用 VISA、Mastercard、mada、American Express、STC Pay 或 Apple Pay 付款。银行卡信息仅在 HyperPay 小部件中输入,绝不会经过您的服务器。OpenCart 会在付款前创建订单,但只有在 HyperPay 确认付款后,订单才会获得状态,因此被放弃或被拒绝的付款会一直以缺失订单的形式存在。
本扩展适合拥有 HyperPay 商户账户的沙特阿拉伯、阿联酋、约旦、巴林、阿曼、卡塔尔、埃及及其他中东和北非(MENA)市场的商店。本扩展不支持在 OpenCart 中退款或撤销(需在 HyperPay 控制面板中操作),也不支持保存银行卡、订阅、Apple Pay 域名验证、按品牌分别设立实体,以及先买后付(buy-now-pay-later)付款方式。
主要功能
HyperPay 小部件:付款页面中的 COPYandPAY 小部件,通过子资源完整性(Subresource Integrity)加载;当 HyperPay 支持时,以顾客的语言显示。您可以选择显示哪些银行卡品牌。
仅在 HyperPay 确认后才标记为已付款:顾客返回时通过服务器到服务器的状态查询确认,浏览器关闭时则通过加密的 Webhook(AES-256-GCM)确认。仅凭返回地址绝不会将订单标记为已付款。之后 OpenCart 会照常发送订单邮件。
与订单核对:付款必须属于该订单自身的某个结账记录,且金额和货币必须一致。若不一致,订单会进入带备注的审核状态。
不会重复处理:每个结果只应用一次。重复的 Webhook 或页面刷新不会使付款被重复处理,已通过其他订单付款的购物车也不会再次扣款。重复付款、取消后的付款以及冲正均会记录在订单中。
即时扣款或预授权:可立即扣款,或冻结金额,之后在订单页面的选项卡中通过 Capture payment 进行扣款。
测试与正式模式:每种模式各有独立的 Access Token、Entity ID 和 Webhook 密钥。状态查询、扣款和 Webhook 始终使用创建结账记录时所处的模式。
自定义订单状态:为已付款、已授权、等待中、保留、已取消和已退款的付款选择对应的 OpenCart 状态。
OpenCart 条件:地理区域、最低订单金额和排序。日志中不记录银行卡信息、密钥或顾客数据。
系统要求
OpenCart 3.0.x(已在 3.0.5.0 上测试)或 OpenCart 4.0.2 及更高版本(已在 4.1.0.3 上测试),PHP 8.0 或更高版本并启用 OpenSSL 扩展。下载包含适用于两个版本的安装包。需要一个 HyperPay 商户账户,并持有 Access Token 和 Entity ID(测试与正式);还需要一个付款 Webhook 及其解密密钥。需要一个来自 vibefox.net 的 VibeFox 许可证密钥(每个域名一个密钥)。
