darkghosthunter / transbank
易于使用的PHP Transbank SDK。
Requires
- php: ^8.0
- ext-json: *
- nyholm/psr7: ^1.4
- psr/event-dispatcher: 1.*
- psr/http-client: 1.*
- psr/log: 1.*|2.*|3.*
Requires (Dev)
- guzzlehttp/guzzle: ^7.4
- mockery/mockery: ^1.4
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-latest
Suggests
- guzzlehttp/guzzle: HTTP Client for contacting Transbank servers.
- league/event: Allows for hearing transactions created and completed.
- monolog/monolog: Allows advanced logging for this SDK operations.
- symfony/event-dispatcher: Allows for hearing transactions created and completed.
- symfony/http-client: HTTP Client for contacting Transbank servers.
This package is auto-updated.
Last update: 2024-08-29 00:40:32 UTC
README
Transbank
易于使用的PHP Transbank SDK。
支持Webpay、Webpay Mall和Webpay Oneclick Mall。
需求
安装
使用 Composer 安装它
composer require darkghosthunter/webpay
用法
此SDK模拟了官方Transbank PHP SDK中的所有Webpay、Webpay Mall和Oneclick Mall方法。
您可以在Transbank开发者网站上检查这些服务的文档。
快速入门
实例化 Transbank
对象。您可以手动完成,或者使用 make()
,如果已安装Guzzle或Symfony HTTP客户端,则将使用这些客户端。
use DarkGhostHunter\Transbank\Transbank; $transbank = Transbank::make();
如果您的项目不管理单个实例,则可以使用 getInstance()
接收静态Transbank实例。
use DarkGhostHunter\Transbank\Transbank; $transbank = Transbank::getInstance();
环境和凭证
默认情况下,此SDK以 集成 环境启动,在此环境中执行的所有交易都通过使用Transbank自己的 集成 服务器进行模拟。
要在生产模式下操作,其中所有交易都将真实进行,您需要使用 toProduction()
以及一个包含服务名称及其由Transbank颁发给您的生产凭证的 array
: webpay
、webpayMall
或 oneclickMall
。
$transbank->toProduction([ 'patpass' => ['555876543210','7a7b7d6cce5e...'] ]);
对于Mall操作,仅在执行交易时需要“子”商业代码。
使用服务
要使用Transbank服务,只需在 Transbank
实例上调用方法: webpay
、webpayMall
和 oneclickMall
。
use DarkGhostHunter\Transbank\Transbank; $transaction = Transbank::singleton() ->webpay() ->create('order#123', 9990, 'https://app.com/compra');
HTTP客户端
此包与任何符合PSR-18的HTTP客户端兼容。如果您没有,可以安装 Guzzle 或 Symfony
composer require guzzlehttp/guzzle:>=7.0
或
composer require symfony/http-client:>=5.2
一些PHP平台已经自带自己的HTTP客户端,如 Amp、ReactPHP 或 Swoole。
日志记录器(可选)
您可以使用此包与任何符合PSR-3的日志系统一起使用,以便调试交易。如果您没有,可以使用 Monolog。
composer require monolog/monolog
所有操作都使用 debug
发送到日志记录器。
事件调度器(可选)
您可以使用此包与任何符合PSR-14的事件调度器一起使用,这样您就可以听到交易的开始和完成。如果您没有,可以使用 Symfony 或 League。
composer require symfony/event-dispatcher
或
composer require league/event
此包发送以下事件
TransactionCreating
在Transbank创建交易之前。TransactionCreated
在Transbank创建交易之后,但待支付。TransactionCompleted
在Transbank完成交易或退款之后,无论成功与否。
异常
所有异常都实现 TransbankException
,因此您可以轻松捕获并检查发生了什么。
由银行或信用卡发行商正确拒绝的交易不会抛出异常。
存在4种异常类型
ClientException
:由不良交易、不良配置、中止、放弃、超时或无效值引起的任何错误。NetworkException
:来自Transbank服务器的任何通信错误,如网络超时或错误的端点。ServerException
:任何Transbank内部错误。UnknownException
:任何其他错误。
异常不会被记录。
在本地运行示例
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。
Redcompra
、Webpay
、Oneclick
、Onepay
、Patpass
和Transbank
是Transbank S.A.的商标。本软件包及其作者与Transbank S.A.无关联。