db.collection('usuario').update({'email':usuario.email},{$set:{'compras':usuario.compras}}, function(err,compraFeita){ var pagseguro = require('pagseguro'); var pag = new pagseguro({ email: '*****@*****.**', token: '594E47A96886469AB5452A7DD3695452', mode: 'sandbox'//////////////tirar sandbox daqui }); pag.currency('BRL'); pag.reference('12345'); var valorFinal = req.body.valor.replace(',','.'); var valorUnitario = parseFloat(valorFinal/req.body.quantidade).toFixed(2); pag.addItem({ id: 1, description: req.body.oferta, amount: valorUnitario, quantity: req.body.quantidade }); pag.buyer({ name: usuario.nome, email: usuario.email }); pag.setRedirectURL("http://localhost:3000/compraconcluida.html");////////////////URL de retorno para o usuário pag.setNotificationURL("http://localhost:3000/notificacao");//////////URL de notificacao para mudança de pagamento pag.send(function(err, resposta) { if (err) { console.log(err); } var parseString = require('xml2js').parseString; console.log(resposta); var xml = resposta; parseString(xml, function (err, result) { console.log(result); var codigo = result.checkout.code[0]; console.log(codigo); res.send({status:2,codigo:codigo}); }); }); })
var xml2js = require('xml2js'); var pagseguro = require('pagseguro'); //Inicializar a função com o e-mail e token var pag, pagseguro; pagseguro = require('pagseguro'); pag = new pagseguro('*****@*****.**', 'E4C115D9E959499BB524AAD7EA79255B'); //Configurando a moeda e a ferência do pedido pag.currency('BRL'); pag.reference('12345'); //Adicionando itens //pag.addItem({ // id: 1, // description: 'Descrição do primeiro produto', // amount: "4230.00", // quantity: 3 //}); pag.addItem({ id: 1, description: 'melancia', amount: '0.25', quantity: 1 }) pag.addItem({ id: 2, description: 'melancia 02', amount: '0.85', quantity: 1
payment: (req, res) => { const bag = req.session.shoppingBag; if (!bagHasItems(bag)) { res.json(apiResultFactory.errorResult('Escolha as peças que você mais gostou e nos conte suas medidas para fazer seu pedido e receber em sua casa peças incríveis feitas exclusivamente para você!')); return; } if (!bag.shipping.address || !bag.shipping.address.addressId) { res.json(apiResultFactory.errorResult('Diga pra gente um endereço onde possamos te entregar suas peças exclusivas feitas especialmente para você!')); return; } const pag = new PagSeguro({email: '*****@*****.**', token: '6F26796364124974844649FEAD6B1A71', mode: 'sandbox'}); pag.currency('BRL'); Object .keys(bag.items) .map(itemId => { var item = bag.items[itemId]; pag.addItem({ id: itemId, description: item.product.name, amount: parseFloat(item.product.price).toFixed(2), quantity: 1, weight: item.product.weight }); }); //Configurando as informações do comprador pag.buyer({name: req.user.name, email: req.user.email}); const addr = bag.shipping.address; pag.shipping({ type: 1, street: addr.street, number: addr.number, complement: addr.obs, district: addr.district, postalCode: addr.code, city: addr.city, state: addr.state, country: 'BRA' }); // pag.setNotificationURL('http://www.lojamodelo.com.br/notificacao'); Enviando o // xml ao pagseguro pag.send(function (err, pagSeguroResponse) { if (err) { res.json(apiResultFactory.errorResult(err)); return; } parseXml(pagSeguroResponse, function (xmlErr, result) { if (xmlErr) { res.json(apiResultFactory.errorResult(err)); return; } if (result.errors) { res.json(apiResultFactory.errorResult(result.errors.error[0].message)); return; } if(!result.checkout || !result.checkout.code[0]){ res.json(apiResultFactory.errorResult('Não conseguimos finalizer o código pagamento no PagSeguro.')); return; } res.json(apiResultFactory.successResult({token: result.checkout.code[0]})); }); }); },