Coder Social home page Coder Social logo

pagseguro-node's People

Contributors

sebasrealino avatar thelucasgarcia avatar wchagas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pagseguro-node's Issues

Ambiente Windows - Erro ao executar os testes - Cannot find module './config' from 'transaction.test.js'

Quando realizado as instalações dos pacotes apresenta erros ao executar os testes em ambiente Windows:

SET NODE_ENV=tests&&jest

FAIL tests/transaction.test.js
● Test suite failed to run

Cannot find module './config' from 'transaction.test.js'

1 | const config = require("./config");
| ^
2 | const pagseguro = require("../src");
3 | const moment = require("moment");
4 |

at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:259:17)
at Object. (tests/transaction.test.js:1:1)
FAIL tests/installment.test.js
● Test suite failed to run

Cannot find module './config' from 'installment.test.js'

1 | const config = require('./config')
| ^
2 | const pagseguro = require('../src')
3 |
4 | describe('Installment', function() {

at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:259:17)
at Object. (tests/installment.test.js:1:1)
FAIL tests/session.test.js
● Test suite failed to run

Cannot find module './config' from 'session.test.js'

1 | const config = require("./config");
| ^
2 | const pagseguro = require("../src");
3 |
4 | describe("Session", function() {

at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:259:17)
at Object. (tests/session.test.js:1:1)
FAIL tests/format.test.js
● Test suite failed to run

Cannot find module './config' from 'format.test.js'

1 | const config = require('./config')
| ^
2 | const pagseguro = require('../src')
3 | const clone = require('clone')
4 |

at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:259:17)
at Object. (tests/format.test.js:1:1)
FAIL tests/connect.test.js
● Test suite failed to run

Cannot find module './config' from 'connect.test.js'

1 | const config = require('./config')
| ^
2 | const pagseguro = require('../src')
3 |
4 | describe('Connect', function() {

at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:259:17)
at Object. (tests/connect.test.js:1:1)
FAIL tests/authorization.test.js
● Test suite failed to run

Cannot find module './config' from 'authorization.test.js'

1 | const config = require('./config')
| ^
2 | const pagseguro = require('../src')
3 |
4 | describe('Authorization', function() {

at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:259:17)
at Object. (tests/authorization.test.js:1:1)
Test Suites: 6 failed, 6 total
Tests: 0 total
Snapshots: 0 total
Time: 7.299s

Como obter token do cartão de credito

Primeiramente parabéns pela biblioteca, segundo, como eu faço para obter o token informado nessa linha?

Entendo que deve ser uma criptografia com os dados do cartão informado, problema que não achei na documentacao se existe esse metodo no codigo fonte.

Obrigado

.creditCard(data) "installment value is required" mesmo colocando "value" no objeto

Criei o objeto como no exemplo:

...
` creditCard: {
// Token retornado no serviço de obtenção de token do cartão de crédito (checkout transparente)
token: '',
installment: {

        // Valor das parcelas obtidas no serviço de opções de parcelamento
        value: '20.00',

        // Quantidade de parcelas escolhidas pelo cliente
        quantity: 4,

        // Quantidade de parcelas sem juros oferecidas ao cliente. O valor deve ser o
        // mesmo indicado no método getInstallments, no parâmetro
        // maxInstallmentNoInterest.
        noInterestInstallmentQuantity: 2
    },`

...

O XML convertido não possue value gerando erro 400 do pagseguro:
"installment value is required"

Débito - Sender Hash

Como gerar o hash do sender?
Erro de "sender hash is required." ao utilizar a funcão de débito.

IncomingMessage no console log mostra muitos dados.

Parabéns pelo trabalho. Mexi pouco com o projeto, mas o pelo pouco que vi, está muito bom.
Não é uma issue, seria um "improvement".

Ao criar uma sessão (já no .connect(config)) é exibida no console uma grande contidade de logs.
encapsulada em:

IncomingMessage {
...
}

Seria bom se existisse uma opcção no config para que as mensagens não fossem exibidas mesmo no ambiente de "dev".

Forte abraço!

Erro ao importar lib

Primeiramente parabéns pela contribuição e trabalho!

Estou obtendo uma exceção ao importar sua lib no projeto, o seguinte erro é exposto:
Error: Cannot find module '@babel/runtime/helpers/interopRequireDefault'

As únicas coisas que fiz foram:

  • Instalar através do comando npm install nodejs-pagseguro;
  • Importar em um arquivo comum com const pagseguro = require("nodejs-pagseguro");

Se necessário, estou utilizando as seguinte versões:

  • Node: 10.15.3;
  • NPM: 6.9.0;

O que pode estar havendo de errado?

em producao tem uma url impedindo o retorno da notificacao

estou usando em producao e reparei que as urls de producao de notificacao estao com uma barra no final o que impede o retorno da notificacao e pois o mesmo se encontra no estado 404

transaction: {
search: "v3/transactions",
//abandoned: 'v2/transactions' TODO: use?
directPayment: "v2/transactions",
code: "v2/transactions",
refund: "v2/transactions/refunds/",
cancel: "v2/transactions/cancels/",
notification: "v3/transactions/notifications/"
},

poderia tirar as barras?

Venda com cartão de crédito com mais de uma parcela

Quero deixar minha gratidão pelo projeto @wchagas.

RESUMO: Venda com cartão de crédito
Requisitos:
1 - Get Session (tests/session.test.js);
2 - Get Token (Atualização que está pendente - Adicionado endpoint para gerar o token do cartão #8);
3 - Get Installment (Parcelas - tests/installment.test.js);
4 - Venda com cartão de crédito (ex: test/sellCardCredit.test.js - sugestão para nome do teste);

DETALHES DOS ITENS:
Como mencionado precisa desses quatro itens para a venda acontecer;

1 - Get Session (tests/session.test.js);
Nos testes do projeto esse teste mostra como você obtem o (session);

2 - Get Token (Atualização que está pendente - Adicionado endpoint para gerar o token do cartão #8);
Pull request do @rafaneri que se encontra pendente, caso queira implementar no seu projeto, aqui estão os arquivos https://github.com/wchagas/pagseguro-node/pull/8/files;

3 - Get Installment (Parcelas - tests/installment.test.js);
Nesse teste você obtem o parcelamento;

4 - Venda com cartão de crédito (codigo a seguir, pode ser aplicado como um test para venda com cartão de credito);
const config = require('./config');
const pagseguro = require('../src');

describe('Transaction', () => {
const client = pagseguro.connect(config.pagseguro);

it('creditCard', async () => {
const session = await client.session.get();

const token = await client.token.get(
  Object.assign(config.card, { sessionId: session.content }),
);

const installment = await client.installment.get({
  amount: 2370,
  cardBrand: 'visa',
  maxInstallmentNoInterest: 2,
});

const {
  cardBrand,
  quantity,
  amount,
  totalAmount,
  interestFree,
} = installment.content[0]; //Venda somente com uma parcela, array retornado do pagseguro, caso queira mais de uma mude o indice

const request = {
  method: 'CREDITCARD',

  reference: `Tipo CREDITCARD, 23/09/2020 10:35, valorTotal ${amount}`,

  sender: {
    name: 'Willy Chagas',
    email: '[email protected]', // https://sandbox.pagseguro.uol.com.br/comprador-de-testes.html

    phone: {
      areaCode: 48,
      number: 91510980,
    },

    document: {
      type: 'CPF',
      value: 18974411008,
    },
  },

  billing: {
    street: 'Av João Lima',
    number: 55,
    complement: 'Casa',
    district: 'Campeche',
    city: 'Florianopolis',
    state: 'SC',
    country: 'BRA',
    postalCode: '88063333',
  },

  items: [
    {
      id: 1,
      description: 'Casa Flórida 109',
      quantity: 1,
      amount: 1680,
    },
    {
      id: 2,
      description: 'Projeto de Interiores',
      quantity: 1,
      amount: 690.0,
    },
  ],

  creditCard: {
    token: token.content.token,

    holder: {
      name: 'Jose Comprador',
      document: {
        type: 'CPF',
        value: 22111944785,
      },
    },
    installment: {
      quantity,
      amount,
      totalAmount,
      installmentAmount: totalAmount,
    },
  },
};

const sellCredtiCard = await client.transaction.creditCard(request);

console.log(sellCredtiCard);

await expect(typeof sellCredtiCard).toEqual('object');
await expect(sellCredtiCard).toHaveProperty('content');
await expect(sellCredtiCard).toHaveProperty('statusCode');
await expect(sellCredtiCard.statusCode).toBe(200);
await expect(sellCredtiCard).toHaveProperty('status');
await expect(sellCredtiCard.status).toBe('success');

});
});

DÚVIDA:

Meu objetivo é ajudar e pedir ajuda, minha dúvida estou tendo erros quando faço a venda com cartão de crédito com mais de uma parcela, ou seja, quando faço com apenas uma parcela funciona (installment.content[0]), agora quando tento com mais de uma parcela (installment.content[2]), recebo o seguinte erro do PagSeguro:

Failed: PagseguroError {
  "content": Array [
    Object {
      "code": 53041,
      "message": "valor da parcela inválida",
    },
  ],
  "name": "PagseguroError",
  "status": "error",
  "statusCode": 400,
}

Caso você possa me ajudar com essa questão do parcelamento no cartão de crédito, ficarei grato.

Ambiente Windows - erro ao executar npm install

Fiz o clone do projeto e ao executar o npm install para ambiente windows, exibe o erro:

npm run clean && npm run test && npm run build

[email protected] clean C:\Users\Flavio\Documents\node\pagseguro-node
rimraf lib

[email protected] test C:\Users\Flavio\Documents\node\pagseguro-node
NODE_ENV=tests jest

'NODE_ENV' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.