banzeh/cielo

Erro ao tentar usar com AWS Lambda

pavini opened this issue · 3 comments

Estou tentando rodar no Lambda da AWS mas estou com um erro que não consegui resolver.

O código que estou testando:

exports.handler = (event, context, callback) => {
   
   const paramsCielo = {
        'MerchantId': 'e60c1e21cf8743d1bc1fbd760fe0aba4',
        'MerchantKey': 'LVYLUTLJYYIXXRUQMXLIMYEDLRVCRWHNGYQFIVIG',
        'sandbox': true,
        'debug': false
	};
	
	var cielo = require('cielo')(paramsCielo);
   
    callback(null, paramsCielo);
};

O erro:

Function Logs
2018-04-26 19:05:04.910 /var/task/node_modules/cielo/cielo.js:183
			let optionsCopy = {...options};
			                   ^^^
SyntaxError: Unexpected token ...
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at exports.handler (/var/task/cielo/index.js:10:30)

Esse erro é por conta de usar o AWS Lambda ou algo que tenho que alterar no pacote?

Abcs

A versão do node no lambda é qual? Me paresse que esse erro é por conta do ...options

E dependendo da versão precisamos alterar o código aqui para suportar a versão do lambda

@pavini, boa tarde.

Editei o código para ficar compatível com versões mais antigas do nodejs.

Testei com a versão 8.1.0 e funcionou corretamente. Pelo que vi, a última versão do nodejs disponível no AWS Lambda é a 8.10, então deve funcionar corretamente agora.

Atualize o pacote cielo para a versão 1.0.3 e tente rodar novamente o código.