Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Magni

Gaget de Compra de Recargas Electrónicas

Recommended Posts

Olá, todos!
Preciso de uma ajudinha...

Preciso indicações gerais do que fazer, ou seja, os primeiros passos...
Pretendo criar um "GADGET" de compras de recargas electrónicas, usando "PHP & MySqL, claro.
Gostarias muito de quais são os procedimentos...
Como vai Funcionar?

- O usuário faz o cadastro.
- O Usuário faz uma compra dos créditos, através de um depósito na minha conta...

- Através dessa conta, o usuário poderá comprar recargas electrónicas (dados e voz) das diferentes operadoras existentes no mercado...
ABRAÇOS À TODOS...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 hours ago, Magni said:

Preciso de uma ajudinha...

Ajudinha? Se tá e loco, pelo jeito você tem a idéia e precisa só do resto kkkkk

 

De qualquer forma, vai umas dicas, se precisar trabalhar com transações bancárias,

dados pessoais, cartoes de crédito e etc você deve obrigatoriamente usar https, além

do mais, tudo isso envolve um serviço muito bem feito e pensado para não expor

o sistema a falhas desnessárias e nisso entra, sql injection, senhas salva com segurança,

criptografia, servidor competente, automação de diversas funções (e / ou avaliação de

api's disponíveis para interligar e automatizar as recargas) e etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Michell.
Obrigado por compartilhar seu conhecimento.
Por outro lado, gostaria de saber quais são os Frameworks, bibliotecas e ferramentas a serem usadas no "BackEn", que dalguma forma vão facilitar o processamento das recargas. Vale citar que não pretendo processar cartões de Crédito, nem de débito.
Abaixo segue a ideia mais resumida:

Como vai Funcionar?
- Eu compro as recargas electrónicas nas operadoras.
- O usuário faz o cadastro no meu site.
- O Usuário faz uma compra dos créditos, através de um depósito na minha conta...
- Através dessa conta, o usuário poderá comprar recargas electrónicas (dados e voz) das diferentes operadoras existentes no mercado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por MirukaBr
      Olá galera, sou bem iniciante em html, porém de pouco em pouco tô tentando aprender. Queria fazer uma espécie de checkout para uma loja que estou fazendo, e pra isso usei uma base de formulário para fazer isso, pois o Mercado Pago não salva seus dados de endereço, então achei melhor fazer uma página de checkout para isso. Com ajuda de um gerador que encontrei fuçando na net, consegui o código que colocarei abaixo, porém no mesmo site do gerador, não oferece o botão de enviar. Queria saber como faço para enviar o formulário para meu e-mail ou outro lugar e após isso redirecionar o comprador para o Mercado Pago para efetuar o pagamento, desde já fico agradecido !!!
       
      Código abaixo:
       
      <form class="form-horizontal">
      <fieldset>
      <!-- Form Name -->
      <legend>Checkout</legend>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Nome ">Nome</label>  
        <div class="col-md-4">
        <input id="Nome " name="Nome " type="text" placeholder="Seu nome" class="form-control input-md">
          
        </div>
      </div>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Sobrenome">Sobrenome</label>  
        <div class="col-md-4">
        <input id="Sobrenome" name="Sobrenome" type="text" placeholder="Seu sobrenome" class="form-control input-md">
          
        </div>
      </div>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Endereço">Endereço</label>  
        <div class="col-md-4">
        <input id="Endereço" name="Endereço" type="text" placeholder="Primeira linha do endereço" class="form-control input-md">
          
        </div>
      </div>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Endereço2">Nº, Complemento...</label>  
        <div class="col-md-4">
        <input id="Endereço2" name="Endereço2" type="text" placeholder="Informações adicionais do endereço" class="form-control input-md">
          
        </div>
      </div>
      <!-- Text input-->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Cidade">Cidade</label>  
        <div class="col-md-4">
        <input id="Cidade" name="Cidade" type="text" placeholder="Sua cidade" class="form-control input-md">
          
        </div>
      </div>
      <!-- Multiple Checkboxes (inline) -->
      <div class="form-group">
        <label class="col-md-4 control-label" for="Estado">Estado</label>
        <div class="col-md-4">
          <label class="checkbox-inline" for="Estado-0">
            <input type="checkbox" name="Estado" id="Estado-0" value="AC">
            AC
          </label>
          <label class="checkbox-inline" for="Estado-1">
            <input type="checkbox" name="Estado" id="Estado-1" value="AL">
            AL
          </label>
          <label class="checkbox-inline" for="Estado-2">
            <input type="checkbox" name="Estado" id="Estado-2" value="AP">
            AP
          </label>
          <label class="checkbox-inline" for="Estado-3">
            <input type="checkbox" name="Estado" id="Estado-3" value="AM">
            AM
          </label>
          <label class="checkbox-inline" for="Estado-4">
            <input type="checkbox" name="Estado" id="Estado-4" value="BA">
            BA
          </label>
          <label class="checkbox-inline" for="Estado-5">
            <input type="checkbox" name="Estado" id="Estado-5" value="CE">
            CE
          </label>
          <label class="checkbox-inline" for="Estado-6">
            <input type="checkbox" name="Estado" id="Estado-6" value="DF">
            DF
          </label>
          <label class="checkbox-inline" for="Estado-7">
            <input type="checkbox" name="Estado" id="Estado-7" value="ES">
            ES
          </label>
          <label class="checkbox-inline" for="Estado-8">
            <input type="checkbox" name="Estado" id="Estado-8" value="GO">
            GO
          </label>
          <label class="checkbox-inline" for="Estado-9">
            <input type="checkbox" name="Estado" id="Estado-9" value="MA">
            MA
          </label>
          <label class="checkbox-inline" for="Estado-10">
            <input type="checkbox" name="Estado" id="Estado-10" value="MT">
            MT
          </label>
          <label class="checkbox-inline" for="Estado-11">
            <input type="checkbox" name="Estado" id="Estado-11" value="MS">
            MS
          </label>
          <label class="checkbox-inline" for="Estado-12">
            <input type="checkbox" name="Estado" id="Estado-12" value="MG">
            MG
          </label>
          <label class="checkbox-inline" for="Estado-13">
            <input type="checkbox" name="Estado" id="Estado-13" value="PA">
            PA
          </label>
          <label class="checkbox-inline" for="Estado-14">
            <input type="checkbox" name="Estado" id="Estado-14" value="PB">
            PB
          </label>
          <label class="checkbox-inline" for="Estado-15">
            <input type="checkbox" name="Estado" id="Estado-15" value="PR">
            PR
          </label>
          <label class="checkbox-inline" for="Estado-16">
            <input type="checkbox" name="Estado" id="Estado-16" value="PE">
            PE
          </label>
          <label class="checkbox-inline" for="Estado-17">
            <input type="checkbox" name="Estado" id="Estado-17" value="PI">
            PI
          </label>
          <label class="checkbox-inline" for="Estado-18">
            <input type="checkbox" name="Estado" id="Estado-18" value="RJ">
            RJ
          </label>
          <label class="checkbox-inline" for="Estado-19">
            <input type="checkbox" name="Estado" id="Estado-19" value="RN">
            RN
          </label>
          <label class="checkbox-inline" for="Estado-20">
            <input type="checkbox" name="Estado" id="Estado-20" value="RS">
            RS
          </label>
          <label class="checkbox-inline" for="Estado-21">
            <input type="checkbox" name="Estado" id="Estado-21" value="RO">
            RO
          </label>
          <label class="checkbox-inline" for="Estado-22">
            <input type="checkbox" name="Estado" id="Estado-22" value="RR">
            RR
          </label>
          <label class="checkbox-inline" for="Estado-23">
            <input type="checkbox" name="Estado" id="Estado-23" value="SC">
            SC
          </label>
          <label class="checkbox-inline" for="Estado-24">
            <input type="checkbox" name="Estado" id="Estado-24" value="SP">
            SP
          </label>
          <label class="checkbox-inline" for="Estado-25">
            <input type="checkbox" name="Estado" id="Estado-25" value="SC">
            SC
          </label>
          <label class="checkbox-inline" for="Estado-26">
            <input type="checkbox" name="Estado" id="Estado-26" value="SE">
            SE
          </label>
          <label class="checkbox-inline" for="Estado-27">
            <input type="checkbox" name="Estado" id="Estado-27" value="TO">
            TO
          </label>
        </div>
      </div>
      </fieldset>
      </form>
       
    • Por Gkings_88
      Boa noite!!
       
      Tenho um trabalho onde tenho que fazer o desenvolvimento de um algoritmo para uma bilheteria de um teatro e estou tendo uns problema com a consulta de assentos reservados, com a venda e o faturamento, por favor, poderiam me ajudar.
      Obs.: A variável de tipo e porque vou ter que inserir está parte para perguntar o tipo e para ter o preço diferente para cada tipo.
       
      Este é o código: 
       
      #include <stdio.h> #include <stdlib.h> int CAD[20][25]; int opcao,peca,t,m,g,sala; char data1[10]; char data2[10]; char data3[10]; char horario1[6]; char horario2[6]; char horario3[6]; char horario4[6]; char horario5[6]; char horario6[6]; char sala1[40]; char sala2[40]; char sala3[40]; int tipo; int inteiro=0; int meia=0; int gratis=0; int i; int j; void CadastrarPeca(){ printf("\nPeca 1: "); gets(sala1); printf("\nData: "); gets(data1); printf("\nHorario 1: "); gets(horario1); printf("\nHorario 2: "); gets(horario2); printf("\nPeca 2: "); gets(sala2); printf("\nData: "); gets(data2); printf("\nHorario 1: "); gets(horario3); printf("\nHorario 2: "); gets(horario4); printf("\nPeca 3: "); gets(sala3); printf("\nData: "); gets(data3); printf("\nHorario 1: "); gets(horario5); printf("\nHorario 2: "); gets(horario6); printf("\n\n"); printf("Pecas cadastradas com sucesso."); printf("\n\n"); } void ComprarIngresso(){ printf("Escolha a peca: \n\n"); printf("1 - %s\n", sala1); printf("2 - %s\n", sala2); printf("3 - %s\n\n", sala3); printf("Comando: "); scanf("%d", &peca); if(peca==1){ printf(""); } printf("\nFila: "); scanf("%d", &i); printf("\nAssento: "); scanf("%d", &j); printf("Qual tipo de ingresso: \n\n"); printf("1 - Inteira\n"); printf("2 - Meia\n"); printf("3 - Crianças carentes\n\n"); printf("Comando: "); scanf("%d", &tipo); switch(tipo){ case 1: inteiro + 1; break; case 2: meia + 1; break; case 3: gratis + 1; } if(CAD[i][j]==0){ CAD[i][j] = 1; printf("\n\nAssento reservado com sucesso!\n\n"); printf("\nIngresso: \n"); printf("Fileira: [%d] Assento: [%d]\n\n", i, j); }else{ printf("\nAssento ocupado!\n\n"); } } void CancelarIngresso(){ printf("\nFila: "); scanf("%d", &i); printf("\nAssento: "); scanf("%d", &j); if(CAD[i][j]==1){ CAD[i][j]=0; printf("\n\nReserva cancelada!\n\n"); }else{ printf("Nenhuma reserva para este assento."); } } void Faturar(){ } int main(void){ for(i = 0; i < 20; i++){ for(j = 0; j < 25; j++){ CAD[i][j]=0; } } do{ printf("_________________________________________________________"); printf("\n\n********** SEJA BEM-VINDO(A) AO TEATRO AURORA! **********\n\n"); printf("_________________________________________________________"); printf("\n\n"); printf("1 - Cadastrar Peca\n"); printf("2 - Comprar Ingressos\n"); printf("3 - Cancelar Ingresso\n"); printf("4 - Faturar\n"); printf("5 - Encerrar o Sistema\n"); printf("_________________________________________________________"); printf("\n\n"); printf("Comando: "); scanf("%d", &opcao); printf("\n\n"); switch(opcao){ case 1: CadastrarPeca(); break; case 2: ComprarIngresso(); break; case 3: CancelarIngresso(); break; case 4: break; } }while(opcao!=5); system("pause"); return 0; }  
    • Por Joob
      Boas Malta,
       
      Básicamente queria fazer uma contagem de 30 dias, com desactivação do serviço em si, ou seja, Comprava e Fica do tipo "Faltam 30 Dias / Faltam 29 Dias, etc.." depois no fim dos dias, ficaria "Comprar Novamente" ..
      Sei que não está bem, precisava era de uma ajuda.
       
      Tenho desta forma a chamada
      <?php if($account->SERVICO1) : ?> <font color="#BB0306"> <?php if(isset($_POST['buy1'])) { $buy1 = date('Y-m-d H:i:s');; $buy1->add(new DateInterval('P30D')); echo "" . $buy1 . "\n"; } ?> </font> <?php else : ?> <font color="#0C9620"><?= $language->store->SERVICO1->no_limit ?></font> <?php endif; ?> Já coloquei de outra forma só para colocar como se tivesse comprado e aparecesse a diferenca dos 30 dias. ou seja, a data ficava com + 30 dias do dia de hoje por exemplo.
      Queria era adicionar a data da compra que quando clicassem no botão da compra de comprar, que adicionasse os dias que faltavam para renovar e quando chegasse ao fim, voltava novamente ao "Comprar" (exemplo)..
       
      Tenho o botão da chamada assim
      <a href="store/purchase/COMPRA1/<?= Security::csrf_get_session_token('url_token'); ?>" class="label label-success label-store btn btn-dark" data-confirm="<?= $language->store->confirm_purchase; ?>"> <?php printf($language->store->display->purchase); ?> </a> Se me conseguissem dar uma ajuda para colocar na database, acho que seria melhor para a configuração/registo do dia.
       
      Não sei se me fiz entender.
      Obrigado.
       
       
      Abraço,
    • Por dutopfave
      Boa Noite, tenho um sistema de carrinho de compra, mais ajustei para um sistema de vendas/estoque, pega normal, seleciona o produto, tem como atualizar a qtd e excluir, mais o cliente pediu para adicionar um campo q chama valor adicional, q pode ser usado para coloca um valor de frete por exemplo ou taxa (%), ate blz ta certo, mais quando seleciono dois produto, e coloco um valor adicional em 1 dos produtos, ele acaba atualizando os 2 produto, e ele só funciona se coloca o valor no produto em ordem decrescente, se o produto q adiciono primeiro, coloca um valor adicional, ele não funciona, fica como 0, ai se coloca o valor no 2 produto adicionado, ai ele adiciona só q nos dois 2 produto, certo seria mostra o valor adicional no produto desejável, segue o código:
       
      cogido em php que faz todo o funcionamento, foca apenas no  " if(isset($_POST['adicional'])){  "  q é aonde atuliza o valor adicional
      <?php session_start(); if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //adiciona produto //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($_GET['id']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; }else{ $_SESSION['carrinho'][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } //ALTERAR QUANTIDADE if(isset($_POST['up'])){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['carrinho'][$id] = $qtd; }else{ unset($_SESSION['carrinho'][$id]); } } } } //ALTERAR VALOR ADICIONAL if(isset($_POST['adicional'])){ if(is_array($_POST['prods'])){ foreach($_POST['prods'] as $id => $p_valor_adicional){ $id = intval($id); $p_valor_adicional = intval($p_valor_adicional); if(!empty($p_valor_adicional) || $p_valor_adicional <> 0){ $_SESSION['carrinho'][$id] = $p_valor_adicional; }else{ unset($_SESSION['carrinho'][$id]); } } } } ?>  
      codigo do html e php, com o select listando os produtos:
       
      <div class="row"> <div class="col-lg-12"> <div class="card"> <div class="card-block"> <h4 class="card-title">Resumo do Pedido</h4> <div class="table-responsive m-t-20"> <table class="table stylish-table color-table muted-table"> <thead> <tr> <th>Produto</th> <th class="text-center">Quantidade</th> <th class="text-center">Preço</th> <th class="text-center">Preço Adicional</th> <th class="text-center">Total</th> <th> </th> </tr> </thead> <form action="?id_cliente=<?php echo $_GET['id_cliente']; ?>" method="post"> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo '<tr> <td class="center top-20 bottom-40" style="text-align: center; padding: 20px;" colspan="5"><img src="assets/images/icon_cart.fw.png"><br/>Não há produto no carrinho</td> </tr>'; }else{ foreach($_SESSION['carrinho'] as $id => $qtd){ $Seleciona_Produtos = $pdo->prepare("SELECT * FROM tb_sys_produtos WHERE p_id = :id"); $Seleciona_Produtos->bindValue(":id", $id); $Seleciona_Produtos->execute(); if($Seleciona_Produtos->rowCount() > 0){ foreach($Seleciona_Produtos->fetchAll() as $ResAssoc){ $Total += $ResAssoc['p_valor_venda'] * $qtd + $p_valor_adicional; echo '<tr>'; echo '<td class="">'.$ResAssoc['p_nome'].'</td>'; echo '<td class="text-center"><input type="text" size="3" class="text-center" name="prod['.$id.']" value="'.$qtd.'" /></td>'; echo '<td class="text-center">R$ '.number_format($ResAssoc['p_valor_venda'],2,",",".").'</td>'; echo '<td class="text-center"><input type="text" size="10" class="text-center" name="prods['.$id.']" value="'.$p_valor_adicional.'" /></td>'; echo '<td class="text-center">R$ '.number_format($ResAssoc['p_valor_venda'] * $qtd + $p_valor_adicional,2,",",".").'</td>'; echo '<td class="text-center"><a href="?id_cliente='.$_GET['id_cliente'].'&acao=del&id='.$id.'" class="text-inverse btn btn-danger btn-xs" title="" data-toggle="tooltip" data-original-title="Dar Baixa"><i class="ti-trash" style="color:#fff;"></i></a></td>'; echo '</tr>'; } } } ?> <tr> <td><button type"submit" name="up[]" class="btn btn-primary ladda-button" data-style="zoom-out"> <span class="ladda-label fa fa-refresh"></span> Atualizar Quantidade </button> </td> <td><button type"submit" name="adicional[]" class="btn btn-success ladda-button" data-style="zoom-out"> <span class="ladda-label fa fa-refresh"></span> Atualizar Adicional </button> </td> <td></td> <td></td> <td class="text-center"><h5>Subtotal</h5></td> <td class="text-center"><h5><strong>R$<?php echo number_format($Total,2,",","."); ?></strong></h5></td> </tr> <tr> <td>   </td> <td>   </td> <td></td> <td></td> <td class="text-center"><h3>Total</h3></td> <td class="text-center"><h3><strong>R$<?php echo number_format($Total + $taxa,2,",","."); ?></strong></h3></td> </tr> <tr> <td>   </td> <td>   </td> <td></td> <td></td> <td class="text-center"> <a href="fatura_novo_busca.php?id_cliente=<?php echo $_GET['id_cliente']; ?>"><button type="button" class="btn btn-default ladda-button" data-style="zoom-out"> <span class="ladda-label fa fa-search"></span> Nova Busca </button></a></td> <td class="text-center"> <?php if(isset($_POST['enviar'])){ $v_data = date('Y-m-d :H:i:s'); $cliente = $_GET['id_cliente']; $SqlInserirVenda = $pdo->prepare("INSERT INTO tb_sys_vendas (v_codigo, v_cliente, v_valor_total, v_data) VALUES (:v_codigo, :v_cliente, :v_valor_total, :v_data)"); $SqlInserirVenda->bindValue(":v_codigo", $chave_key2); $SqlInserirVenda->bindValue(":v_cliente", $cliente); $SqlInserirVenda->bindValue(":v_valor_total", $Total); $SqlInserirVenda->bindValue(":v_data", $v_data); $SqlInserirVenda->execute(); $vi_id_venda = $pdo->lastInsertId(); foreach($_SESSION['carrinho'] as $ProdInsert => $qtd): $SqlInserirItens = $pdo->prepare("INSERT INTO tb_sys_vendas_itens (vi_id_venda, vi_id_produto, vi_id_cliente, vi_qtd) VALUES (:vi_id_venda, :vi_id_produto, :vi_id_cliente, :vi_qtd)"); $SqlInserirItens->bindValue(":vi_id_venda", $vi_id_venda); $SqlInserirItens->bindValue(":vi_id_produto", $ProdInsert); $SqlInserirItens->bindValue(":vi_id_cliente", $cliente); $SqlInserirItens->bindValue(":vi_qtd", $qtd); $SqlInserirItens->execute(); $calcular = $id; $UpProduto = $pdo->prepare("UPDATE tb_sys_produtos SET p_disponivel_estoque = p_disponivel_estoque - :qtd WHERE p_id = :ProdInsert"); $UpProduto->bindValue(":qtd", $qtd); $UpProduto->bindValue(":ProdInsert", $ProdInsert); $UpProduto->execute(); endforeach; $pagina = 'visualizar_fatura.php?id_fatura='.$vi_id_venda.''; echo "<script>parent.location = '$pagina';</script>"; unset($_SESSION['carrinho']); } ?> <form action="" enctype="multipart/form-data" method="post"> <input type="submit" name="enviar" class="btn btn-danger ladda-button" data-style="zoom-out" value="Finalizar Pedido"> </form></td> </tr> <?php } ?> </tbody> </form> </table> </div> </div> </div> </div> </div>  
    • Por Zaelcs
      Olá, esse é meu primeiro post, eu sou MUITO novato com o desenvolvimento de sites, na realidade esse é meu primeiro trabalho sério, sendo que antes a unica coisa que eu programei eram scripts de jogos e algumas coisas pra minecraft haha!

      O meu problema é o seguinte, eu sou um animal  eu preciso criar um site para uma imobiliaria, no qual precisaria incluir uma "biblioteca" de itens onde cada item seria um imóvel com diversas fotos e videos, a "biblioteca" precisaria de uma ferramenta de busca e que pudessem ser separados os itens por tags (n° de quartos, vagas pra carro), além disso seria interessante se houvesse uma interface "user-friendly" para os administradores da imobiliária adicionarem novos imóveis... 
       
      Estou esperançoso de que eu possa fazer tudo isso apenas com html e css, pois eu creio que só necessitaria usar javascript caso precisasse de carrinho de compras e um mecanismo de pagamento... mas não, o contato será feito via telefone ou e-mail entre o comprador e os próprios corretores.
       
      Espero não estar sendo muito folgado... é minha primeira tentativa nesse ramo que eu AMO, mas nunca tive oportunidade de adentrar.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.