samgeeksdev / anypay
Anypay 是一个综合的 PHP、LARAVEL 库,用于无缝处理多个支付网关集成。
v1.48.2
2024-05-26 15:41 UTC
Requires
- php: >=7.2
- chillerlan/php-cache: ^4.1|^5.0
- guzzlehttp/guzzle: >=6.2
- nesbot/carbon: ^1.39|^2.0|^3.0
- ramsey/uuid: ^3.7|^3.8|^3.9|^4.0
Requires (Dev)
- phpunit/phpunit: ^8.0|^9.0
- squizlabs/php_codesniffer: ^3.5
README
介绍
Anypay 是一个用于在线支付交易的 PHP 库。这个库允许连接到多个支付网关,并通过一个集成的 API 为开发者提供一个简单且一致的经验。
特性
- 支持多个支付网关
- 错误和异常管理
- 动态支付设置
- 可追踪支付每个阶段的的事件
此包中的活动网关
$gateways = [
'asanpardakht',
'aqayepardakht',
'atipay',
'azkiVam', // Installment Anypay
'behpardakht', // mellat
'bitpay',
'digipay',
'etebarino', // Installment Anypay
'fanavacard',
'idpay',
'irankish',
'local',
'jibit',
'nextpay',
'omidpay',
'parsian',
'pasargad',
'payir',
'payfa',
'paypal', // will be added soon in next version
'payping',
'paystar',
'poolam',
'rayanpay',
'sadad', // melli
'saman',
'sep', // saman electronic Anypay, Keshavarzi & Saderat
'sepehr', // saderat
'sepordeh',
'sizpay',
'toman',
'vandar',
'walleta', // Installment Anypay
'yekpay',
'zarinpal',
'zibal'
];
این درگاهها به شما امکان میدهند تا با استفاده از تنظیمات مختلف، پرداختهای خود را از طریق درگاههای متنوع انجام دهید.
使用方法
要使用 Anypay,您需要首先将其添加到您的 PHP 项目中。然后,您可以通过 API 方法管理支付交易。
示例
以下是一个创建支付交易的示例代码
php
$config = ['driver' => 'gatewayName', 'api_key' => 'your_api_key']; $anypay = new Samgeeksdev\Anypay\Anypay($config); $invoice = new Samgeeksdev\Anypay\Invoice(); $invoice->amount(1000); // مبلغ به ریال $anypay->via('gatewayName')->purchase($invoice)->pay();
使用 paywith 函数
$config = ['api_key' => 'your_api_key']; $gateway = 'gatewayName'; $amount = 1000; // مبلغ به ریال try { $anypay = new Samgeeksdev\Anypay\Anypay($config); $response = $anypay->payWith($gateway, $amount, $config); echo $response->getContent(); // نمایش جزئیات پاسخ } catch (Exception $e) { echo 'خطا در پرداخت: ' . $e->getMessage(); }
verify
try { $anypay = new Samgeeksdev\Anypay\Anypay($config); $receipt = $anypay->verify(); echo 'پرداخت تایید شد. شماره تراکنش: ' . $receipt->getTransactionId(); } catch (Exception $e) { echo 'خطا در تایید پرداخت: ' . $e->getMessage(); }
如果您想通过配置文件调用信息
$invoice = (new Invoice)->amount(1000); Anypay::via('driverName')->purchase( $invoice, function($driver, $transactionId) { } );
支持
要获取更多支持和解决潜在问题,请访问 GitHub 上的“问题”部分或联系支持团队。
许可证
本项目采用 MIT 许可证发布。您可以在代码库中的 LICENSE 文件中查看完整的许可证副本。