Após fazer o login crie uma nova aplicação para obter o access_token e public_key
Crie um controller chamado MercadoPago, para que o projeto fique mais organizado salve o controller numa pasta chamada MercadoPago
No controller MercadoPagoController crie o método index, o qual deverá:
- pegar a lista de 05 produtos
- chamar a view MercadoPago/MercadoPago/Index com o array criado com a lista de produtos
public function index(){
$dados["lista"] = Produto::limit(5)->get();
return view("MercadoPago.MercadoPago.Index", $dados);
}
Crie uma rota get setando para o método index do controller MercadoPagoController
Route::get('/mercadopago/index',[MercadoPagoController::class,'index'])->name('mercadopago.index');
Crie a view para a listagem de produtos
Dentro da pasta resources/view crie uma pasta chamada de MercadoPago e dentro de MercadoPago crie uma outra chamada de MercadoPago e dentro da pasta MercadoPago crie um arquivo chamado Index.blade.php
Copie o conteúdo do arquivo lst_mercadopago_inde para o arquivo MercadoPago/MercadoPago/Index.blade.php, não esqueça envolvê-lo pelos comandos:
@extends('template')
@section('conteudo')
//aqui fica o conteúdo do arquivo
@endsection
Execute seu sistema e pelo menu categoria abre a página de listagem de categoria, mas deverá está parecida com imagem abaixo
Na view Index, faça os seguintes procedimentos:
- Faça o loop para receber os dados do banco e listar na tabela
- Não crie nenhum link para fazer a edição
- Não crie nenhum link para fazer a exclusão de um registro
@foreach ($lista as $produto)
@php
$imagem = $produto->imagem ? 'storage/' . $produto->imagem : 'assets/img/semproduto.png';
@endphp
<div class="col-2 mb-3">
<div class="caixa conta-receber hoje alt d-block pb-3">
<div class="thumb">
<img src="{{ asset($imagem) }}" class="img-fluido">
</div>
<h2>C{{ $produto->nome }}</h2>
<p class="preco">
<small>De <strike>R$ {{ $produto->preco_venda }}</strike></small>
<b>Por R$ {{ $produto->preco_venda }}</b>
</p>
<a href="" class="btn btn-verde d-table m-auto scroll-page">Comprar</a>
</div>
</div>
@endforeach
Crie um controller chamado MercadoPagoPedidoController, para que o projeto fique mais organizado salve o controller numa pasta chamada MercadoPago
Para criar o controller use o comando: php artisan make:controller \MercadoPago\MercadoPagoPedidoController
No controller MercadoPagoPedidoController crie o método index, o qual deverá:
- pegar a lista de pedidos
- chamar a view MercadoPago/MercadoPagoPedido/Index com o array criado com a lista de pedidos
public function index(){
$dados["lista"] = MercadoPagoPedido::get();
return view("MercadoPago.MercadoPagoPedido.Index", $dados);
}
Dentro da pasta resources/view crie uma pasta chamada de MercadoPago e dentro de MercadoPago crie uma outra chamada de MercadoPagoPedido e dentro da pasta MercadoPagoPedido crie um arquivo chamado Index.blade.php
Copie o conteúdo do arquivo lst_mercadopagopedido_index para o arquivo MercadoPago/MercadoPagoPedido/Index.blade.php, não esqueça envolvê-lo pelos comandos:
@extends('template')
@section('conteudo')
//aqui fica o conteúdo do arquivo
@endsection
Na view Index, faça os seguintes procedimentos:
- Faça o loop para receber os dados do banco e listar na tabela
- crie um link para fazer o pagamento
- crie um link para fazer a edição
- crie um link para fazer a exclusão de um registro
@foreach ($lista as $l)
<tr>
<td align="center">{{ $l->id }}</td>
<td align="left">{{ $l->produto->nome }}</td>
<td align="left">{{ $l->valor_venda }}</td>
<td align="center">
<a href="{{ route('mercadopagopedido.pagar', $l->id) }}"
class="d-inline-block btn btn-outline-roxo btn-pequeno"><i class="fas fa-edit"></i>
Fazer Pagamento</a>
<a href="javascript:;"
onclick="confirm('Tem Certeza?') ? document.getElementById('apagar{{ $l->id }}').submit() : '';"
class="d-inline-flex gap-3 btn btn-outline-vermelho btn-pequeno">
<i class="fas fa-trash-alt"></i>
<form action="{{ route('mercadopagopedido.destroy', $l->id) }}" method="POST"
id="apagar{{ $l->id }}">
@method('DELETE')
{{ csrf_field() }}
</form>
Excluir
</a>
</td>
</tr>
@endforeach
No controller MercadoPagoPedidoController crie o método novo que receber o produto_id como parâmetro e,:
- busque o produto pelo id
- Crie um novo MercadoPagoPedido
- redirecione para o método pagar do controller MercadoPagoPedido
public function novo($produto_id){
$produto = Produto::find($produto_id);
$pedido = new stdClass;
$pedido->cliente_id = 2;
$pedido->produto_id = $produto_id;
$pedido->valor_venda = $produto->preco_venda;
$pedido->data_pedido = hoje();
$pedido->status_financeiro_id = config("constantes.status.DIGITACAO");
$p = MercadoPagoPedido::create(objToArray($pedido));
return redirect()->route("mercadopagopedido.pagar", $p->id);
}
No controller MercadoPagoPedidoController crie o método pagar, o qual deverá:
- busque o pedido pelo id
- chamar a view MercadoPago/MercadoPagoPedido/Pagar com o array criado com a lista de produtos
public function pagar($pedido_id){
$dados["pedido"] = MercadoPagoPedido::find($pedido_id);
return view("MercadoPago.MercadoPagoPedido.Pagar", $dados);
}
Crie a view para selecionar a forma de pagamento do pedido
Dentro da pasta resources/view crie uma pasta chamada de MercadoPago e dentro de MercadoPago crie uma outra chamada de MercadoPagoPedido e dentro da pasta MercadoPagoPedido crie um arquivo chamado Pagar.blade.php
Copie o conteúdo do arquivo lst_mercadopagopedido_pagamentos para o arquivo MercadoPago/MercadoPagoPedido/Pagar.blade.php, não esqueça envolvê-lo pelos comandos:
@extends('template')
@section('conteudo')
//aqui fica o conteúdo do arquivo
@endsection
Execute seu sistema e pelo menu categoria abre a página de listagem de categoria, mas deverá está parecida com imagem abaixo