for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Sinarajabpour1998\Gateway\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Transaction extends Model
{
use HasFactory;
protected $fillable = ['order_id', 'status', 'amount', 'driver', 'ref_no', 'token', 'description'];
protected $appends = ['gateway','toman','status_label','status_badge'];
public function parent()
return $this->belongsTo( config('gateway.model'), 'order_id' );
}
public function getGatewayAttribute()
switch ($this->driver) {
case 'pasargad':
return 'بانک پاسارگاد';
case 'parsian':
return 'بانک پارسیان';
default:
return 'نامشخص';
public function getTomanAttribute()
return $this->amount / 10;
public function getStatusLabelAttribute()
switch ($this->status) {
case 'pending':
return 'در انتظار پرداخت';
case 'failed':
return 'ناموفق';
case 'refunded':
return 'برگشت خورده';
case 'successful':
return 'موفقیتآمیز';
public function getStatusBadgeAttribute()
return 'badge-warning';
return 'badge-danger';
return 'badge-dark';
return 'badge-success';
case 'default':
return 'badge-light';