saedvaziry / payir
Pay.ir Laravel 包
1.0
2022-05-29 09:25 UTC
Requires
- php: ^7.1.3 || ^8.0
- ext-curl: *
- ext-json: *
This package is auto-updated.
Last update: 2024-08-29 05:24:30 UTC
README
⚠️ 此存储库已归档,不再维护。
请考虑使用 Pay.ir PHP SDK 代替
Pay.ir Laravel
Laravel 包,用于连接 Pay.ir 支付网关
安装
composer require saeedvaziry/payir
发布配置
php artisan vendor:publish --provider="SaeedVaziry\Payir\PayirServiceProvider"
配置
在 .env
文件中设置您的 API 密钥和重定向 URL
PAYIR_API_KEY=test
PAYIR_REDIRECT=/payir/callback
使用方法
支付控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use SaeedVaziry\Payir\Exceptions\SendException;
use SaeedVaziry\Payir\Exceptions\VerifyException;
use SaeedVaziry\Payir\PayirPG;
class PaymentController extends Controller
{
public function pay()
{
$payir = new PayirPG();
$payir->amount = 1000; // Required, Amount
$payir->factorNumber = 'Factor-Number'; // Optional
$payir->description = 'Some Description'; // Optional
$payir->mobile = '0912XXXXXXX'; // Optional, If you want to show user's saved card numbers in gateway
$payir->validCardNumber = '6219860000000000'; // Optional, If you want to limit the payable card
try {
$payir->send();
return redirect($payir->paymentUrl);
} catch (SendException $e) {
throw $e;
}
}
public function verify(Request $request)
{
$payir = new PayirPG();
$payir->token = $request->token; // Pay.ir returns this token to your redirect url
try {
$verify = $payir->verify(); // returns verify result from pay.ir like (transId, cardNumber, ...)
dd($verify);
} catch (VerifyException $e) {
throw $e;
}
}
}
路由
Route::get('/payir/callback', 'PaymentController@verify');
使用外观
在 config/app.php
中配置 aliases
'Payir' => SaeedVaziry\Payir\Facades\Payir::class
发送
Payir::send($amount, $redirect = null, $factorNumber = null, $mobile = null, $description = null);
发送2
或者,您可以使用外观中的 send2
方法发送可选数据到 Pay.ir
Payir::send2([
'amount' => 10000,
'redirect' => 'Your-Redirect-Url', // optional
'factorNumber' => 'The-Factor-Number', // optional
'mobile' => 'Mobile-Number', // optional
'api' => 'API-Key', // optional, If you don't send this the package will read this from env
'description' => 'Your-Description', // optional
'validCardNumber' => 'Valid-Card-Number' // optional
]);
验证
Payir::verify($token);
安全性
如果您发现任何与安全性相关的问题,请创建一个问题或给我发邮件(sa.vaziry@gmail.com)
许可证
此存储库是开源软件,许可协议为 MIT 许可证。