Deploy Ladill POS / deploy (push) Successful in 30s
Register Card/MoMo payments through merchant Paystack, Flutterwave, or Hubtel settings so takings settle 100% to the business. Co-authored-by: Cursor <cursoragent@cursor.com>
51 lines
1.1 KiB
PHP
51 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class PaymentGatewaySetting extends Model
|
|
{
|
|
public const PROVIDER_PAYSTACK = 'paystack';
|
|
|
|
public const PROVIDER_FLUTTERWAVE = 'flutterwave';
|
|
|
|
public const PROVIDER_HUBTEL = 'hubtel';
|
|
|
|
protected $fillable = [
|
|
'owner_ref',
|
|
'provider',
|
|
'public_key',
|
|
'secret_key',
|
|
'webhook_secret',
|
|
'is_active',
|
|
'metadata',
|
|
];
|
|
|
|
protected function casts(): array
|
|
{
|
|
return [
|
|
'public_key' => 'encrypted',
|
|
'secret_key' => 'encrypted',
|
|
'webhook_secret' => 'encrypted',
|
|
'is_active' => 'boolean',
|
|
'metadata' => 'array',
|
|
];
|
|
}
|
|
|
|
public function isConfigured(): bool
|
|
{
|
|
if (! $this->is_active) {
|
|
return false;
|
|
}
|
|
|
|
$secret = trim((string) $this->secret_key);
|
|
|
|
return $secret !== '' && in_array($this->provider, [
|
|
self::PROVIDER_PAYSTACK,
|
|
self::PROVIDER_FLUTTERWAVE,
|
|
self::PROVIDER_HUBTEL,
|
|
], true);
|
|
}
|
|
}
|