Estava tentando simular o erro da moeda com tamanho superior a 3 e, no meu caso, no lugar de dar um erro ele simplesmente truncou o resto do valor. Ex.: BRLBRL ele transformou em BRL e salvou no banco.
O que pode ser?
PagamentoDao.prototype.salva = function(pagamento, callback){
this._connection.query('INSERT INTO PAGAMENTOS SET ?', pagamento, callback);
}