# fluentform/6.2.6/app/Models/Transaction.php

Fluent Forms – Customizable Contact Forms, Survey, Quiz, &amp; Conversational Form Builder, version 6.2.6. 76 lines.

- Page: https://pluginprobe.com/plugins/fluentform/6.2.6/code/app/Models/Transaction.php
- Raw: https://pluginprobe.com/plugins/fluentform/6.2.6/raw/app/Models/Transaction.php
- Modified: 2026-04-01T13:33:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluentform/6.2.6/code/app/Models/Transaction.php#L10-L20`.

```php
<?php

namespace FluentForm\App\Models;

class Transaction extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'fluentform_transactions';

    /**
     * A transaction belongs to a form.
     *
     * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo
     */
    public function form()
    {
        return $this->belongsTo(Form::class, 'form_id', 'id');
    }

    /**
     * A transaction belongs to a submission.
     *
     * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo
     */
    public function submission()
    {
        return $this->belongsTo(Submission::class, 'submission_id', 'id');
    }

    /**
     * A transaction may belong to a subscription.
     *
     * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo
     */
    public function subscription()
    {
        return $this->belongsTo(Subscription::class, 'subscription_id', 'id');
    }

    public function scopeBySubmission($query, $submissionId)
    {
        return $query->where('submission_id', $submissionId);
    }

    public function scopeByChargeId($query, $chargeId)
    {
        return $query->where('charge_id', $chargeId);
    }

    public function scopeOnetime($query)
    {
        return $query->where('transaction_type', 'onetime');
    }

    public function scopeRefunds($query)
    {
        return $query->where('transaction_type', 'refund');
    }

    public function scopeSubscriptionType($query)
    {
        return $query->where('transaction_type', 'subscription');
    }

    public function scopePaid($query)
    {
        return $query->whereIn('status', [
            'paid', 'requires_capture', 'processing', 'partially-refunded', 'refunded'
        ]);
    }
}

```
