thelia / payzen-embedded-module
Requires
- lyracom/rest-php-sdk: 4.0.*
- thelia/installer: ~1.1
README
本模块允许您将Lyra Networks公司的PayZen支付系统集成到您的商店中。
信用卡支付
支付通过集成到您商店中的PayZen信用卡信息输入表单完成。您的客户无需离开网站即可支付购买的商品。输入表单完全由PayZen管理,信用卡信息不会被模块存储或处理。无需PCI-DSS认证。
您可以选择在订单摘要页面显示支付表单,这样就不需要转到新页面来支付订单。
一键支付
本模块支持一键支付(或别名/令牌支付)。每次支付时,您的客户都有机会记录他们的信用卡信息。在后续购买中,他们将无需再次输入这些信息:只需点击一下即可支付订单。支付信息由PayZen记录,并且永远不会被模块存储或处理,无需PCI-DSS认证。
客户可以随时从他们的客户账户或支付订单时请求删除已记录的支付信息。
交易历史记录
每个订单的PayZen交易历史记录在后台订单详细信息中可用。
客户在后台客户资料中可以查看他们进行的所有PayZen交易的历史记录。
交易结算前的修改
当模块配置为手动验证交易时,可以在后台订单详细信息页面上从订单的最终金额中调整金额。
商店管理员可以修改
- 客户将支付的金额(<=初始金额)
- 银行入账日期
- 交易验证方式(自动验证立即验证,或手动)。
此操作模式也适用于发货时的扣款。
交易更新事件
模块提供了一个事件,允许您通过拣选模块等程序化地执行此操作。
事件名称: PayZenEmbedded::TRANSACTION_UPDATE_EVENT
事件动作 \PayZenEmbedded\Event\TransactionUpdateEvent
允许定义
- 订单ID ($orderId) 相关的订单
- 交易的新金额 ($amount)
- 所需捕获日期 ($expectedCaptureDate)
- 交易验证方式 ($manualValidation - true/false)
事件分发后,通过 $paymentStatus 返回操作状态,这是一个 LyraClientWrapper::PAYMENT_STATUS_* 常量之一
- PAYMENT_STATUS_PAID : 交易完成,订单已支付。
- PAYMENT_STATUS_NOT_PAID : 交易完成,订单未支付。
- PAYMENT_STATUS_IN_PROGRESS : 交易正在进行中,如果需要,可以修改。
- PAYMENT_STATUS_ERROR : 修改操作失败,通常是因为交易已完成或已过期。
安装
您可以使用Composer安装此模块
composer require thelia/payzen-embedded-module:~1.0
如果您无法使用Composer,模块有一个包含必要依赖项的自带版本。选择“standalone”分支下载此版本,并从后台或通过FTP安装到您的Thelia。
使用
要使用PayZen模块,您首先需要对其进行配置。为此,请进入您的后台办公室,选择“模块”标签页,并启用PayZen模块。然后,点击模块行中的“配置”,并填写所需信息,这些信息可以在您的PayZen收银台管理工具中找到 -> 参数设置 -> 商店 -> 您的商店
在测试阶段,您可以定义允许在前端使用该模块的IP地址,以防止您的客户在测试阶段使用PayZen支付订单。模块投入生产后,您也可以通过“生产限制”模式来限制允许使用该模块的IP地址。
返回URL
为了使客户的订单在支付后自动更新为已支付状态,您需要在您的PayZen收银台管理工具中填写一个返回URL。
该地址的格式如下: https://www.votresite.com/payzen-embedded/ipn-callback
例如,对于 thelia.net
网站,测试模式和 生产模式的地址分别为: https://www.thelia.net/payzen-embedded/ipn-callback
。
您可以在Thelia后台办公室的PayZen模块配置页面找到要使用的确切地址。
要设置此返回URL,请进入您的PayZen收银台管理工具 -> 参数设置 -> 商店 -> 您的商店,并将您的返回URL复制/粘贴到“测试模式的商店返回URL”和“生产模式的商店返回URL”字段中。
前端集成
集成的主要部分是通过钩子完成的。然而,模块定义了一个特定的支付页面,允许显示嵌入式表单: PayZenEmbedded/templates/frontOffice/default/payzen-embedded/embedded-payment-page.html
如果需要,您可以将此页面设置为与您的特定模板颜色一致。如果您使用弹出窗口表单,则此页面将不会被使用。
Thelia的PayZen模块
此模块允许您将Lyra Networks PayZen支付系统集成到您的商店中。
信用卡支付
支付通过集成到您的商店的PayZen信用卡信息表单完成。您的客户在支付购买时不会离开网站。表单完全由PayZen管理,信用卡数据不会被模块存储或处理。不需要PCI-DSS认证。
一键支付
该模块支持一键支付(或别名/令牌支付)。对于每次支付,您的客户可以注册他们的信用卡信息。在随后的购买中,他们将无需再次输入:只需一键即可支付订单。支付信息由PayZen保存,并且永远不会由模块存储或处理,不需要PCI-DSS认证。
客户可以在任何时候从客户页面请求删除已注册的支付信息,或在支付订单之前。
交易历史记录
PayZen交易历史记录在后台办公室的订单详情页面上每个订单均可访问。
客户在后台办公室的客户页面上可以查看其进行的所有PayZen交易的历史记录。
编辑订单总额
当模块配置为手动验证交易时,可以从后台办公室的订单详情页面调整订单的最终金额。
管理员可以更改
- 客户将支付的金额(总是小于或等于原始金额)
- 银行收据日期
- 交易验证模式(自动验证或手动)
交易更新事件
该模块包含一个事件,可以程序化地更新交易,例如从拣货模块更新交易。
事件名称:PayZenEmbedded::TRANSACTION_UPDATE_EVENT
事件 \PayZenEmbedded\Event\TransactionUpdateEvent
包含以下信息:
- 相关命令的ID($orderId),
- 交易的新金额($amount),
- 所需捕获日期($expectedCaptureDate),
- 交易的验证模式($manualValidation - true / false),
一旦派发,事件将在 $paymentStatus 中返回交易的状态,该状态是以下常量之一 LyraClientWrapper::PAYMENT_STATUS_ *
PAYMENT_STATUS_PAID
:交易完成,订单已付款。PAYMENT_STATUS_NOT_PAID
:交易完成,订单尚未付款。PAYMENT_STATUS_IN_PROGRESS
:交易正在进行中,必要时可以进行修改。PAYMENT_STATUS_ERROR
:更改操作失败,通常是因为交易已完成或已过期。
安装
您可以使用Composer安装此模块。
`composer require thelia / payzen-embedded-module: ~ 1.0
`
如果您无法使用Composer,则有一个包含必需依赖项的独立版本模块。选择 "standalone" 分支下载此版本,然后通过后台办公室或FTP安装到您的Thelia中。
使用
要使用PayZen模块,您必须首先对其进行配置。为此,请转到您的后台办公室,在“模块”选项卡上激活PayZen模块。然后单击模块行上的“配置”,并填写所需信息,您可以在PayZen现金管理工具 -> 设置 -> 商店 -> 您的商店中找到这些信息。
在模块测试阶段,您可以定义将允许在前端办公室使用模块的IP地址,以便在测试阶段不允许您的客户使用PayZen支付订单。一旦模块投入生产,您还可以通过“限制生产模式”限制允许使用模块的IP地址。
返回URL
为了使您的订单在您的客户支付订单后自动进入已付款状态,您必须在PayZen后台办公室中输入一个<强>返回URL强>。
此地址的格式如下:https://www.yoursite.com/payzen-embedded/ipn-callback
例如,对于 thelia.net
网站,测试模式和生产模式的地址分别是:https://www.thelia.net/payzen-embedded/ipn-callback
。
您可以在Thelia后台办公室的PayZen模块配置页面上找到要使用的确切地址。
要设置此返回URL,请转到您的PayZen现金管理工具 -> 设置 -> 商店 -> 您的商店,并将您的返回URL复制/粘贴到“测试模式下的商店返回URL”和“生产模式下的商店返回URL”字段中。
前端办公室集成
大多数集成是通过钩子完成的。模块定义了一个特定的支付页面,允许显示嵌入式表单:PayZenEmbedded/templates/frontOffice/default/payzen-embedded/embedded-payment-page.html
您可以为此页面设置样式,以匹配您的特定模板。