50 lines
1.2 KiB
PHP
50 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Modules\Investment\Entities;
|
|
|
|
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
use Modules\Investment\Enums\BillplzTransactionStatus;
|
|
|
|
class BillplzTransaction extends Model
|
|
{
|
|
use HasUuids;
|
|
|
|
protected $table = 'billplz_transactions';
|
|
|
|
protected $fillable = [
|
|
'payment_id',
|
|
'bill_id',
|
|
'collection_id',
|
|
'bill_url',
|
|
'reference_1',
|
|
'reference_2',
|
|
'paid_amount',
|
|
'state',
|
|
'transaction_status',
|
|
'paid_at',
|
|
'x_signature',
|
|
'signature_verified',
|
|
'callback_payload',
|
|
'redirect_payload',
|
|
];
|
|
|
|
protected function casts(): array
|
|
{
|
|
return [
|
|
'paid_amount' => 'decimal:2',
|
|
'transaction_status' => BillplzTransactionStatus::class,
|
|
'paid_at' => 'datetime',
|
|
'signature_verified' => 'boolean',
|
|
'callback_payload' => 'array',
|
|
'redirect_payload' => 'array',
|
|
];
|
|
}
|
|
|
|
public function payment(): BelongsTo
|
|
{
|
|
return $this->belongsTo(InvestmentPayment::class, 'payment_id');
|
|
}
|
|
}
|