aries / seppay
A Laravel package for using to pay.ir payment gateways
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
Requires
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Payment Package with Saman Electronic Payment (pay.ir) over iran Shaparak Network for Laravel
Update note:
You need to publish Service Provider again and run migration to update transaction table:
php artisan vendor:publish --provider='Aries\Seppay\SeppayServiceProvider'
php artisan migrate
Installing:
run this command:
composer require aries/seppay
and run this command:
php artisan vendor:publish --provider='Aries\Seppay\SeppayServiceProvider'
then run:
php artisan migrate
Usage:
you can set pay.ir api key on config/Seppay.php or on your .env file with SEP_API_KEY
you have two way to payment:
- With Trait:
import Payable Trait in a Model you want have Payment:
use Aries\Seppay\Traits\Payable;
and on Model class use Payable Like this:
class Bill extends Model { use Payable; ... }
and in your controller you can start a payment like this:
public function payment($id) { $bill = Bill::find($id); return $bill->pay($amount, $mobile, $description, $callback_url, $factor_number, $valid_card_number); }
$factor_number and $valid_card_number is optional and you can set them as null or can dont pass them to pay() method
- With Using Pay() class:
<?php namespace App\Http\Controllers; use Aries\Seppay\Pay; use Aries\Seppay\Models\Transaction; use Illuminate\Http\Request; class TestController extends Controller { public function test() { $factor_number = 123; $amount = 1000; $valid_card_number = '6037999999999999'; try { $pay = new Pay(); $pay->amount($amount); $pay->factorNumber($factor_number); $pay->validCardNumber($valid_card_number); $pay->callback(url('/')); $response = $pay->ready(); Transaction::create([ 'amount' => $amount, 'transId' => $response->token, 'factorNumber' => $factor_number, 'validCardNumber' => $valid_card_number, 'mobile' => '09123456789' ]); /* * do anything you want with $response Object * Like: store Transaction ID on your cart with: $response->transId; */ return $pay->start(); } catch (\Exception $e) { return $e->getMessage(); } } public function callback() { try { $pay = new Pay(); $response = $pay->verify(); /* * if verification was successful you can send order for your customer */ } catch (\Exception $e) { return $e->getMessage(); } } }
Special thanks to Mohammad Babaei