ssheduardo / sermepa

Clase para utilizar la pasarela de pagos redsys, sermepa.
MIT License
191 stars 59 forks source link

Implementación en componente Joomla #4

Closed lajatronik closed 10 years ago

lajatronik commented 11 years ago

Hola!! Lo primero de todo gracias por tu aporte, es justamente lo que estaba buscando. Quiero añadir esta forma de pago a un componente de gestor de eventos en joomla, pero no hay nada creado. Creo que la mejor opción es, ya que no soy muy ducho con PHP, la pasarela paypal por la de Sermepa, para ello extraigo la parte del código que creo se necesita modificar. Si me puedes ayudar o presupuestar, te lo agradecería:

public function getRedirect() { $action = KRequest::get('post.action', 'string');

    if ($action == "add") 
    {
        $event = $this->getService('com://site/ohanah.model.events')->id(KRequest::get('post.ohanah_event_id', 'int'))->getItem();
        $url = 'index.php?option=com_ohanah&view=event&id='.$event->id.'&Itemid='.KRequest::get('post.Itemid', 'int');

        if ($event->ticket_cost) 
        {

            if ($event->payment_gateway == 'custom') {  
                $url = $event->custom_payment_url;
            } else if ($event->payment_gateway == 'paypal') {
                $number_of_tickets = KRequest::get('post.number_of_tickets', 'int');

                $url = 'https://www.paypal.com/cgi-bin/webscr?cmd=_xclick'.
                        '&business='.JComponentHelper::getParams('com_ohanah')->get('paypal_email').
                        '&email='.KRequest::get('post.email', 'raw').
                        '&amount='.$event->ticket_cost.
                        '&quantity='.$number_of_tickets.
                        '&custom='.KRequest::get('post.ohanah_registration_id', 'int').
                        '&currency_code='.$event->payment_currency.
                        '&item_name='.$number_of_tickets.' tickets to '.$event->title.
                        '&return='.urlencode('http://'.$_SERVER["HTTP_HOST"].JRoute::_('index.php?option=com_ohanah&view=event&id='.$event->id.'&Itemid='.KRequest::get('post.Itemid', 'int'))).
                        '&cancel_return='.urlencode('http://'.$_SERVER["HTTP_HOST"].JRoute::_('index.php?option=com_ohanah&view=event&id='.$event->id.'&Itemid='.KRequest::get('post.Itemid', 'int')));
            }
        }

        if (!$this->_message) {
            return $result = array(
                'message'       => JText::_('YOU_HAVE_JOINED_THIS_EVENT'),
                'messageType'   => 'Notice',
                'url'           => JRoute::_($url, false),
            );
        } else {
            return $result = array(
                'message'       => $this->_message,
                'messageType'   => 'Notice',
                'url'           => JRoute::_($url, false),
            );
        }

    }
    else 
    {           
        $result = array();

        if(!empty($this->_redirect))
        {
            $url = $this->_redirect;

            //Create the url if no full URL was passed
            if(strrpos($url, '?') === false) 
            {
                $url = 'index.php?option=com_'.$this->getIdentifier()->package.'&'.$url;
            }

            $result = array(
                'url'           => JRoute::_($url, false),
                'message'       => $this->_message,
                'messageType'   => $this->_messageType,
            );
        }

        return $result;
    }
}
ssheduardo commented 11 years ago

Hola lamentablemente no conozco dicha plataforma (joomla) te aconsejo buscar algún plugin de compra y adaptarlo si quieres usar sermepa Saludos