Ir para conteúdo

POWERED BY:

Arquivado

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

Apenas Eu

Como fazer registro de compras?

Recommended Posts

Olá!

 

Eu vou explicar em detalhes mais ou menos meu projeto (eu ja comentei em outros posts)

 

Eu estou fazendo um projeto que consiste em promoções rápidas em meu site.

 

Para a pessoa se beneficiar ela precisa se cadastrar. Até ai eu consegui instalar um programinha em PHP com o login. Acho que este deve dar para mim usar.

 

Depois, ela faz a compra da promoção, via PagSeguro. Após fechar a compra, dentro da conta da pessoa ficaria registrado as compras feitas: produto, data, etc

 

Imagino que eu teria que criar o arquivo, o banco de dados para isso, mas não sei exatamente como associar o login, com o registro de compras do usuario.

Seria semelhante a imagem deste site:

cm.jpg

 

Gostaria de uma luz.... :)

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Obrigado!

Eu imagino que seja semelhante ao que um amigo fez para mim "categoria / produto" mas nesse caso teria que gerar um número automático né?

Você conhece algum tutorial para me ajudar neste trabalho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Empaquei no cód SQL para relacionar as tabelas =\

 

Posso postar aqui o problema? Tipo eu faço o cód. la no mysql, retorna sem erro, mas nada indica que estão unidas as tabelas

Compartilhar este post


Link para o post
Compartilhar em outros sites

você diz a estrutura em sql ou nome dos campos? :mellow:

 

--

 

eu acho que deu certo, mas não sei se está como deveria. Tipo se insere uma linha nova na tabela de "compras", no id_usuario pede para escolher qual dos dois ID da outra tabela (de pessoas cadastradas) eu quero colocar....

Compartilhar este post


Link para o post
Compartilhar em outros sites

LEGAL!

Tabela dados_usuarios
ID

Login

Senha

Nome

Email

telefone

celular

DataNasc

Estado

Cidade

bairro

Cep

endereco

numero

Pergunta

Resposta

 

tabela : compras

id_usuario

data

validade

produto

contemplado

status

imprimir

cupom

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai precisar guardar as informações do pagseguro no qual você vai ter associado um protocolo do pagseguro, um usuario e um produto. Quando chegar a confirmação do pagamento, você vai pegar o ID do usuário apartir do protocolo do pagseguro.

 

Depois adicione na tabela compra o algo assim:

INSERT INTO compras (id_usuario, data, produto) VALUES ($idUsuario, NOW(), $idProduto)

A tabela de pedidos vai ser algo assim:

pedidos

idPedido

codigoProtocolo (é um código criado pelo pagseguro para pode se rastrear o pagamento)

statusProtocolo (estado do pagamento, pendente, cancelado, pago, etc)

idUsuario

data

idProduto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Blz...

 

Eu vou tentar. Quando 'travar' eu volto aqui heheh

 

Ainda eu tenho que ver inclusive como pego este protocolo que eu tambem nao sei

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz isso uma vez usando um framework chamado Yii:

Veja se consegue entender +/-, quando vi isso, vi que o protocolo é eu que gerava e não o pagseguro. Não sei q versão eu usei nem se mudou muita coisa

public function actionRecharge( $qtd ) {
    Yii::import( 'application.lib.*' );
    require 'PagSeguroLibrary/PagSeguroLibrary.php';
    
    $payment = new PagSeguroPaymentRequest();
    $payment->addItem( $qtd, "Recarga de créditos - R$ {$qtd}", 1, (float) $qtd );
    $payment->setCurrency( 'BRL' );
    $payment->setShipping( 3 );
    $payment->setRedirectURL( 'http://virtuagamesonline.com/webshop/success' );
    
    $credentials = PagSeguroConfig::getAccountCredentials();
    $buy_id = md5( uniqid( rand(), true ) );
    
    $payment->setReference( $buy_id );
    $url = $payment->register( $credentials );
    
    $recharge = new Recharge;
    $recharge->id = $buy_id;
    $recharge->type = $qtd; // Tamanho da recarga
    $recharge->user_id = $this->getUser()->id;
    $recharge->last_modified = time();
    $recharge->status = 1;
    $recharge->save();
    
    $this->redirect( $url );
}


public function actionSuccess() {
    file_put_contents( 'log.log', implode( ' | ', $_POST ) );
    if ( !isset( $_POST['notificationType'] ) || !isset( $_POST['notificationCode'] ) )
        return;
    
    Yii::import( 'application.lib.*' );
    require 'PagSeguroLibrary/PagSeguroLibrary.php';
    
    $credentials = PagSeguroConfig::getAccountCredentials();
    $type = $_POST['notificationType'];
    $code = $_POST['notificationCode'];
    
    if ( $type != 'transaction' )
        return;
    
    $transaction = PagSeguroNotificationService::checkTransaction( $credentials, $code );
    $status = $transaction->getStatus();
    
    $recharge = Recharge::model()->findByPk( $transaction->getReference() );
    if ( !$recharge ) return;
    $recharge->last_modified = time();
    $recharge->transaction = $transaction->getCode();
    $recharge->status = $status->getValue(); // https://pagseguro.uol.com.br/v2/guia-de-integracao/documentacao-da-biblioteca-pagseguro-em-php.html#PagSeguroTransactionStatus
    
    if ( $transaction->getCode() == 3 ) {
        switch ( $recharge->type ) {
            case 50: $money = 50; break;
            case 25: $money = 25; break;
            case 10: $money = 10; break;
            case 5:  $money = 5;  break;
            default: $money = 1;  break;
        }
        $user = User::model()->findByPk( $recharge->user_id );
        $user->money += $money;
        $user->save();
    }
    
    $recharge->save();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Blz...eu vou analisar depois com mais cuidado o código. Pior q parece ser bem dificil.

 

Eu ainda estou na parte de fazer a tabela das compras funcionar...

 

Funcionar até está mas acho que o relacionamento não fiz direito ainda

Compartilhar este post


Link para o post
Compartilhar em outros sites

O pagseguro tem um sistema de testes, veja se você consegue acesso a ele pra testar seus scripts varias vezes antes de colcar seu sistema no ar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ann ran...!

 

Obrigado por esta dica

 

 

A coisa anda meio feia por aqui. Bom antes de ver estes detalhes, estou testando se a tabela "simples" está funcionado.

 

Estou encontrando uma dificuldade no comando de selecionar.

 

Por exemplo, se eu faço assim:

 

Select * from compras where id_compras = '10' (numero de um id de usuario) funciona certinho

 

No entanto, se eu faço

Select * from compras where id_compras = '$id_usuarios'

 

Não retorna nada

 

o Cód ficou assim:

 

  <?php//$consulta = mysql_query("select * from compras  ") ; while ($qr_l = mysql_fetch_array($consulta))  ( $id_compras = $qr_l['id_compras']); if (isset($_GET['id_compras'])) {$consulta = mysql_query("select * from compras where id_usuarios='$id_usuarios'");$loop = 3;$consulta_s = mysql_num_rows($consulta);for($n=0; $n<$consulta_s; $n++){$qr_l = mysql_fetch_array($consulta);$id_compras = $qr_l["id_compras"];$id_usuarios = $qr_l["id_usuarios"];$nome = $qr_l["nome"];$data = $qr_l["data"];$validade = $qr_l["validade"];$produto = $qr_l["produto"];$contemplado = $qr_l["contemplado"];$imprimir = $qr_l["imprimir"];$cupom = $qr_l["cupom"];  echo "  <tr>               <td><input type='checkbox' value='1' name='marcar[]' /></td>        <td>$id_compras</td>        <td>$data</td>        <td>$validade</td>        <td>$produto</td>        <td>$contemplado</td>        <td> </td>        <td><a href='#'><img src='imagens/print.png' width='24' height='24' /></a> <a href='#'><img src='imagens/delete.png' width='16' height='16' /></a></td>      </tr>";}}?></tbody>  </table>

Ficaria contente se vc me desse uma luz para arrumar isso.

Funcionando, acho que o proximo passo é ver como abrir as "compras" daquele usuario logado. Isso eu ainda não testei e ainda não sei bem como faz....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está usando $id_usuarios aqui:

$consulta = mysql_query("select * from compras where id_usuarios='$id_usuarios'");

Mas não estou vendo em lugar nenhum ele sendo criado ou sendo associado um valor a ele

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não seria isso então né?

$id_usuarios = $qr_l["id_usuarios"];

Ou você fala disso?

<?php

// faz consulta no banco
include "Config/config_sistema.php";


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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