HEX
Server: LiteSpeed
System: Linux s917.lon1.mysecurecloudhost.com 4.18.0-477.21.1.lve.1.el8.x86_64 #1 SMP Tue Sep 5 23:08:35 UTC 2023 x86_64
User: assibfaf (3034)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/assibfaf/customassignment.us/prox-payment.php
<?php
/**
 * @package    Proxim
 * @author     Davison Pro <davisonpro.coder@gmail.com | https://davisonpro.dev>
 * @copyright  2019 Proxim
 * @version    1.0.0
 * @since      File available since Release 1.0.0
 */

require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'prox-bootstrap.php';

use Proxim\Hook;
use Proxim\Tools;
use Proxim\Validate;
use Proxim\Module\Module;
use Proxim\Util\ArrayUtils;

$params = Tools::getAllValues();
$paymentMethod = ArrayUtils::get($params, 'paymentMethod');
$status = ArrayUtils::get($params, 'status');
$redirectUri = ArrayUtils::get($params, 'redirectUri');

$options = array();

$smarty = $app->container->smarty;
$smarty->assign(array(
    "order_url" => $redirectUri
));

if( $status == "success" ) {
    $smarty->assign(array(
        'status' => 'success'
    ));
} else {
    $smarty->assign(array(
        'status' => 'error'
    ));
}

switch( $paymentMethod ) {
    case 'wallet':
    case 'tip':
        // Execute Hook processPayment
        Hook::exec('processPayment', $params);
        break;

    default:
        $paymentModule = Module::getInstanceByName($paymentMethod);
        if(!Validate::isLoadedObject($paymentModule)) {
            $app->setTemplate('404');
            $app->display();
        }
        
        if(!$paymentModule->isActive()) {
            $app->setTemplate('404');
            $app->display();
        }

        if(method_exists($paymentModule, 'verifyPaymentAfter')) {
            $paymentModule->verifyPaymentAfter($params);
        }

        break;
}

$app->setTemplate('payment/payment.status');
$app->display();