xahmedtaha/paybridge

一个通用的 Laravel 扩展包,提供一致且易于使用的界面,用于集成多个支付网关。

v0.1.3 2024-09-15 11:29 UTC

This package is auto-updated.

Last update: 2024-09-15 11:33:20 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

一个通用的 Laravel 扩展包,提供一致且易于使用的界面,用于集成多个支付网关。

安装

您可以通过 composer 安装此包

composer require xahmedtaha/paybridge

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="paybridge-config"

使用方法

通常您可以使用该包如下

use AhmedTaha\PayBridge\Data\ChargeData;
use AhmedTaha\PayBridge\Data\CustomerData;
use AhmedTaha\PayBridge\Data\Payment\CreditCardData;
use AhmedTaha\PayBridge\Enums\PaymentEnvironment;
use AhmedTaha\PayBridge\Enums\PaymentGateway;

$charge = new ChargeData('charge ID', 200, 'USD');
$customer = new CustomerData('customer ID', 'Ahmed', 'phone', 'email@test.com');
$paymentData = new CreditCardData('1234 1234 1234 1234', '24', '05', '123');

$result = PayBridge::setEnvironment(PaymentEnvironment::TESTING)
    ->gateway(PaymentGateway::FawryPay)
    ->pay($charge, $customer, $paymentData);

// $result = [
//  'success' => true,
//  'status' => PaymentStatus::PENDING,
//  'shouldRedirect' => true,
//  'redirectUrl' => 'fawry gateway url...',
//];

回调 URL 应在配置文件中定义。以下是该路由代码的典型形式

use PayBridge;
use AhmedTaha\PayBridge\Enums\PaymentGateway;
use AhmedTaha\PayBridge\Enums\PaymentEnvironment;
use Illuminate\Http\Request;

public function callbackRouteHandler(Request $request) {
    $result = PayBridge::setEnvironment(PaymentEnvironment::TESTING)
    ->gateway(PaymentGateway::FawryPay)
    ->callback($request);
    // Your additional app logic...
}

// $result = [
//  'success' => true,
//  'status' => PaymentStatus::PAID,
//  'charge' => ChargeData object,
//  'customer' => CustomerData object,
//  'referenceNumber' => 'fawry ref no',
//];

测试

composer test

变更日志

请参阅 CHANGELOG 以获取更多最近更改的信息。

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。