laraditz / bayar
多个支付网关的表达式流畅接口。
0.0.6
2023-09-07 06:40 UTC
Requires
- php: ^7.4|^8.0
- gerbang-bayar/support: ^0.0
- laravel/framework: ^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
Laravel Bayar
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)。有关更多信息,请参阅许可证文件。