problemas ao pegar os dados do carrinho
Boa noite mestre... estou com problemas ao pegar os dados do carrinho segue o código:
https://pastebin.com/aAJXJg8h
Olá, Ari!
Tudo bem?
Quando faz uma transação com Lightbox do PagSeguro no final se ocorreu com sucesso a API devolve um transactionCode que vem no método success;
O que você precisa fazer no seu sistema é uma nova chamada AJAX onde você envia para este transactionCode para ser inserido no banco de dados.
function lightbox(code)
{
PagSeguroLightbox({
code: code
}, {
success : function(transactionCode) {
// Faz uma chamada ajax enviando o transactionCode, e salva este código no banco de dados.
},
abort : function() {
alert("Falha inesperada...");
}
});
}
Como consultar a transação para analisar se aquela transação (retornada do Lightbox) está aprovada ou não, ou seja, verificar o status da transação: https://dev.pagseguro.uol.com.br/documentacao/pagamento-online/pagamentos/consultando-por-codigo-de-transacao
Qualquer dúvida pode me perguntar. Ok? :-)
// Faz uma chamada ajax enviando o transactionCode, e salva este código no banco de dados.
Carlos seria possível vc fazer essa requisição ajax de inserção na tabela ORDERS para mim? Já tentei de tudo aqui e nada funciona :( Please....
Olá, Ari!
Eu posso te guiar para conseguir fazer.
Ficaria mais ou menos assim:
function lightbox(code)
{
PagSeguroLightbox({
code: code
}, {
success : function(transactionCode) {
// Envia a requisição AJAX com os dados do cartão
$.ajax({
url: "{{route('registra.ordem')}}", // URL da requisição
method: "POST", // Método de requisição (verbo http)
headers: {
// Pega o content do meta csrf-token, para proteção com ataques CSRF
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: {transactionCode: transactionCode}// Passa o transactionCode
}).done(function(data){
if( data.success ) {
// Redireciona para ver os pedidos
window.location.href = "{{ route('my.orders') }}";
} else {
showError();
}
}).fail(function() {
// Exibe os erros
showError();
}).always(function() {
// Finaliza o preloader
endPreloader();
});
},
abort : function() {
showError();
}
});
}
Rota:
$this->post('registra-pedido', 'NomeController@metodo')->name('registra.ordem');
Controller:
public function metodo(Request $request, Order $order)
{
// Recupera o transactionCode
$transactionCode = $request->transactionCode;
// Chama o método para registrar a ordem
$newOrder = $order->createOrder($transactionCode);
// Verifica se deu certo:
if ($newOrder)
return response()->json(['success' => true], 200);
// Mensagem de falha
return response()->json(['success' => false], 500);
}
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!