laraditz/bayar

多个支付网关的表达式流畅接口。

0.0.6 2023-09-07 06:40 UTC

This package is auto-updated.

Last update: 2024-09-07 08:40:17 UTC


README

Laravel Bayar

Laravel Bayar

Latest Version on Packagist Total Downloads GitHub Actions

Laravel Bayar是一个用于Laravel的多支付处理库。它易于使用,可以处理与支付网关集成时的大部分繁琐任务。您还可以轻松创建一个用于此库包的新支付网关提供者。

安装

您可以通过composer安装此包

composer require laraditz/bayar

运行迁移命令以创建必要的数据库表。

php artisan migrate

然后安装您希望使用的支付网关提供者。请参阅支持提供者部分以查看所有可用提供者的列表。

composer require gerbang-bayar/provider-name

前往相应提供者的存储库以了解如何设置。

使用方法

要创建支付意向,首先创建一个PaymentData对象。然后将其传递给createPayment方法。

以下是创建PaymentData对象时可以传递的数据。可以使用的extra属性来传递所需的额外属性,并且必须遵循支付网关相应API的相同属性名。

public string $currency,
public int $amount, // smallest currency unit
public string $returnUrl,
public string $description,
public array $customer,
public ?string $callbackUrl = null,
public ?string $merchantRefId = null,
public ?array $extra = [],

创建支付并获取要重定向到的支付URL。

use Laraditz\Bayar\Data\PaymentData;

$paymentData = new PaymentData(
    description: 'Purchase',
    currency: 'MYR',
    amount: 1000,
    returnUrl: 'https://returnurl.here',
    customer: [
        'name' => 'Raditz Farhan',
        'phone' => '6012345678',
        'email' => 'raditzfarhan@gmail.com'
    ],
    extra: [
        'shippingAddress' => [
            'countryCode' => 'MY',
            'lines' => [
                'No 1, Taman ABC',
                'Jalan DCEF'
            ],
            'postCode' => '12345'
        ],
        'items' => [
            [
                'itemId' => 'ITEMSKU',
                'name' => 'Item 1',
                'quantity' => 1,
                'price' => 1000,
            ]
        ]    
    ]
);

$bayar = \Bayar::driver('atome')->createPayment($paymentData);

返回示例

[
  "id" => "01h91mbatnwn27y4y5s88b783k"
  "merchant_ref_id" => null
  "expires_at" => "2023-08-29T21:54:13.000000Z"
  "payment_url" => "http://yourappurl.com/bayar/pay/01h91mbatnwn27y4y5s88b783k"
]

重定向到payment_url以继续支付页面。完成后,您将被重定向到returnUrl

回调

回调事件将由此包自动管理。每个提供者都有自己的回调事件以接收来自相应支付网关提供者的支付更新。您只需为事件添加一个监听器。有关更多信息,请参阅提供者包。

支持提供者

目前只有一个提供者,即Atome,但随着时间的推移,列表将逐渐增长。

测试

composer test

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全性

如果您发现任何安全问题,请通过电子邮件raditzfarhan@gmail.com报告,而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件

依赖项