概述
VibeFox Square Gateway 通过 Square 为 PrestaShop 添加信用卡和借记卡付款功能。在付款步骤中,顾客在付款方式下方显示的安全 Square 银行卡表单(Square Web Payments SDK)内输入卡信息。您的服务器只会收到一次性令牌,并通过 Square Payments API 进行扣款。银行卡信息绝不会进入您的商店,订单仅在 Square 确认付款后才会创建。
本模块适合在美国、加拿大、澳大利亚、日本、英国、爱尔兰、法国和西班牙使用 Square、希望在自有结账页面接受银行卡付款的卖家。模块仅支持即时捕获的一次性银行卡付款。不支持保存的银行卡、订阅、Apple Pay、Google Pay、Cash App Pay、Afterpay 或 Square 礼品卡,不支持仅授权付款,也不使用 Square Webhook。
主要功能
3-D Secure / SCA:银行卡令牌化时进行买家验证,并将购物车总额、货币和账单地址传递给 Square。
仅在 Square 确认后标记为已付款:只有当付款状态为 COMPLETED,且金额与购物车总额、货币、购物车参考和位置完全一致时,订单才会收到 Payment accepted。任何异常情况都会使订单带着备注进入 Square payment on hold 状态。
避免重复扣款:每个购物车同一时间只允许一次付款尝试,请求具有幂等性;对于响应丢失的尝试,会在 Square 中查询,而不是再次扣除银行卡。
凭据与货币检查:访问令牌和位置会在保存时与 Square 核对。对于 Square 位置无法扣款的货币的购物车,付款方式将被隐藏。
订单页面退款:订单中的 Square 区块提供全额和部分退款,始终使用实际付款所在的环境、位置、金额和货币。全额退款会将订单设为 Refunded。
订单页面的 Square 区块:付款 ID(附 Square Dashboard 链接)、银行卡、收据、退款记录和备注。
清晰的提示信息:顾客会看到简短提示(付款被拒、CVV 错误、需要 3-D Secure)。错误始终会记录到日志中,但不包含密钥或银行卡数据。
系统要求
PrestaShop 8.0 至 9.x,PHP 8.0 或更高版本。需要一个 Square 账户,并在 Square Developer Dashboard 中创建应用(Application ID、Access Token、Location ID)。购物车货币必须与您的 Square 位置货币一致:USD、CAD、AUD、JPY、GBP 或 EUR。需要一个来自 vibefox.net 的 VibeFox 许可证密钥(每个域名一个密钥)。
