Guest User

Untitled

a guest
Mar 23rd, 2018
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. const PagSeguro = require('node-pagseguro');
  2. const express = require('express');
  3.  
  4. const app = express();
  5.  
  6. const port = process.env.port || 3000;
  7.  
  8. let sandbox = {
  9. email: process.env.email,
  10. token: process.env.token,
  11. dev_email: process.env.dev_email
  12. };
  13.  
  14. app.get('/session', function (req, res) {
  15. const payment = new PagSeguro({
  16. email: sandbox.dev_email,
  17. token: sandbox.token,
  18. currency: 'BRL',
  19. sandbox: true,
  20. sandbox_email: sandbox.email
  21. });
  22.  
  23. payment.sessionId(function (err, session_id) {
  24. if (err) {
  25. return res.status(500).json({ message: 'Não foi possível obter os dados da sessão no PagSeguro.' });
  26. }
  27.  
  28. return res.status(200).json({ session: session_id });
  29. });
  30. });
  31.  
  32. app.post('/pedido', function (req, res) {
  33. const payment = new PagSeguro({
  34. email: sandbox.dev_email,
  35. token: sandbox.token,
  36. currency: 'BRL',
  37. sandbox: true,
  38. sandbox_email: sandbox.email
  39. });
  40.  
  41. let _pedido = req.body;
  42.  
  43. payment.setShipping({
  44. street: _pedido.street,
  45. number: _pedido.number,
  46. district: _pedido.district,
  47. city: _pedido.city,
  48. state: _pedido.state,
  49. postal_code: _pedido.postal_code,
  50. });
  51.  
  52. payment.addItem({
  53. qtde: _pedido.quantidade,
  54. value: _pedido.valor,
  55. description: "Produto de teste 1"
  56. });
  57.  
  58. payment.setCreditCardHolder({
  59. name: _pedido.name,
  60. cpf_cnpj: _pedido.cpf_cnpj,
  61. area_code: String,
  62. phone: String,
  63. birth_date: String //formato dd/mm/yyyy
  64. });
  65.  
  66. payment.sendTransaction({
  67. method: _pedido.metodo, //'boleto' ou 'creditCard'
  68. value: _pedido.valor,
  69. hash: _pedido.senderHash,
  70. creditCardToken: _pedido.creditCardToken, //Aqui fica o Token obtido pela aplicação WEB (por isso precisa do fluxo de pegar a SessionID do Back passar para o front e realizar toda a validação)
  71. creditCardHolderName: _pedido.nome_cartao,
  72. creditCardHolderAreaCode: _pedido.area_code,
  73. creditCardHolderPhone: _pedido.phone,
  74. creditCardHolderBirthDate: _pedido.birth_date,
  75. creditCardHolderCPF: _pedido.cpf
  76. }, function (err, data) {
  77. if (err) {
  78. return res.status(500).json({ message: 'Não foi possível obter processar o pedido no PagSeguro.' });
  79. }
  80.  
  81. return res.status(204);
  82. });
  83.  
  84. });
  85.  
  86. app.listen(port, () => {
  87. console.log(`Server started ${port}`);
  88. });
Add Comment
Please, Sign In to add comment