pythagus/lydia

面向对象包,用于在PHP中使用Lydia支付方式

维护者

详细信息

github.com/Pythagus/lydia

源代码

问题

安装: 82

依赖关系: 1

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 1

开放问题: 0

类型:package

v1.1.1 2022-03-26 12:56 UTC

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
]) ;

贡献

欢迎拉取请求。对于重大更改,请首先打开一个问题以讨论您想要更改的内容。

许可

MIT