moiplabs / moip-php

Biblioteca de integração com o MoIP em PHP
http://labs.moip.com.br/
83 stars 68 forks source link

Ao tentar pagar direto com o boleto, obtivemos erro até descobrir que setPagamentoDireto() existe e é o único método em pt-br da lib toda. Bizarro. #23

Closed djalmaaraujo closed 12 years ago

djalmaaraujo commented 12 years ago

Segue abaixo uma implementacao para boletos, funcionando: Ao tentar pagar direto com o boleto, obtivemos erro até descobrir que setPagamentoDireto() existe e é o único método em pt-br da lib toda. Bizarro.

Resumidamente, voce define como ('Direto'), mas é como se fosse inutil, voce precisa setar setPagamentoDireto() para que funcione.

        $payer = array();
        $payer['nome'] = 'Djalma Araujo';
        $payer['email'] = 'djalma.araujo@gmail.com';
        $payer['celular'] = '(81)55558899';
        $payer['apelido'] = 'djalmaaraujo'; 
        $payer['identidade'] = '111.111.111-11';
        $payer['endereco']['logradouro'] = 'Rua lalala';
        $payer['endereco']['numero'] = '555';
        $payer['endereco']['complemento'] = 'Apt 503'; 
        $payer['endereco']['bairro'] = 'Bairro';
        $payer['endereco']['cidade'] = 'Cidade';
        $payer['endereco']['estado'] = 'PE';
        $payer['endereco']['pais'] = 'BRA';
        $payer['endereco']['cep'] = '55448-888';
        $payer['endereco']['telefone'] = '(81)32222222';

        $this->gateway = new MoIP();
        $this->gateway->setCredential(array(
            'key'=>'123',
            'token'=>'123')
        )
        ->setReason('Testes')
        ->setUniqueID(rand(1,rand(5, 9999)))
        ->setValue(123.45)
        ->setPayer($payer)
        ->setEnvironment('producao')
        ->setPaymentType('Direto')
        ->setPagamentoDireto(array(
            'forma' => 'boleto'
        ))
        ->addPaymentWay('boleto', array(
            'dias_expiracao'=> array(
                'dias' => 7,
                'tipo' => 'corridos'
                )
            )
        )
        ->validate()
        ->send();

        $response = $this->gateway->getAnswer();
        if ($response->success) {
            header('Location: ' . $this->redirectGateway . $response->token);
            exit;
        } else {
            die('ERROR');
        }
vagnerfiuza commented 12 years ago

Pagamento Direto removido do escopo Moip de produtos, classe atualizada.