Jump to content
kelvinferraz

Liberar acesso após pagamento efetuado - Laravel 5.8

Recommended Posts

Bom dia pessoal!

 

Estou com uma situação, vou tentar colocar de forma clara e objetiva:

Possuo uma aplicação que ainda estou em desenvolvimento no Laravel, a ideia da aplicação é liberar o acesso após a confirmação do pagamento de uma mensalidade, se o usuario não efetuar o pagamento ele não libera o acesso.

Porém existem duas situações:

  1. É o usuário que vai pagar mensalmente e a verificação seria todo mês de um novo boleto gerado;
  2. O usuário que opinar pagar um plano anual então essa verificação seria feita anualmente.

 

A ideia é utilizar ao menos no inicio uma forma de integrar o PagSeguro com o Laravel e fazer essa verificação, eis que surge minha dúvida a que nível isso é possível? Confesso que estou meio perdido em relação a isso, caso alguém tenha algum "case" parecido, será que poderia me dar uma ajuda, ao menos para tentar explicar a melhor forma de fazer esse tipo de validação/acesso?

 

 

Desde já agradeço a todos!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Kakaroto1309
      Preciso de uma ajuda para conectar com o banco. Estava tudo funcionando normalmente com MYSQL agora parou tudo e estou tentando trocar para MYSQLI.
      Não acho o erro, já tentei de tudo.
       
      connection.php
      <? function conecta() { $host = "localhost"; $user = "admin"; $pass = "123456789"; $db = "principal"; //Conexão $conexao = mysqli_connect($host, $user, $pass) or die("Erro na conexão:".mysqli_error()); //Selecionar BD mysqli_select_db($conexao,$db) or die("Erro ao selecionar BD"); } function desconecta() { mysqli_close(); } ?> validate.php
      <? if (empty($_POST) and (empty($_POST['cpUsuario']) OR empty($_POST['cpSenha']))) { header("Location: ../login.php"); exit; } else { include("connection.php"); conecta(); $varUsuario = $_POST['cpUsuario']; $varSenha = sha1($_POST['cpSenha']); $stt = "SELECT ID,txNome,txNivel FROM tbUsuario WHERE txUsuario='$varUsuario' and txSenha='$varSenha' LIMIT 1"; $sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao)); $existe = mysqli_num_rows($sql); if ($existe == 0) { echo "Login invalido ou inexistente na base"; exit; } else { $resultado = mysqli_fetch_assoc($sql); if (!isset($_SESSION)) { session_start(); } $_SESSION['UsuarioID'] = $resultado['ID']; $_SESSION['UsuarioNOME'] = $resultado['txNome']; $_SESSION['UsuarioNIVEL'] = $resultado['txNivel']; header("Location: ../menu.php"); exit; } } ?> O erro agora está dando o seguinte:
      PHP Warning:  mysqli_query() expects parameter 1 to be mysqli, null given in /home4/public_html/connection/validate.php on line 17
       
      Linha 17 é essa:
      $sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao));
       
      Se eu tiro o $conexao do mysqli_query ele da erro de "mysqli_query() expects at least 2 parameters, 1 given" e se eu coloco o erro é "mysqli_query() expects parameter 1 to be mysqli, null given"
       
      Alguem sabe como posso resolver isso?
    • By alvarengacarlos
      Tenho uma Api rest feita com Symfony. Esta api retorna consultas no formato json.
      Tudo foi testado no ambiente localhost:8080.
      Esta é uma controller que retorna a consulta:
      <?php namespace App\Controller\Animal\Bull; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Request; use App\Entity\Animal\Bull\Bull; /** * @Route("/animal") */ class BullGetController extends AbstractController { /** * @Route("/bull/getBull/{id}/{idEarring}", methods={"GET"}, name="get_bull") */ public function getBull(int $id, int $idEarring): Response { $repository = $this->getDoctrine() ->getRepository(Bull::class); $bull = $repository->findOneBy([ 'id' => $id, 'idEarring' => $idEarring ]); return $this->json([ 'idEarring' => $bull->getIdEarring(), 'name' => $bull->getName(), 'breed' => $bull->getBreed(), 'dateOfBirth' => ($bull->getDateOfBirth())->format('Y-m-d'), 'weight' => $bull->getWeight() ]); } } Com pode se ver na imagem consultas feitas a partir do navegador são retornadas respostas.
       
      Quando é feita uma consulta por meio do Fetch javascript o mesmo não ocorre. A resposta obtida não é igual.
      'use strict'; let url = 'http://localhost:8080/animal/bull/getBull/2/2'; const promise = fetch(url) .then( (response) => console.log(response) ); Gostaria de saber o porque disso? Porque a resposta não é igual.
       


    • By violin101
      Caros amigos, saudações...
       
      Gostaria de entender um processo que está me deixando com muitas dúvidas.
       
      Tenho um Sistema onde após o Usuário preencher um Cadastro de Contato/Assunto e avançar, não quero que o usuário consiga voltar para anterior.
       
      Como consigo fazer com que o sistema após avançar uma página não volta para a página anterior ?

      Exemplo:
       
      pág_contato ----> preencheu ----> pág_sucesso.
      não voltar mais
      para a página
      anterior
       
      Grato,
       
      Cesar
       
    • By Quencyjones79
      Olá a todos, sou novo na área de multimídia. Estou a seguir a um momento um ebook sobre a criação de uma base de dados e também a criação de tabelas. Mas quando vinculei as tabelas do banco de dados, no phpmyadmin me deu alguns erros. Fiz a correspondência da chave primária (artist_id da tabela Artist) com a artist_id da tabela Prints (chave estrangeira) e assim por diante. O problema é que ele não mostra minhas relações das tabelas e me dá uma mensagem de erro. Então, alguns de vocês poderiam me ajudar, por favor, a consertar esta situação. Eu serei grato. Cumprimentos.
       
      Ps .: Abaixo envio o arquivo Sql.
       
      Atentamente,

      José Moreira
      -- phpMyAdmin SQL Dump -- version 5.0.2 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1 -- Generation Time: Jan 07, 2021 at 08:49 PM -- Server version: 10.4.14-MariaDB -- PHP Version: 7.2.33 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `ecommerce` -- -- -------------------------------------------------------- -- -- Table structure for table `artists` -- CREATE TABLE `artists` ( `artist_id` int(10) UNSIGNED NOT NULL, `first_name` varchar(20) DEFAULT NULL, `middle_name` varchar(20) DEFAULT NULL, `last_name` varchar(40) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; -- -------------------------------------------------------- -- -- Table structure for table `customers` -- CREATE TABLE `customers` ( `customer_id` int(10) UNSIGNED NOT NULL, `email` varchar(60) NOT NULL, `pass` char(40) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; -- -------------------------------------------------------- -- -- Table structure for table `orders` -- CREATE TABLE `orders` ( `order_id` int(10) UNSIGNED NOT NULL, `customer_id` int(10) UNSIGNED NOT NULL, `total` decimal(10,2) UNSIGNED NOT NULL, `order_date` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -------------------------------------------------------- -- -- Table structure for table `order_contents` -- CREATE TABLE `order_contents` ( `oc_id` int(10) UNSIGNED NOT NULL, `order_id` int(10) UNSIGNED NOT NULL, `print_id` int(10) UNSIGNED NOT NULL, `quantity` tinyint(3) UNSIGNED NOT NULL DEFAULT 1, `price` decimal(6,2) UNSIGNED NOT NULL, `ship_date` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -------------------------------------------------------- -- -- Table structure for table `prints` -- CREATE TABLE `prints` ( `print_id` int(10) UNSIGNED NOT NULL, `artist_id` int(10) UNSIGNED NOT NULL, `print_name` varchar(60) NOT NULL, `price` decimal(6,2) UNSIGNED NOT NULL, `size` varchar(60) DEFAULT NULL, `description` varchar(255) DEFAULT NULL, `image_name` varchar(60) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; -- -- Indexes for dumped tables -- -- -- Indexes for table `artists` -- ALTER TABLE `artists` ADD PRIMARY KEY (`artist_id`), ADD UNIQUE KEY `full_name` (`last_name`,`first_name`,`middle_name`); -- -- Indexes for table `customers` -- ALTER TABLE `customers` ADD PRIMARY KEY (`customer_id`), ADD UNIQUE KEY `email` (`email`), ADD KEY `login` (`email`,`pass`); -- -- Indexes for table `orders` -- ALTER TABLE `orders` ADD PRIMARY KEY (`order_id`), ADD KEY `customer_id` (`customer_id`), ADD KEY `order_date` (`order_date`); -- -- Indexes for table `order_contents` -- ALTER TABLE `order_contents` ADD PRIMARY KEY (`oc_id`), ADD KEY `order_id` (`order_id`), ADD KEY `print_id` (`print_id`), ADD KEY `ship_date` (`ship_date`); -- -- Indexes for table `prints` -- ALTER TABLE `prints` ADD PRIMARY KEY (`print_id`), ADD KEY `artist_id` (`artist_id`), ADD KEY `print_name` (`print_name`), ADD KEY `price` (`price`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `artists` -- ALTER TABLE `artists` MODIFY `artist_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `customers` -- ALTER TABLE `customers` MODIFY `customer_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `orders` -- ALTER TABLE `orders` MODIFY `order_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `order_contents` -- ALTER TABLE `order_contents` MODIFY `oc_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `prints` -- ALTER TABLE `prints` MODIFY `print_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
       

    • By PedroHRLeite
      Estou querendo deixar um rodapé fixo no topo a medida que o mesmo alcança o topo da página, porém estou encontrando dificuldades ao utilizar position: sticky, segue o código completo, se eu colocar a configuração de sticky na classe .side-column funciona bem, porém quero apenas no footer, alguém saber como resolver?
      <!DOCTYPE html> <html> <head> <style> .wideBody .side-column { float: right; order: 2; width: 300px; } .wideBody .side-column footer { position: sticky; position: -webkit-sticky; top: 0; } .wideBody .main-column { align-self: flex-start; float: left; width: 500px; border: 2px solid #4CAF50; } .resultados { border: 2px solid #4CAF50; margin-bottom:25px; position:relative; } footer { border: 2px solid #4CAF50; } </style> </head> <body class="wideBody"> <main> <div> <div class="main-column"> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> </div> <aside class="side-column"> coluna auxiliar <div class="resultados"> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> </div> <footer> rodape fixo </footer> </aside> </div> </main> </body> </html>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.