se actuliza proyecto de u music

parent 290b5e88
......@@ -69,3 +69,8 @@ front_datos_usuario:
path: mi/cuenta/datos/actualizar
controller: App\FrontendBundle\Controller\CuentaController::actualizarDatos
methods: POST
front_kushki_confirmacion_pago:
path: app/lista/canciones/confirm
controller: App\FrontendBundle\Controller\PagosController::confirmacion
methods: POST
\ No newline at end of file
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="plu_metodo_pago")
* @ORM\Entity(repositoryClass="App\Repository\PluMetodoPagoRepository")
*/
class PluMetodoPago
{
const TIPO_VIGENTE = 1;
const TIPO_NO_VIGENTE = 0;
const ELIMINADO_TRUE = 1;
const ELIMINADO_FALSE = 0;
const ESTADO_VALIDO = 1;
const ESTADO_NO_VALIDO = 0;
const ESTADO_PAGO_OK = 1;
const ESTADO_PAGO_NOK = 0;
/**
* @var int
*
* @ORM\Column(name="mpa_id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $mpaId;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $mpaUserIdentifier;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $mpaSusId;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $mpaTipo;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $mpaPrecio;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $mpaEstadoPago;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $mpaEstado;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $mpaEliminado;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $createdAt;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $updatedAt;
public function getMpaId(): ?int
{
return $this->mpaId;
}
public function setMpaId(?int $mpaId): self
{
$this->mpaId = $mpaId;
return $this;
}
public function getMpaUserIdentifier(): ?string
{
return $this->mpaUserIdentifier;
}
public function setMpaUserIdentifier(?string $mpaUserIdentifier): self
{
$this->mpaUserIdentifier = $mpaUserIdentifier;
return $this;
}
public function getMpaSusId(): ?int
{
return $this->mpaSusId;
}
public function setMpaSusId(?int $mpaSusId): self
{
$this->mpaSusId = $mpaSusId;
return $this;
}
public function getMpaTipo(): ?int
{
return $this->mpaTipo;
}
public function setMpaTipo(?int $mpaTipo): self
{
$this->mpaTipo = $mpaTipo;
return $this;
}
public function getMpaPrecio(): ?int
{
return $this->mpaPrecio;
}
public function setMpaPrecio(?int $mpaPrecio): self
{
$this->mpaPrecio = $mpaPrecio;
return $this;
}
public function getMpaEstadoPago(): ?int
{
return $this->mpaEstadoPago;
}
public function setMpaEstadoPago(?int $mpaEstadoPago): self
{
$this->mpaEstadoPago = $mpaEstadoPago;
return $this;
}
public function getMpaEstado(): ?int
{
return $this->mpaEstado;
}
public function setMpaEstado(?int $mpaEstado): self
{
$this->mpaEstado = $mpaEstado;
return $this;
}
public function getMpaEliminado(): ?int
{
return $this->mpaEliminado;
}
public function setMpaEliminado(?int $mpaEliminado): self
{
$this->mpaEliminado = $mpaEliminado;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(?\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
}
......@@ -23,6 +23,10 @@ class PluSuscripcion
const TIPO_XML_DESINSCRIPCION = 2;
const ORIGEN_PETICION_GEARLABS = 1;
const ORIGEN_PETICION_ENTEL = 2;
const TIPO_SUSCRIPCION_ENTEL = 1;
const TIPO_SUSCRIPCION_KUSHKI = 2;
const TIPO_KUSHKI_SUSCRIPCION = 1;
const TIPO_KUSHKI_DESINSCRIPCION = 2;
/**
* @var int
......@@ -43,6 +47,13 @@ class PluSuscripcion
*/
private $lisId;
/**
* @var int|null
*
* @ORM\Column(name="sus_tipo_suscripcion", type="smallint", nullable=true)
*/
private $susTipoSuscripcion;
/**
* @var string|null
......@@ -138,7 +149,66 @@ class PluSuscripcion
*/
private $susXmlDesinscripcion;
/**
* @var int|null
*
* @ORM\Column(name="sus_ultimo_tipo_kushki", type="integer", nullable=true)
*/
private $susUltimoTipoKushki;
/**
* @var int|null
*
* @ORM\Column(name="sus_http_code_kushki", type="integer", nullable=true)
*/
private $susHttpCodeKushki;
/**
* @var int|null
*
* @ORM\Column(name="sus_response_kushki", type="integer", nullable=true)
*/
private $susResponseKushki;
/**
* @var string|null
*
* @ORM\Column(name="sus_token_kushki", type="string", length=1000, nullable=true)
*/
private $susTokenKushki;
/**
* @var string|null
*
* @ORM\Column(name="sus_pay_type_kushki", type="string", length=1000, nullable=true)
*/
private $susPayTypeKushki;
/**
* @var string|null
*
* @ORM\Column(name="sus_start_date_kushki", type="string", length=1000, nullable=true)
*/
private $susStartDateKushki;
/**
* @var int|null
*
* @ORM\Column(name="sus_suscription_id_kushki", type="integer", nullable=true)
*/
private $susSuscriptionIdKushki;
/**
* @var int|null
*
* @ORM\Column(name="sus_transaction_id_kushki", type="integer", nullable=true)
*/
private $susTransactionIdKushki;
/**
* @var \DateTime|null
*
......@@ -347,17 +417,125 @@ class PluSuscripcion
{
$this->susHttpDescr = $susHttpDescr;
return $this;
}
public function getSusHttpXmlDescr(): ?string
{
return $this->susHttpXmlDescr;
}
public function setSusHttpXmlDescr(?string $susHttpXmlDescr): self
{
$this->susHttpXmlDescr = $susHttpXmlDescr;
return $this;
}
public function getSusTipoSuscripcion(): ?int
{
return $this->susTipoSuscripcion;
}
public function setSusTipoSuscripcion(?int $susTipoSuscripcion): self
{
$this->susTipoSuscripcion = $susTipoSuscripcion;
return $this;
}
public function getSusUltimoTipoKushki(): ?int
{
return $this->susUltimoTipoKushki;
}
public function setSusUltimoTipoKushki(?int $susUltimoTipoKushki): self
{
$this->susUltimoTipoKushki = $susUltimoTipoKushki;
return $this;
}
public function getSusHttpCodeKushki(): ?int
{
return $this->susHttpCodeKushki;
}
public function setSusHttpCodeKushki(?int $susHttpCodeKushki): self
{
$this->susHttpCodeKushki = $susHttpCodeKushki;
return $this;
}
public function getSusResponseKushki(): ?int
{
return $this->susResponseKushki;
}
public function setSusResponseKushki(?int $susResponseKushki): self
{
$this->susResponseKushki = $susResponseKushki;
return $this;
}
public function getSusTokenKushki(): ?string
{
return $this->susTokenKushki;
}
public function setSusTokenKushki(?string $susTokenKushki): self
{
$this->susTokenKushki = $susTokenKushki;
return $this;
}
public function getSusPayTypeKushki(): ?string
{
return $this->susPayTypeKushki;
}
public function setSusPayTypeKushki(?string $susPayTypeKushki): self
{
$this->susPayTypeKushki = $susPayTypeKushki;
return $this;
}
public function getSusStartDateKushki(): ?string
{
return $this->susStartDateKushki;
}
public function setSusStartDateKushki(?string $susStartDateKushki): self
{
$this->susStartDateKushki = $susStartDateKushki;
return $this;
}
public function getSusSuscriptionIdKushki(): ?int
{
return $this->susSuscriptionIdKushki;
}
public function setSusSuscriptionIdKushki(?int $susSuscriptionIdKushki): self
{
$this->susSuscriptionIdKushki = $susSuscriptionIdKushki;
return $this;
}
public function getSusHttpXmlDescr(): ?string
public function getSusTransactionIdKushki(): ?int
{
return $this->susHttpXmlDescr;
return $this->susTransactionIdKushki;
}
public function setSusHttpXmlDescr(?string $susHttpXmlDescr): self
public function setSusTransactionIdKushki(?int $susTransactionIdKushki): self
{
$this->susHttpXmlDescr = $susHttpXmlDescr;
$this->susTransactionIdKushki = $susTransactionIdKushki;
return $this;
}
......
......@@ -37,7 +37,8 @@ class IndexController extends AbstractController {
$modal = $request->get("m", 0);
$log->debug("entrando...HOST : $host |IP : $ip |MSISDN ENTRANTE: $msisdn| MSISDN SESION : $msisdnSesion | MODAL : $modal");
//prueba
$session->set('msisdn','998240036');
if ($session->get('msisdn')) {
$log->debug("1-MSISDN sesion encontrado....");
$msisdn = $session->get('msisdn');
......@@ -52,7 +53,7 @@ class IndexController extends AbstractController {
$log->debug("generando registro de sesion en BD para el msisdn $msisdn....");
$this->generarRegistroSession($em, $msisdn);
}
}else if (!$session->get('msisdn') && $msisdn == "" && $modal == 0) {
}/*else if (!$session->get('msisdn') && $msisdn == "" && $modal == 0) {
$log->debug("3-No se pudo obtener el msisdn....");
$code = Utiles::generarCodiogUnico($ip);
//redirect a php que esta en otro servidor
......@@ -61,7 +62,7 @@ class IndexController extends AbstractController {
));
$statusCode = 302;
return new RedirectResponse($url, $statusCode);
}
}*/
if ($session->get('msisdn')=="") {
......
<?php
namespace App\FrontendBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\PluRelacionesListas;
use App\Entity\PluLista;
use App\Entity\PluSuscripcion;
use App\Entity\PluMetodoPago;
use App\Utilities\Utiles;
use App\Utilities\Kushki;
class PagosController extends AbstractController {
public function confirmacion(Request $request): Response {
$log = Utiles::setLog('App\FrontendBundle\Controller::PagosController::confirmacion', 'app/frontend/kushki/confirmacion');
$em = $this->getDoctrine()->getManager('default');
$ua = $request->headers->get('User-Agent');
$headers = $request->headers->all();
$content = $request->getContent();
$json = new JsonResponse();
$fechaActual = new \DateTime();
$fechaInicioKushki = new \DateTime();
$fechaInicioKushki->modify('+1 days');
$fecha = new \DateTime();
$fechaUnaSemana = $fecha->modify('+7 days');
$log->debug("leyendo parametros de la transaccion kushki....");
$kushkiToken = $request->get('kushkiToken');
$kushkiPaymentMethod = $request->get('kushkiPaymentMethod');
$userIdentifier = $request->get('userIdentifier');
$productId = $request->get('productId');
$productName = $request->get('productName');
$productPrice = $request->get('productPrice');
$listas = $em->getRepository(PluLista::class)->getListasVigentes($userIdentifier);
$lista = $em->getRepository(PluLista::class)->find($productId);
$log->debug("generando objeto de suscripcion relacionado a pago con kushki....");
$suscripcion = new PluSuscripcion();
$suscripcion->setLisId($lista);
$suscripcion->setSusTipoSuscripcion(PluSuscripcion::TIPO_SUSCRIPCION_KUSHKI);
$suscripcion->setSusMsisdn($userIdentifier);
$suscripcion->setSusInicio($fechaActual);
$suscripcion->setSusFin($fechaUnaSemana);
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$suscripcion->setSusEliminado(PluSuscripcion::ELIMINADO_FALSE);
$suscripcion->setSusUltimoTipoKushki(PluSuscripcion::TIPO_KUSHKI_SUSCRIPCION);
$suscripcion->setSusTokenKushki($kushkiToken);
$suscripcion->setSusPayTypeKushki($kushkiPaymentMethod);
$suscripcion->setSusStartDateKushki($fechaInicioKushki->format('Y-m-d'));
$suscripcion->setCreatedAt(new \DateTime());
$suscripcion->setUpdatedAt(new \DateTime());
$em->persist($suscripcion);
$em->flush();
$log->debug("generando registro de metodo de pago...");
$metodoPago = new PluMetodoPago();
$metodoPago->setMpaSusId($suscripcion->getSusId());
$metodoPago->setMpaUserIdentifier($userIdentifier);
$metodoPago->setMpaTipo(PluMetodoPago::TIPO_NO_VIGENTE);
$metodoPago->setMpaPrecio($lista->getLisPrecio());
$metodoPago->setMpaEstadoPago(PluMetodoPago::ESTADO_PAGO_NOK);
$metodoPago->setMpaEstado(PluMetodoPago::ESTADO_NO_VALIDO);
$metodoPago->setMpaEliminado(PluMetodoPago::ELIMINADO_FALSE);
$metodoPago->setCreatedAt(new \DateTime());
$metodoPago->setUpdatedAt(new \DateTime());
$em->persist($metodoPago);
$em->flush();
$log->debug("realizando peticion a gateway de kushki - SUSCRIPCION....");
//llamada a curl de gateway-suscripcion
$kushkiSuscripcion = new Kushki();
$kushkiSuscripcion->setToken($kushkiToken);
$kushkiSuscripcion->setUserIdentifier($userIdentifier);
$kushkiSuscripcion->setInternalId($suscripcion->getSusId());
$kushkiSuscripcion->setPeriodicity(Utiles::getParametroConfiguracion("periodoSuscripcion", $em));
$kushkiSuscripcion->setProductDescription("Lista");
$kushkiSuscripcion->setProductName($productName);
$kushkiSuscripcion->setProductPrice($productPrice);
$kushkiSuscripcion->setName(null);
$kushkiSuscripcion->setLastName(null);
$kushkiSuscripcion->setEmail(null);
$result = $kushkiSuscripcion->callSuscripcionKushki($em);
$log->debug($result);
$log->debug("datos recolectados status : " . print_r($content,true));
return $this->render('frontend/paginas/confirm.html.twig', [
"listas" => $listas,
"msisdn"=>$userIdentifier
]);
}
}
......@@ -10,11 +10,12 @@ use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\PluRelacionesListas;
use App\Entity\PluParametroConfiguracion;
use App\Entity\PluLista;
use App\Entity\PluImagen;
use App\Entity\PluCancion;
use App\Entity\PluSuscripcion;
use App\Entity\PluMetodoPago;
use App\Utilities\Utiles;
use App\Utilities\EntelVPW;
......@@ -60,7 +61,7 @@ class SuscripcionController extends AbstractController
else
$lista = $em->getRepository(PluLista::class)->find($lisId);
return $this->render('frontend/paginas/mostrarContratar.html.twig', array("lista"=>$lista, "listas"=>$listas, "msisdn"=>$msisdn));
return $this->render('frontend/paginas/mostrarContratar.html.twig', array("lista"=>$lista, "listas"=>$listas, "msisdn"=>$msisdn, "publicMerchantId" => "20000000103139130000"));
}
......@@ -112,6 +113,7 @@ class SuscripcionController extends AbstractController
$suscripcion = new PluSuscripcion();
$suscripcion->setLisId($lista);
$suscripcion->setSusTipoSuscripcion(PluSuscripcion::TIPO_SUSCRIPCION_ENTEL);
$suscripcion->setSusMsisdn($msisdn);
$suscripcion->setSusInicio($fechaActual);
$suscripcion->setSusFin($fechaUnaSemana);
......@@ -120,10 +122,27 @@ class SuscripcionController extends AbstractController
$suscripcion->setCreatedAt(new \DateTime());
$suscripcion->setUpdatedAt(new \DateTime());
//echo "aqui";
$em->persist($suscripcion);
$em->flush();
// echo "aqui2:" . $resultado["statusCode"];
$log->debug("generando registro de metodo de pago...");
$metodoPago = new PluMetodoPago();
$metodoPago->setMpaSusId($suscripcion->getSusId());
$metodoPago->setMpaUserIdentifier($msisdn);
$metodoPago->setMpaTipo(PluMetodoPago::TIPO_NO_VIGENTE);
$metodoPago->setMpaPrecio($lista->getLisPrecio());
$metodoPago->setMpaEstadoPago(PluMetodoPago::ESTADO_PAGO_NOK);
$metodoPago->setMpaEstado(PluMetodoPago::ESTADO_NO_VALIDO);
$metodoPago->setMpaEliminado(PluMetodoPago::ELIMINADO_FALSE);
$metodoPago->setCreatedAt(new \DateTime());
$metodoPago->setUpdatedAt(new \DateTime());
$em->persist($metodoPago);
$em->flush();
$log->debug("Suscripcion generada ".$suscripcion->getSusId());
$log->debug("Haciendo peticion a entel VPW....");
$resultado = EntelVPW::suscribirEntel($msisdn, $lista, $suscripcion, $em);
......@@ -135,6 +154,13 @@ class SuscripcionController extends AbstractController
if($resultado["statusCode"] == 200){
$suscripcion->setSusVigente(PluSuscripcion::VIGENTE);
$metodoPago->setMpaTipo(PluMetodoPago::TIPO_VIGENTE);
$metodoPago->setMpaEstadoPago(PluMetodoPago::ESTADO_PAGO_OK);
$metodoPago->setMpaEstado(PluMetodoPago::ESTADO_VALIDO);
$em->persist($metodoPago);
$em->flush();
$em->persist($suscripcion);
$em->flush();
......@@ -145,6 +171,8 @@ class SuscripcionController extends AbstractController
return $this->render('frontend/paginas/resultado.html.twig', [
"lista" => $lista,
"listas" => $listas,
"mostrarKushki" => 0,
"publicMerchantId" => "",
"mensaje" => "Suscripción realizada correctamente",
"isChrome" => Utiles::isWindowsChrome($ua)
]);
......@@ -161,6 +189,8 @@ class SuscripcionController extends AbstractController
"lista" => $lista,
"listas" => $listas,
"msisdn" => $msisdn,
"mostrarKushki" => 1,
"publicMerchantId" => Utiles::getParametroConfiguracion("publicKeyKushki", $em),
"error" => "Estimado usuario, no se ha podido realizar la suscripción",
"isChrome" => Utiles::isWindowsChrome($ua)
]);
......
<?php
namespace App\Repository;
use App\Entity\PluMetodoPago;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;
/**
* @method PluMetodoPago|null find($id, $lockMode = null, $lockVersion = null)
* @method PluMetodoPago|null findOneBy(array $criteria, array $orderBy = null)
* @method PluMetodoPago[] findAll()
* @method PluMetodoPago[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class PluMetodoPagoRepository extends ServiceEntityRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, PluMetodoPago::class);
}
// /**
// * @return PluMetodoPago[] Returns an array of PluMetodoPago objects
// */
/*
public function findByExampleField($value)
{
return $this->createQueryBuilder('p')
->andWhere('p.exampleField = :val')
->setParameter('val', $value)
->orderBy('p.id', 'ASC')
->setMaxResults(10)
->getQuery()
->getResult()
;
}
*/
/*
public function findOneBySomeField($value): ?PluMetodoPago
{
return $this->createQueryBuilder('p')
->andWhere('p.exampleField = :val')
->setParameter('val', $value)
->getQuery()
->getOneOrNullResult()
;
}
*/
}
<?php
namespace App\Utilities;
use App\Utilities\Utiles;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of Kushki
*
* @author Ing 04
*/
class Kushki {
public $token;
public $productName;
public $productPrice;
public $productDescription;
public $userIdentifier;
public $name;
public $lastName;
public $email;
public $periodicity;
public $subscriptionStartDate;
public $internalId;
public function callSuscripcionKushki($em) {
$log = Utiles::setLog("Kushki::callSuscripcionKushki", 'project/ws/kushki/pagos/suscripcion');
$url = Utiles::getParametroConfiguracion("urlBaseGatewayPagos", $em).Utiles::getParametroConfiguracion("suscripcionPagos", $em).Utiles::getParametroConfiguracion("publicKeyKushki", $em)."/".Utiles::getParametroConfiguracion("clientIdKushki", $em);
try {
$log->debug('suscribiendo kushki... url:' . $url);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->getPostFields());
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$output = curl_exec($ch);
$status_code_suscribir = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$log->debug('Retorno status a suscribir externo:' . $status_code_suscribir . ' | desc:' . $output);
$data = json_decode($output, true);
//TODO: VERIFICAR LA RESPUESTA OBTENIDA EN FORMATO JSON
return $data;
} catch (\Exception $e) {
$log->err(' Error al suscribir. url:' . $url . ' .Exception: ' . $e);
$status_code = null;
$desc = null;
$logError = Utiles::setLog("Kushki::callSuscripcionKushki", 'error/wsKushkiSuscripcion');
$logError->err(' Error al suscribir. url:' . $url . ' .Exception: ' . $e);
}
}
public function callCancelarSuscripcionKushki($em) {
}
public function getPostFields(){
return "token=".$this->getToken()
."&productName=".$this->getProductName()
."&productPrice=".$this->getProductPrice()
."&productDescription=".$this->getProductDescription()
."&userIdentifier=".$this->getUserIdentifier()
."&name=".$this->getName()
."&lastName=".$this->getLastName()
."&email=".$this->getEmail()
."&periodicity=".$this->getPeriodicity()
."&subscriptionStartDate=".$this->getSubscriptionStartDate()
."&internalId=".$this->getInternalId();
}
public function getToken() {
return $this->token;
}
public function getProductName() {
return $this->productName;
}
public function getProductPrice() {
return $this->productPrice;
}
public function getProductDescription() {
return $this->productDescription;
}
public function getUserIdentifier() {
return $this->userIdentifier;
}
public function getName() {
return $this->name;
}
public function getLastName() {
return $this->lastName;
}
public function getEmail() {
return $this->email;
}
public function getPeriodicity() {
return $this->periodicity;
}
public function getSubscriptionStartDate() {
return $this->subscriptionStartDate;
}
public function getInternalId() {
return $this->internalId;
}
public function setToken($token) {
$this->token = $token;
}
public function setProductName($productName) {
$this->productName = $productName;
}
public function setProductPrice($productPrice) {
$this->productPrice = $productPrice;
}
public function setProductDescription($productDescription) {
$this->productDescription = $productDescription;
}
public function setUserIdentifier($userIdentifier) {
$this->userIdentifier = $userIdentifier;
}
public function setName($name) {
$this->name = $name;
}
public function setLastName($lastName) {
$this->lastName = $lastName;
}
public function setEmail($email) {
$this->email = $email;
}
public function setPeriodicity($periodicity) {
$this->periodicity = $periodicity;
}
public function setSubscriptionStartDate($subscriptionStartDate) {
$this->subscriptionStartDate = $subscriptionStartDate;
}
public function setInternalId($internalId) {
$this->internalId = $internalId;
}
}
......@@ -37,8 +37,8 @@ class Utiles {
$parametro = $em->getRepository(PluParametroConfiguracion::class)->getParametroConfiguracion($nombre);
print_r($parametro);
exit;
//print_r($parametro);
//exit;
if ($parametro)
$str_valor = $parametro->getPcoValor();
......
{% extends 'frontend/base.html.twig' %}
{% block title %}Confirmacion{% endblock %}
{% block body %}
<header class="masthead-sc text-white">
<div class="masthead-content">
<!-- header con mensaje -->
<form action="{{ path('front_index') }}">
<div class="container subheader-info col-10 offset-1 mt-4 mb-3">
<div class="row">
<div class="col-12">
<p class="numero-top text-left">
</p>
{% if error is defined %}
<div align="center">
<div class="alert alert-danger"> {{ error }} </div>
</div>
{% endif %}
{% if mensaje is defined %}
<div align="center">
<div class="alert alert-success"> {{ mensaje }} </div>
</div>
{% endif %}
<button type="submit" class="btn btn-codigo-suscripcion col-11 mt-4 mb-5">Volver</button>
</div>
</div>
</div>
</form>
</div>
</header>
{% endblock %}
......@@ -7,46 +7,52 @@
{% block body %}
<header class="masthead-sc text-white">
<div class="masthead-content">
<div class="masthead-content">
<!-- header con mensaje -->
<!-- header con mensaje -->
<form action="{{ path('front_confirmar_contratar') }}" method="post" }}>
<input type="hidden" id="lisId" name="lisId" value="{{ lista.lisId }}">
<input type="hidden" id="msisdn" name="msisdn" value="{{ msisdn }}">
<form action="{{ path('front_confirmar_contratar') }}" method="post">
<input type="hidden" id="lisId" name="lisId" value="{{ lista.lisId }}">
<input type="hidden" id="msisdn" name="msisdn" value="{{ msisdn }}">
<div class="container subheader-info col-10 offset-1 mt-4 mb-3">
<div class="row">
<div class="col-12">
<p class="numero-top text-left">
{{ lista.lisNombre }} <a href="{{ path('front_canciones_lista', { 'lisId': lista.lisId }) }}" target="_blank">(Ver canciones) </a>
</p>
<p>Suscribete a esta categoria por $500 semanales</p>
<button type="submit" class="btn btn-codigo-suscripcion col-11 mt-4 mb-5">Suscríbete aquí</button>
<div class="container subheader-info col-10 offset-1 mt-4 mb-3">
<div class="row">
<div class="col-12">
<p class="numero-top text-left">
{{ lista.lisNombre }} <a href="{{ path('front_canciones_lista', { 'lisId': lista.lisId }) }}" target="_blank">(Ver canciones) </a>
</p>
<p>Suscribete a esta categoria por $500 semanales</p>
<button type="submit" class="btn btn-codigo-suscripcion col-11 mt-4 mb-5">Suscríbete aquí</button>
{#prueba metodo de pago#}
<h4 class="ti-beneficios">Beneficios</h4>
</div>
</div>
</div>
</form>
<div class="container">
<div class="row">
{#prueba metodo de pago#}
<h4 class="ti-beneficios">Beneficios</h4>
</div>
</div>
</div>
</form>
<div class="col-11">
<ul>
{% if lista.lisNombre=='Rock' %}
<li class="item-suscripcion mb-2">50% descuento en el resto de las canciones de la categoría Rock</li>
{% endif %}
<li class="item-suscripcion mb-2">Pago Fácil el monto se descontara automáticamente de tu prepago o se abonara a tu plan</li>
<li class="item-suscripcion mb-2">Tenemos canciones nuevas toda la semanas!</li>
<li class="item-suscripcion mb-2">Participa por increíbles premios.</li>
</ul>
<div class="container">
<div class="row">
<div class="col-11">
<ul>
{% if lista.lisNombre=='Rock' %}
<li class="item-suscripcion mb-2">50% descuento en el resto de las canciones de la categoría Rock</li>
{% endif %}
<li class="item-suscripcion mb-2">Pago Fácil el monto se descontara automáticamente de tu prepago o se abonara a tu plan</li>
<li class="item-suscripcion mb-2">Tenemos canciones nuevas toda la semanas!</li>
<li class="item-suscripcion mb-2">Participa por increíbles premios.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
</header>
{% endblock %}
{% extends 'frontend/base.html.twig' %}
{% block title %}Reproductor{% endblock %}
{% block stylesheets %}
<link href="{{asset('frontend/css/styles-player.css')}}" rel="stylesheet">
<link href="{{asset('frontend/css/styles-player.css')}}" rel="stylesheet">
{% endblock %}
{% block body %}
<header class="masthead-sc text-white">
<header class="masthead-sc text-white">
<div class="masthead-content">
<div class="masthead-content">
<div class="container subheader-info col-10 offset-1 mt-4 mb-3">
<div class="row">
<div class="col-12">
<p class="numero-top text-left">
{{ lista.getLisNombre() }}
</p>
{% if error is defined %}
<div align="center">
<div class="alert alert-danger"> {{ error }} </div>
</div>
{% endif %}
<!-- header con mensaje -->
<form action="{{ path('front_index') }}"}}>
<div class="container subheader-info col-10 offset-1 mt-4 mb-3">
<div class="row">
<div class="col-12">
<p class="numero-top text-left">
{{ lista.getLisNombre() }}
</p>
{% if error is defined %}
<div align="center">
<div class="alert alert-danger"> {{ error }} </div>
</div>
{% endif %}
{% if mensaje is defined %}
<div align="center">
<div class="alert alert-success"> {{ mensaje }} </div>
</div>
{% endif %}
{% if mensaje is defined %}
<div align="center">
<div class="alert alert-success"> {{ mensaje }} </div>
</div>
{% endif %}
<button type="submit" class="btn btn-codigo-suscripcion col-11 mt-4 mb-5">Volver</button>
</div>
{% if mostrarKushki == 1%}
<div class="col-12">
<form id="kushki-pay-form" action="confirm" method="post">
<input type="hidden" name="userIdentifier" value="{{ msisdn }}">
<input type="hidden" name="productId" value="{{ lista.getLisId() }}">
<input type="hidden" name="productPrice" value="{{ lista.getLisPrecio() }}">
<input type="hidden" name="productName" value="{{ lista.getLisNombre() }}">
</form>
</div>
{% endif %}
</div>
</div>
</div>
<!-- header con mensaje -->
<form action="{{ path('front_index') }}">
<div class="container subheader-info col-10 offset-1 mt-4 mb-3">
<div class="row">
<div class="col-12">
<button type="submit" class="btn btn-codigo-suscripcion col-11 mt-4 mb-5">Volver</button>
</div>
</div>
</div>
</form>
</div>
</form>
</div>
</header>
</header>
{% endblock %}
{%block javascripts %}
{% if mostrarKushki == 1%}
<script src="https://cdn.kushkipagos.com/kushki-checkout.js"></script>
<script type="text/javascript">
var kushki = new KushkiCheckout({
form: "kushki-pay-form",
merchant_id: "{{publicMerchantId}}",
amount: "500.0",
currency: "CLP",
payment_methods: ["credit-card"], // Payments Methods enabled
is_subscription: false, // Optional
inTestEnvironment: true,
regional: false // Optional
});
</script>
{%endif%}
</script>
{%endblock%}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment