sin42048 / lara-pay

伊朗支付网关,一应俱全!

dev-main 2022-11-04 11:33 UTC

This package is auto-updated.

Last update: 2024-09-04 15:36:13 UTC


README

为 Laravel 的伊朗支付网关,一应俱全!

安装

Step 1 :
composer require sina42048/lara-pay
Step 2 :
php artisan vendor:publish
Step 3 :
configure your api key in the config/larapay.php

对于 Laravel 版本 5.5 及以下,需要以下步骤

In your config/app.php file add these two lines
// In your providers array.
'providers' => [
    ...
    Sina42048\LaraPay\Provider\LaraPayServiceProvider::class,
],

// In your aliases array.
'aliases' => [
    ...
    'LaraPay' => Sina42048\LaraPay\Facade\Lapay::class,
],

支持的驱动程序

支付流程示例用法

有关每个驱动程序所需字段的更多信息,请参阅该驱动程序的文档页面

use Sina42048\LaraPay\LaraBill;
use Sina42048\LaraPay\Exception\PaymentRequestException;

Route::get('/payment', function () {
    $bill = new LaraBill();
    $bill->amount(1000);
    $bill->order_id = 2;

    try {
        return LaraPay::setBill($bill)
            ->setDriver('idpay')
            ->prepare(function($transactionId, $driverName) {
                //dd($transactionId); // do database actions
            })
            ->render();
    } catch (PaymentRequestException $e) {
        dd($e->getMessage());
    }
});

验证流程示例用法

use Sina42048\LaraPay\LaraRecipt;
use Sina42048\LaraPay\Exception\PaymentVerifyException;


Route::match(['GET', 'POST'], '/verify', function() {
    try {
        LaraPay::setDriver('idpay')
            ->checkAmount(function($transactionId) {
                return $amount; // $amount should be return from your table in database based on transaction id, throw exception if amount not found
            })
            ->verify(function(LaraRecipt $recipt) {
                dd($recipt); // payment is verfied , recipt data accessable
            });

    } catch (PaymentVerifyException $e) {
        dd($e->getMessage());
    }
});

贡献

欢迎提交拉取请求!

许可证

MIT