pythagus / lydia
面向对象包,用于在PHP中使用Lydia支付方式
Requires
- php: ^7.3|^8.0
- anlutro/curl: ^1.5
This package is auto-updated.
Last update: 2024-09-06 17:51:49 UTC
README
Lydia 是一种在线支付解决方案。本包以面向对象的方式实现了此工具。这是一个独立的包。
版本
此包自PHP 7.3起工作。请参考下表以检查您的PHP版本是否与此包兼容。
安装
使用composer
使用包管理器 composer 安装此包。
composer require pythagus/lydia
不使用包管理器
您可以克隆当前存储库并完全使用此包。您需要创建(或使用)一个自动加载包(如 composer),以正确发现文件。
使用方法
本节描述了如何正确且完整地使用此包。
Lydia 门面
Pythagus\Lydia\Lydia 类允许您自定义 Lydia 与您的应用程序的主要交互。**您需要扩展此类**。否则,包将无法工作。您可以参考 example/MyLydiaFacade 类以了解如何覆盖此类。
当您覆盖 Lydia 类时,您需要添加以下行
Lydia::setInstance(new MyLydiaFacade()) ;
如果您正在使用框架,您可以在应用程序启动时添加此行。如果不是,您需要在每次请求之前添加此行。
注意:如果您正在使用框架,您可能有一个重定向响应管理器。因此,您可以将 Lydia.redirect() 方法覆盖以使用您的框架。
配置
在 example 文件夹 中提供了一个配置文件的示例。MyLydiaFacade 类显示了您应该覆盖什么以使此包与您的应用程序兼容。我建议您复制 lydia.php 配置文件并仅添加您个人的密钥。
属性
在 example/lydia.php 配置文件中的 properties 键允许您声明一些属性,这些属性在请求之间不会更改(如货币)。
Lydia 请求
目前,此包实现了 3 个 Lydia 请求
PaymentRequest
向 Lydia 服务器发起支付请求。您需要使用 setFinishCallback() 方法定义 Lydia 用于重定向用户的返回路由。您还需要定义 金额 和 收款人 参数,如下所示
$request = new PaymentRequest() ; $request->setFinishCallback('my/route') ; $data = $request->execute([ 'amount' => 5, 'recipient' => 'test@test.com' ]) ; // Save your data. return $request->redirect() ;
execute() 方法将用户重定向到 Lydia 页面。支付后,用户将被重定向到 my/route。
PaymentStateRequest
检查支付状态。您需要设置在请求支付时在 Lydia.savePaymentData() 数组中给出的 request_uuid。您可以像这样执行请求
$request = new PaymentStateRequest("payment_request_uuid") ; $state = $request->execute() ;
RefundRequest
部分或全局退款交易。您需要设置在 PaymentRequest 完成路由中给出的 transaction_identifier。您需要添加 金额 参数。您可以像这样执行请求
$request = new RefundRequest("payment_transaction_identifier") ; $status = $request->execute([ 'amount' => 10 ]) ;
贡献
欢迎拉取请求。对于重大更改,请首先打开一个问题以讨论您想要更改的内容。