HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/vlxd.naniguide.com/Modules/Superadmin/Http/Controllers/PesaPalController.php
<?php

namespace Modules\Superadmin\Http\Controllers;

use Modules\Superadmin\Entities\Subscription;
use Illuminate\Routing\Controller;

class PesaPalController extends Controller
{
    //This method get called from app/Http/Controllers/PesaPalController
    public function pesaPalPaymentConfirmation($transaction_id, $status, $payment_method, $merchant_reference)
    {
        $subscription = Subscription::where('payment_transaction_id', $transaction_id)->first();

        \Log::emergency('subscription transaction_id:'.$transaction_id.'status:'.$status.'payment_method:'.$payment_method);

        if ($status == 'COMPLETED') {
            if ($subscription->status != 'approved') {
                //Update the date
                $dates = $this->_get_package_dates($subscription->business_id, $subscription->package);
                $subscription->status = 'approved';
                $subscription->start_date = $dates['start'];
                $subscription->end_date = $dates['end'];
                $subscription->trial_end_date = $dates['trial'];
                $subscription->update();
            }
        } else {
            $subscription->status = 'waiting';
            $subscription->start_date = null;
            $subscription->end_date = null;
            $subscription->trial_end_date = null;
            $subscription->update();
        }
    }
}