概述
VibeFox PayPal Gateway 会在 PrestaShop 结账页面中添加 PayPal 智能付款按钮。在付款步骤中,顾客选择 PayPal,点击 PayPal 按钮,在 PayPal 窗口中使用 PayPal 账户或 PayPal 提供的其他资金来源批准付款,订单随即在您的店铺中完成。您的服务器会读取 PayPal 订单,检查其状态、金额和币种,然后才会扣款或授权。只有在 PayPal 回复之后才会创建订单。
本模块适合希望使用自有 PayPal REST API 应用接受 PayPal 付款的店铺,测试时使用沙盒环境,实际收款时使用正式环境。本模块没有 PayPal Webhook,因此在 PayPal 账户中发起的争议和退款不会同步到 PrestaShop。模块不提供 Pay Later 提示信息、银行卡输入框、Venmo、Apple Pay 或 Google Pay,不支持已保存的付款方式或订阅,也不会在商品页或购物车页面显示 PayPal 按钮。
主要功能
服务器端验证:在扣款之前,会先检查 PayPal 订单的状态、金额、币种及归属。一笔 PayPal 付款只能支付一个购物车。如果批准之后购物车总额发生变化,则不会扣款,顾客需要批准新的总额。
扣款或授权:立即向顾客扣款,或仅预留资金,之后可在订单页面的 PayPal 区块中进行扣款或撤销。
避免重复扣款:扣款请求具有幂等性;如果 PayPal 在响应丢失后已完成前一次尝试,则使用该次付款而非创建新的付款;每个购物车的锁定机制可防止重复提交。
待处理的扣款:处于 PayPal 审核中的扣款会使订单进入 Awaiting PayPal payment 状态;Check PayPal payment status 会重新读取其状态。
订单页面退款:可在 PayPal 区块中进行全额和部分退款,退款金额不超过 PayPal 实际扣除的金额,并发送至付款时所用的 PayPal 环境(沙盒或正式)。
24 种 PayPal 币种:按 PayPal 的要求,HUF、JPY 和 TWD 金额以不带小数的形式发送。不支持的币种会隐藏该付款方式。
订单页面的 PayPal 区块:提供扣款操作、PayPal 账户链接、退款记录和模块备注;员工只需具备编辑订单的权限。可选的日志不包含凭据或顾客数据。
系统要求
PrestaShop 8.0 至 9.x,PHP 8.0 或更高版本。一个 PayPal Business 账户,并带有用于沙盒和/或正式环境的 REST API 应用(Client ID 和 Secret)。店铺币种须为 PayPal 支持的币种。一个来自 vibefox.net 的 VibeFox 许可证密钥(每个域名一个密钥)。
