sounoob / pagseguro-php-sdk

Uma biblioteca do PagSeguro que qualquer noob pode usar, editar, contribuir, melhor e seja lá o que eles quiserem fazer...
Apache License 2.0
25 stars 14 forks source link

Checkout Transparente - Cartão de Crédito - Problema de formatação no installmentValue #25

Closed renatonagliati closed 4 years ago

renatonagliati commented 4 years ago

Olá,

No arquivo directPayment\CreditCard.php, função calcInstallmentValue() é necessário formatar a variável $this->post['installmentValue'] para evitar o erro 53041 (installment value invalid value) que ocorre somente quando o valor da parcela termina com zeros. Ex.: (49.00 / 49.90). Sem essa formatação a library está enviando o valor desformatado, 49 ou 49.9 respectivamente. Alteração sugerida:

De: private function calcInstallmentValue() { $this->post['installmentValue'] = 0;

    foreach ($this->item as $item) {
        $this->post['installmentValue'] += ($item['amount'] * $item['quantity']);
    }
}

Para: private function calcInstallmentValue() { $this->post['installmentValue'] = 0;

    foreach ($this->item as $item) {
        $this->post['installmentValue'] += ($item['amount'] * $item['quantity']);
    }
            $this->post['installmentValue'] = number_format($this->post['installmentValue'], 2, '.', '');
}

Obrigado.

Sena commented 4 years ago

@renatonagliati desculpa a demora. Obrigado pelo apontamento, estou fazendo alteração aqui.