'decimal:2', 'provider_fee' => 'decimal:2', 'platform_fee' => 'decimal:2', 'total_amount' => 'decimal:2', 'expires_at' => 'datetime', 'paid_at' => 'datetime', 'failed_at' => 'datetime', 'metadata' => 'array', ]; } public function account() { return $this->belongsTo(PaymentGatewayAccount::class, 'payment_gateway_account_id'); } public function tenant() { return $this->belongsTo(Tenant::class); } public function user() { return $this->belongsTo(User::class); } public function customer() { return $this->belongsTo(Customer::class); } public function invoice() { return $this->belongsTo(Invoice::class); } public function attempts() { return $this->hasMany(PaymentAttempt::class); } }