Giter Site home page Giter Site logo

iugu-node's People

Contributors

henriquehirako avatar lspecian avatar vinone 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

Watchers

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

iugu-node's Issues

Problemas na documentação.

Seguindo o modelo do README, ele diz que a chamada para criar o cliente deveria ser iugu.costumer.create(), mas o objeto iuguretorna costumers.

Continuidade do projeto

@lspecian você ainda tem interesse sobre a continuidade deste projeto? Se não me adicione como contributor para que possamos pelo menos efetuar correções pontuais e liberar novas versões. Meu usuário no NPM também é FelipePlets

updatePaymentMethod should be PUT instead of POST

The code below always fails because it should use PUT instead of POST:

updatePaymentMethod: iuguMethod({ method: 'POST', path: '/{customerId}/payment_methods/{paymentMethodId}', urlParams: ['customerId', 'paymentMethodId'] }),

Deixou de ter suporte?

Tentei o simples processo de importar a biblioteca e criar um customer como no exemplo, mas não está funcionando porque os resources estão todos undefined

Cannot read property 'create' of undefined

Update method should be PUT

IuguMethod.basic.js

  update: iuguMethod({
    method: 'POST',
    path: '{id}',
    urlParams: ['id']
  }),

it should be PUT, otherwise it only returns

{"errors":"Not Found"}

Problema no tratamento de erros da API

O código de tratamento de erros na resposta da API procura por um atributo error, mas a documentação (e minha experiência com a API) diz que os erros virão em um atributo errors:

      if (response.error) {
        var err;
        if (res.statusCode === 401) {
          err = new Error.IuguAuthenticationError(response.error);
        } else {
          err = Error.IuguError.generate(response.error);
        }
        return callback.call(self, err, null);
      }

Fiz um teste básico com o seguinte código, verificando tanto por um error quanto por um errors, e funcionou corretamente:

      if (response.error || response.errors) {
        var err = response.error || response.errors;
        if (res.statusCode === 401) {
          err = new Error.IuguAuthenticationError(err);
        } else {
          err = Error.IuguError.generate(err);
        }
        return callback.call(self, err, null);
      }

Não fiz um pull request pois não pude testar corretamente e extensivamente esse código, então achei melhor reportar aqui. Espero ter ajudado :)

lib status

what's the status of this lib?
is it still recommended to be used?
should it have a deprecation warning?

Erro ao criar um boleto - Invalid JSON received from the Iugu API

Quando faço a chamada para criar um novo boleto, serviço charge, recebo o seguinte erro:

{
    [
        Error: InvalidJSONreceivedfromtheIuguAPI
    ]type: 'IuguAPIError',
    rawType: undefined,
    code: undefined,
    param: undefined,
    message: 'InvalidJSONreceivedfromtheIuguAPI',
    detail: undefined,
    raw: {
        message: 'InvalidJSONreceivedfromtheIuguAPI',
        response: '....'
    }
}

Meu request input é:

var request = {
    method: 'bank_slip',
    email: user.login
    items:[{
        description: 'Saco de batata',
        quantity: '1',
        price_cents: '100'
    }]
};

Após fazer uns debugs, notei que o problema ocorre no encode do items.

No meu caso consegui solucionar o problema fazendo o atributo items não ser mais array:

var request = {
    method: 'bank_slip',
    email: user.login
    items:{
        description: 'Saco de batata',
        quantity: '1',
        price_cents: '100'
    }
};

CustomerPaymentMethods -> "795: unexpected token at '{Objeto}'"

Ao tentar criar o customerPaymentMethods, passando os parametros que a documentação pede, retorna o erro 795, segue...

var params = {
  customer_id: customerId,
  description: "Cartão de Crédito Principal",
  token: data.token,
  set_as_default: true
};

iugu.customerPaymentMethods.create(params, function(err, customer) {
  console.log(err);
  console.log(customer);
});

Já fiz instanciando o resources...esse erro acontece depois de ter alterado o _request do url-encode conforme fork do @eduardonunesp que faz funcionar o Charge.

Os outros métodos estão funcionando até o momento, apenas o customerPaymentMethods que retorna isso...

"795: unexpected token at '{"customer_id":"123","description":"Cart��o de Cr��dito Principal","token":"321","set_as_default":"true'"

Alguém?

Att.

Bug no update

Opa

Há um bug no arquivo IuguMethod.basic.js, na linha 23 o update tá como método POST, e não PUT.
Toda requisição com update dá NotFound

iugu.customers.create e custom_variables

Segundo a documentação é possível enviar custom_variables.

Eu conseguia enviar da seguinte forma:

iugu.customers.create({
  email: '[email protected]',
  name: 'Fulano de Tal',
   'custom_variables[][nam]': 'variableName',
   'custom_variables[][valu]': 'variableValue'
});

Porém não está funcionando mais. Não sei a partir de quando parou de funcionar, pois esse código ficou parado uns 6 meses.

Qual a forma correta de enviar custom variables nessa chamada?

Erro quando faz o stringify do objeto charge

Olá amigos, estou com o seguinte problema, quando executo o método charge.create e meu objecto é transformado no body post, a função stringifyRequestData faz algo inesperado com o meu array de items. Por exemplo:

iugu.charge.create({
  email: '[email protected]',
  method: 'bank_slip',
  items: [{
    description: "Item Um",
    quantity: "1",
    price_cents: "1000"
  }]
}, function(err, response) {})

A request enviada será:

email=user%40example.com&method=bank_slip&items%5B%5D=%5Bobject%20Object%5D

Perceba que houve um erro ao transformar os itens do array, no caso aparece ali object Object, e o Iugu acaba por me retornar um error, invalidando o método charge

$ uname -ra 
Darwin prometheus.local 15.3.0 Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64 x86_64

$ node -v
v4.2.4

Accounts request_verification

Ola Pessoal,
Boa noite!

Gostaria de saber como faço para passar o AccountId no resource Accounts, método request_verification.

Alguém pode me passar um exemplo que funcione?

Muito obrigado.

Erro ao criar uma nova fatura vinculada a conta do cliente

Olá Pessoal, tudo bem?

Estou enfrentando alguns erros ao tentar criar uma fatura pela iugu-node, ao passar esses dados:

const data =  { email: '[email protected]', 
       due_date: '09/11/2016',
      customer_id: 'xxxxxxxxxxxxxxx',
      subscription_id: 'xxxxxxxxxxxxxxx',
      items: [ { 
         description: 'Compra de mais links',
         quantity: '1',
         price_cents: '2455' } ] 
     }

Com essa função

iugu.invoices.create(data, (err, r) => {
      if(err) return res.send(err)
      return res.send(r)
    })

Me retorna:

{
  "type": "IuguAPIError",
  "message": "Invalid JSON received from the Iugu API",
 .... 

Alguém já passou por esse problema ou sabe se eu estou fazendo alguma coisa errado?

Obs.: Os dados que estão na constate data são apenas demonstrativos, ja coloquei as informações igual esta na doc de Api e já tentei com as infos do meu cliente, e nada.

erro ao incluir cliente

Se eu fizer o POST manualmente ele grava normalmente (com o mesmo JSON), mas pela lib, se eu fizer:

iugu.customers.create({
     "name": "nome teste",
     "email": "[email protected]",
     "custom_variables": [{ "name": "meu_param", "value": "teste" }]
}, function (err, cli) {
     console.log(err, cli);
});

recebo "Invalid JSON" como erro, e uma pagina html..

{ message: 'Invalid JSON received from the Iugu API',
     response: '<!doctype html>\n<html>\n  <head>\n    <meta charset="utf-8">\n    <title>algo
está errado...</title>\n\n    <meta name="viewport" content="width=device-width, initial-scale=
1, maximum-scale=1" />\n    <meta name="apple-mobile-web-app-capable" content="yes" />\n    <me
ta name="apple-mobile-web-status-bar-style" content="yes" />\n    <meta http-equiv="cleartype"
content="on" />\n    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />\n    <met
a name="MobileOptmized" content="320" />\n    \n    <link rel...............

(Só testei no ambiente de teste)

Criação de método de pagamento com erro

Toda vez que é executado uma chamada no método de criar novo método de pagamento para o cliente (iugu.customerPaymentMethods.create), retorna erro dizendo: "Customer not found"

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.