rdtvaacar / laravel-pos
laravel pos 包
Requires
- php: ^7.4
- guzzlehttp/guzzle: ^7.2
- illuminate/support: ^8.0
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-20 20:05:55 UTC
README
适用于使用EST架构的银行的Laravel虚拟POS集成。
安装
您可以使用以下命令通过composer轻松添加laravel-pos包:
composer require rdtvaacar/laravel-pos
之后,您需要发布配置文件和迁移文件。
php artisan vendor:publish --provider="Rdtvaacar\LaravelPos\LaravelPosServiceProvider"
要完成配置,请在config文件中定义所需的银行信息,并将其添加到.env文件中,如下所示:
LARAVEL_POS_XXXXX_BASE_URL=
LARAVEL_POS_XXXXX_MERCHANT_ID=
LARAVEL_POS_XXXXX_STORE_KEY=
LARAVEL_POS_XXXXX_BANK_NAME=
对于默认银行配置,您需要在.env文件中定义以下变量。
LARAVEL_POS_DEFAULT_BANK=`BANK_CONFIG_KEY_IN_CONFIG_FILE`
示例配置
return [ 'currency' => env('LARAVEL_POS_CURRENCY', 949), 'locale' => env('LARAVEL_POS_LOCALE','tr'), 'default_bank' => env('LARAVEL_POS_DEFAULT_BANK',''),//banks dizisindeki key 'bin_file_path' => env('LARAVEL_POS_BIN_FILE_PATH', 'resources/bin.json'), 'banks' => [ 'ZİRAAT BANKASI' => [ 'name' => env('LARAVEL_POS_ZIRAAT_BANK_NAME',''),//bin dosyasındaki banka adı 'base_url' => env('LARAVEL_POS_ZIRAAT_BASE_URL',''), 'merchant_id' => env('LARAVEL_POS_ZIRAAT_MERCHANT_ID', ''), 'store_key' => env('LARAVEL_POS_ZIRAAT_STORE_KEY', ''), ] ] ];
####重要信息 banks -> ZİRAAT BANKASI -> name的值必须与bin文件中的银行名称相匹配。
使用
$card = new Card('Kart No', 'YY', 'MM', 'CV2', 'Kart Üzerindeki İsim'); $orderId = Str::random();//Benzersiz sipariş numarası $tutar = 20;//TL $taksit = 1; $order = new Order($orderId, $tutar, $taksit); $paymentBuilder = LaravelPos::builder(); $paymentBuilder->bank('ZİRAAT BANKASI') ->card($card) ->order($order) ->okUrl('http://odeme.siteadresi.com/ok') ->failUrl('http://odeme.siteadresi.com/fail')
要添加额外的请求信息(如客户ID、电子邮件地址等),请创建一个Customer
对象并将其传递给$paymentBuilder
对象。
new Customer([ 'id' => 1, 'email': 'foo@bar.com', 'foo': 'bar' ]); $paymentBuilder->customer($customer);
创建的Customer
对象中的信息将被添加到发送的HTTP请求中。
##接收支付
$paymentBuilder->charge();
使用method启动支付流程。
###支付结果
支付操作完成后或被取消时,相关银行会向在okUrl
和failUrl
参数中指定的地址之一发送关于操作的POST请求。
要记录支付操作的结果,您需要将Billable
trait添加到您使用的User
模型中。
添加trait后;
$user = User::find(1); $user->handlePayment(request()->all());
支付结果将被记录到数据库中。
###附加信息
-
LaravelPos包仅支持通过3d-pay方法接收支付。
-
如果没有指定Bank()参数,则相关银行将根据输入的信用卡前6位数字(Bin Number)识别。如果找到的银行在配置文件中定义,则将使用该银行的相关设置(支付将从该银行扣除)。否则,将使用默认银行设置。
-
如果您拥有更新的BIN列表,您可以从.env文件中更改BIN文件路径。(LARAVEL_POS_BIN_FILE_PATH)
测试
composer test
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过hakanozdemirr@gmail.com发送电子邮件,而不是使用问题跟踪器。
鸣谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。