Open eduardonunesp opened 8 years ago
O erro retornado é o seguinte:
[Error: Invalid JSON received from the Iugu API] type: 'IuguAPIError', rawType: undefined, code: undefined, param: undefined, message: 'Invalid JSON received from the Iugu API', detail: undefined, raw: { message: 'Invalid JSON received from the Iugu API', response: '<!doctype html>\n\n
\n \nTambém estou tendo esse problema. Poderiam, por gentileza, esclarecer?
@vinicius0026 Eu resolvi no meu fork, transformei as requisições para JSON e as coisas parecem estar funcionando bem. Me parece q o projeto esta meio abandonado.
Edu e Vinicius. Podem realizar mais testes e se estiver ok fazerem um pull request?
Abs
Em 25 de fevereiro de 2016 09:59, Eduardo Nunes Pereira < notifications@github.com> escreveu:
@vinicius0026 https://github.com/vinicius0026 Eu resolvi no meu fork, transformei as requisições para JSON e as coisas parecem estar funcionando bem. Me parece q o projeto esta meio abandonado.
— Reply to this email directly or view it on GitHub https://github.com/iugu/iugu-node/issues/8#issuecomment-188777150.
Att Patrick Negri - CEO iugu.com - Recebimentos e Assinaturas para a sua empresa
Estou com o mesmo problema, foi feito o pull request @eduardonunesp? abs!
O erro permanece ou já foi corrigido?
@eduardonunesp Teria como vc fazer um pull request? Seu fork resolveu meu problema aqui, muito obrigado =)
@paruckerr A seguinte chamada retornou o mesmo erro para mim.
let compra = {
token: req.params.token,
email: 'teste@teste.com.br',
items: [
{
description: 'Pacote 1',
quantity: 1,
price_cents: 1111
}
]
};
iugu.charge.create(compra , (err, charge) => {
if (err){
console.log(err);
res.json(err);
}
else{
res.json(charge);
}
});
Erro:
{
"type": "IuguAPIError",
"message": "Invalid JSON received from the Iugu API",
"raw": {
"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 <meta 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 <meta name=\"MobileOptmized\" content=\"320\" />\n \n <link rel=\"shortcut icon\" href=\"/favicon.ico\" />\n\n <style type=\"text/css\">\n @font-face {\n font-family: \"Museo Sans 100\";\n src: url(\"/fonts/museosans-100-webfont.eot\");\n src: url(\"/fonts/museosans-100-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"/fonts/museosans-100-webfont.woff\") format(\"woff\"), url(\"/fonts/museosans-100-webfont.ttf\") format(\"truetype\"), url(\"/fonts/museosans-100-webfont.svg#museo_sans_100regular\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Museo Sans 300\";\n src: url(\"/fonts/museosans-300-webfont.eot\");\n src: url(\"/fonts/museosans-300-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"/fonts/museosans-300-webfont.woff\") format(\"woff\"), url(\"/fonts/museosans-300-webfont.ttf\") format(\"truetype\"), url(\"/fonts/museosans-300-webfont.svg#museo_sans_300regular\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Museo Sans 500\";\n src: url(\"/fonts/museosans-500-webfont.eot\");\n src: url(\"/fonts/museosans-500-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"/fonts/museosans-500-webfont.woff\") format(\"woff\"), url(\"/fonts/museosans-500-webfont.ttf\") format(\"truetype\"), url(\"/fonts/museosans-500-webfont.svg#museo_sans_500regular\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Museo Sans 700\";\n src: url(\"/fonts/museosans-700-webfont.eot\");\n src: url(\"/fonts/museosans-700-webfont.eot?#iefix\") format(\"embedded-opentype\"), url(\"/fonts/museosans-700-webfont.woff\") format(\"woff\"), url(\"/fonts/museosans-700-webfont.ttf\") format(\"truetype\"), url(\"/fonts/museosans-700-webfont.svg#museo_sans_700regular\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n }\n\n html { \n margin: 0px;\n padding: 0px;\n }\n body {\n padding: 20px;\n font-family: \"Museo Sans 100\";\n color: #424242;\n font-size: 16px;\n }\n\n #box {\n position: absolute;\n width: 800px;\n height: 400px;\n top: 50%;\n left: 50%;\n margin-left: -400px;\n margin-top: -200px;\n }\n\n #illustration {\n position: absolute;\n max-width: 80%;\n top: 0px;\n right: 0px;\n z-index: 1;\n }\n #illustration img {\n width: 100%;\n }\n\n .p1 {\n font-family: \"Museo Sans 100\";\n font-size: 2em;\n max-width: 260px;\n }\n .p2 {\n font-family: \"Museo Sans 700\";\n font-size: 5em;\n }\n .p3 {\n max-width: 340px;\n margin-top: 20px;\n font-family: \"Museo Sans 100\";\n font-size: 1.3em;\n color: #959595;\n line-height: 1.4em;\n }\n\n\n @media screen and (max-width:820px) {\n /* ... */\n body {\n font-size: 14px;\n }\n \n \n\n #box {\n position: relative;\n width: 100%;\n height: auto;\n top: auto;\n left: auto;\n margin-left: auto;\n margin-right: auto;\n margin-top: auto;\n }\n\n #illustration {\n position: relative; \n margin-left: auto;\n margin-right: auto;\n max-width: 90%;\n top: auto;\n right: auto;\n margin-bottom: 40px;\n }\n\n }\n\n @media screen and (max-width:400px) {\n /* ... */\n body {\n font-size: 12px;\n }\n }\n </style>\n </head>\n <body>\n\n <div id=\"box\">\n\n <div id=\"illustration\">\n <img src=\"/500.png\" alt=\"\" />\n </div>\n\n <div style=\"z-index:5000;position:absolute;\">\n <div class=\"p1\">Algo está tecnicamente</div>\n <div class=\"p2\">errado.</div>\n <div class=\"p3\">Obrigado por notar, já vamos consertar. Em breve as coisas voltarão ao normal.</div>\n </div>\n\n </div>\n\n </body>\n</html>\n",
"exception": {}
}
}
As alterações propostas pelo @eduardonunesp resolveram meu problema..
O suporte do iugu me orientou a chamar a api diretamente. Como exemplo me passaram esse snippet aqui: https://gist.github.com/alepaez/50391a241b0da286ce8f8368392f5dcf
var request = require('request');
var options = {
url: 'https://api.iugu.com/v1/invoices',
contentType: 'application/json',
json: true,
body: {
api_token: "MEUTOKEN",
email: "test@test.test",
due_date: "02/12/2016",
items:
[
{description: "teste", quantity: 1, price_cents: 100},
{description: "teste2", quantity: 1, price_cents: 100}
]
}
}
request.post(options, function(err,httpResponse,body){
console.log(body);
})
Pessoal, estou iniciando uma implementação e este erro segue na biblioteca, alguém responsável pelo projeto pode fazer o merge e gerar uma nova versão da lib?
+1
@andre0799 se quiser instalar minha versão da lib basta executar:
npm install git+https://github.com/felipeplets/iugu-node.git
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:A request enviada será:
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étodocharge