%PDF- %GIF98; %PNG; .
Cyber Programmer
Logo of a company Server : Apache
System : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : addictionfreeind ( 1003)
PHP Version : 7.2.34
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/addictionfreeind/public_html/admin1/app/Traits/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/addictionfreeind/public_html/admin1/app/Traits/MakePaymentTrait.php
<?php

namespace App\Traits;

use App\Models\Invoice;
use App\Models\Payment;
use Illuminate\Support\Carbon;
use Illuminate\Database\Eloquent\Collection;

trait MakePaymentTrait
{

    /**
     * makePayment to generate payment of invoice.
     *
     * @param  string|null $gateway
     * @param  int|float $amount
     * @param  Invoice|Collection $invoice
     * @param  array|int|string $transactionId This can be single transaction id or array of transaction ids
     * @param  string $status (default: 'pending')
     * @return Payment $payment
     */
    public function makePayment($gateway, $amount, $invoice, $transactionId, $status = 'pending')
    {
        $payment = Payment::query();

        if (is_array($transactionId)) {
            $payment->whereIn('transaction_id', $transactionId)->orWhereIn('event_id', $transactionId);
        }
        else {
            $payment->where('transaction_id', $transactionId)->orWhere('event_id', $transactionId);
        }

        $payment = $payment->latest()->first();

        $payment = ($payment && !empty($transactionId)) ? $payment : new Payment();
        $payment->project_id = $invoice->project_id;
        $payment->invoice_id = $invoice->id;
        $payment->order_id = $invoice->order_id;
        $payment->gateway = $gateway;
        // If transactionId is array, then use the first one as transaction id
        $payment->transaction_id = is_array($transactionId) ? ($transactionId[0] ?? null) : $transactionId;
        $payment->event_id = is_array($transactionId) ? ($transactionId[0] ?? null) : $transactionId;
        $payment->currency_id = $invoice->currency_id;
        $payment->amount = $amount;
        $payment->paid_on = now();
        $payment->status = $status;
        $payment->save();

        return $payment;
    }

}

VaKeR 2022