avatec / omnipay-p24
用于 Omnipay 支付处理库的 Przelewy24 驱动程序。从 ticketswap/omnipay-przelewy24 分支而来
1.0
2023-01-11 15:14 UTC
Requires
- omnipay/common: ^3
Requires (Dev)
- omnipay/tests: ^3.0
- phpunit/phpunit: ^6.0
Replaces
- ticketswap/omnipay-przelewy24: 2.0
This package is auto-updated.
Last update: 2024-09-11 18:59:18 UTC
README
Omnipay PHP 支付处理库的 Przelewy24 网关
Omnipay 是一个与框架无关、支持多网关的 PHP 8.0+ 支付处理库。此包实现了 Omnipay 对 Przelewy24 的支持。
有关 Przelewy24 API 的更多信息,请参阅 手册
安装
可以使用 Composer 安装此网关
$ composer require avatec/omnipay-p24
用法
此包提供了以下网关
- Przelewy24
示例 - 获取支付链接
require_once __DIR__ . '/vendor/autoload.php'; use Omnipay\Omnipay; /** @var \Omnipay\Przelewy24\Gateway $gateway */ $gateway = Omnipay::create('Przelewy24'); $gateway->initialize([ 'merchantId' => 'YOUR MERCHANT ID HERE', 'posId' => 'YOUR POS ID HERE', 'crc' => 'YOUR CRC KEY HERE', 'testMode' => true, ]); $params = array( 'sessionId' => 2327398739, 'amount' => 12.34, 'currency' => 'PLN', 'description' => 'Payment test', 'returnUrl' => 'www.your-domain.nl/return_here', 'notifyUrl' => 'www.your-domain.nl/notify_here', 'card' => array( 'email' => 'info@example.com', 'name' => 'My name', 'country' => 'NL', ), ); $response = $gateway->purchase($params)->send(); if ($response->isSuccessful()) { $response->redirect(); } else { echo 'Failed'; }
您可以选择在网关初始化调用中添加 'channel' 参数来指定允许的支付渠道。
$gateway->initialize([
//[...]
'channel' => Gateway::P24_CHANNEL_CC,
]);
有关 'Channel' 所支持的所有值的列表,请参阅 przelewy24 文档
示例 - 验证支付(notifyUrl)
require_once __DIR__ . '/vendor/autoload.php'; use Omnipay\Omnipay; /** @var \Omnipay\Przelewy24\Gateway $gateway */ $gateway = Omnipay::create('Przelewy24'); $gateway->initialize([ 'merchantId' => 'YOUR MERCHANT ID HERE', 'posId' => 'YOUR POS ID HERE', 'crc' => 'YOUR CRC KEY HERE', 'testMode' => true, ]); $params = array( 'sessionId' => 2327398739, 'amount' => 12.34, 'transactionId' => 12345678, 'method' => 63, 'currency' => 'PLN', 'statement' => 'p24-H00-B00-J00', 'sign' => 'sign hashed' ); $response = $gateway->completePurchase($params)->send(); if ($response->isSuccessful()) { echo 'Success'; } else { echo 'Failed'; }
支持
如果您遇到 Omnipay 的一般问题,我们建议在 Stack Overflow 上发布。请确保添加 omnipay 标签,以便更容易找到。
如果您想保持与发布公告、讨论项目想法或提出更详细的问题的更新,还可以订阅一个 邮件列表。
如果您认为您发现了一个错误,请使用 GitHub 问题跟踪器 报告,或者更好的做法是分支库并提交拉取请求。
测试
$ composer test
安全
如果您发现任何与安全相关的问题,请通过电子邮件 info@ticketswap.com 报告,而不是使用问题跟踪器。
鸣谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。