hamraa / lumen-payment
用于连接支付网关的Lumen包
3.3.4
2019-09-15 09:23 UTC
Requires
- ext-curl: *
- ext-json: *
- ext-libxml: *
- ext-simplexml: *
- ext-soap: *
- ext-xml: *
- nesbot/carbon: *
- paypal/rest-api-sdk-php: *
This package is auto-updated.
Last update: 2024-09-17 18:17:50 UTC
README
用于连接支付网关的Lumen包。
通过此包,我们能够通过一个唯一的API连接到所有伊朗银行。
可用银行
- MELLAT
- SADAD (MELLI)
- SAMAN
- PARSIAN
- PASARGAD
- ZARINPAL
- PAYPAL (新)
- ASAN PARDAKHT (新)
- PAY.IR (新)(使用:new \Payir())
安装
首先,使用Composer安装此包
composer require hamraa/lumen-payment
复制所需文件
mkdir -p config cp vendor/hamraa/lumen-payment/config/payment.php config/payment.php cp vendor/hamraa/lumen-payment/database/migrations/create_payment_transactions_table.php.stub database/migrations/2016_01_01_000000_create_payment_transactions_table.php cp vendor/hamraa/lumen-payment/database/migrations/create_payment_transactions_status_logs_table.php.stub database/migrations/2016_01_01_000000_create_payment_transactions_status_logs_table.php cp vendor/hamraa/lumen-payment/resources/views resources/views
然后,在bootstrap/app.php
- 注册别名
$app->withFacades(true, [ 'Hamraa\Payment\Gateway' => 'Gateway', ]);
- 注册配置文件
$app->configure('payment');
- 注册服务提供者
$app->register(\Hamraa\Payment\PaymentServiceProvider::class);
现在,运行您的迁移
php artisan migrate
完成!
使用方法
您可以通过多种方式连接到银行(外观,服务容器)
try { $gateway = \Gateway::make(new \Mellat()); // $gateway->setCallback(url('/path/to/callback/route')); You can also change the callback $gateway ->price(1000) // setShipmentPrice(10) // optional - just for paypal // setProductName("My Product") // optional - just for paypal ->ready(); $refId = $gateway->refId(); // شماره ارجاع بانک $transID = $gateway->transactionId(); // شماره تراکنش // در اینجا // شماره تراکنش بانک را با توجه به نوع ساختار دیتابیس تان // در جداول مورد نیاز و بسته به نیاز سیستم تان // ذخیره کنید . return $gateway->redirect(); } catch (\Exception $e) { // نمایش خطای تراکنش echo $e->getMessage(); }
您可以通过以下方式调用网关
- Gateway::make(new Mellat());
- Gateway::mellat()
- app('gateway')->make(new Mellat());
- app('gateway')->mellat();
您可以将MELLAT替换为上述介绍的其他银行名称。
在price
方法中,您应输入IRR(里亚尔)的价格
并在您的回调中
try { $gateway = \Gateway::verify(); $trackingCode = $gateway->trackingCode(); $refId = $gateway->refId(); $cardNumber = $gateway->cardNumber(); // تراکنش با موفقیت سمت بانک تایید گردید // در این مرحله عملیات خرید کاربر را تکمیل میکنیم } catch (\Hamraa\Payment\Exceptions\RetryException $e) { // تراکنش قبلا سمت بانک تاییده شده است و // کاربر احتمالا صفحه را مجددا رفرش کرده است // لذا تنها فاکتور خرید قبل را مجدد به کاربر نمایش میدهیم echo $e->getMessage() . "<br>"; } catch (\Exception $e) { // نمایش خطای بانک echo $e->getMessage(); }
贡献者
此包基于larabook/gateway(laravel的支付包)构建,对Lumen框架进行了一些主要更改,并对一些代码进行了改进。
感谢
特别感谢larabook团队。