萨巴诺维因/贝赫法达

Behfarda.com Laravel 扩展包

0.91 2021-06-27 11:33 UTC

This package is not auto-updated.

Last update: 2024-09-30 03:41:42 UTC


README

Laravel 扩展包,用于连接 behfarda.com 支付网关

安装

composer require sabanovin/behfarda

发布配置

php artisan vendor:publish --provider="SabaNovin\Behfarda\BehfardaServiceProvider"

配置

.env 文件中设置您的 API 密钥和重定向 URL

BEHFARDA_MERCHANT_ID=test
BEHFARDA_CALLBACK_URL=/behafarda/callback

用法

支付控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use SabaNovin\Behfarda\Exceptions\SendException;
use SabaNovin\Behfarda\Exceptions\VerifyException;
use SabaNovin\Behfarda\BehfardaPG;

class PaymentController extends Controller
{
    public function pay()
    {
        $behfarda = new BehfardaPG();
        $behfarda->amount = 100; // Required, Amount
        $behfarda->client_id = 'Client-ID'; // Optional
        $behfarda->description = 'Some Description'; // Optional
        $behfarda->mobile = '0912XXXXXXX'; // Optional, If you want to show user's saved card numbers in gateway
        $behfarda->valid_card_number = '6037990000000000'; // Optional, If you want to limit the payable card

        try {
            $behfarda->send();

            return redirect($behfarda->payment_url);
        } catch (SendException $e) {
            throw $e;
        }
    }

    public function verify(Request $request)
    {
        $behfarda = new BehfardaPG();
        $behfarda->token = $request->token; // behfarda.com returns this token to your redirect url

        try {
            $verify = $behfarda->verify(); // returns verify result from behfarda.com like (transId, cardNumber, ...)

            dd($verify);
        } catch (VerifyException $e) {
            throw $e;
        }
    }
}

路由

Route::get('/behfarda/callback', 'PaymentController@verify');

使用外观模式

config/app.php 中配置 aliases

'Behfarda' => SabaNovin\Behfarda\Facades\Behfarda::class

发送

Behfarda::send($amount, $redirect = null, $factorNumber = null, $mobile = null, $description = null);

发送数组

或者,您也可以在外观模式中使用 sendArray 方法向 Behfarda.com 发送可选数据

Behfarda::sendArray([
  'merchant_id' => 'Merchant-ID', // optional, If you don't send this the package will read this from env
  'amount' => 100,
  'callback_url' => 'Your-Redirect-Url', // optional
  'client_id' => 'Client-ID', // optional
  'mobile' => 'Mobile-Number', // optional
  'description' => 'Your-Description', // optional
  'valid_card_number' => 'Valid-Card-Number' // optional
]);

验证

Behfarda::verify($token);

安全

如果您发现任何与安全相关的问题,请创建一个问题或给我发邮件(h.kamrava1@gmail.com

许可证

此仓库是开源软件,受 MIT 许可证的许可。