moiplabs / moip-php

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

MoIP::setPagamentoDireto() requires information that is not used #25

Closed holtkamp closed 12 years ago

holtkamp commented 13 years ago

MoIP::setPagamentoDireto() contains a check on the incoming array:

    if ($params['forma'] == 'cartao_credito' and
        (!isset($params['cartao']) or
        !isset($params['cartao']['numero']) or
        !isset($params['cartao']['expiracao']) or
        !isset($params['cartao']['codigo_seguranca']) or
        !isset($params['cartao']['portador']) or
        !isset($params['cartao']['portador']['nome']) or
        !isset($params['cartao']['portador']['identidade_numero']) or
        !isset($params['cartao']['portador']['identidade_tipo']) or
        !isset($params['cartao']['portador']['telefone']) or
        !isset($params['cartao']['portador']['data_nascimento']) or
        !isset($params['cartao']['parcelamento']) or
        !isset($params['cartao']['parcelamento']['parcelas']) or
        !isset($params['cartao']['parcelamento']['recebimento'])
       )
      )

A part of this check is about the 'portador': !isset($params['cartao']['portador']) or !isset($params['cartao']['portador']['nome']) or !isset($params['cartao']['portador']['identidade_numero']) or !isset($params['cartao']['portador']['identidade_tipo']) or !isset($params['cartao']['portador']['telefone']) or !isset($params['cartao']['portador']['data_nascimento']) or

However, the following fields are not used when generating the XML:

//See how some fields are simply not used $portador = $cartao->addChild('Portador'); $portador->addChild('Nome',$params['cartao']['portador']['nome']); $portador->addChild('Identidade',$params['cartao']['portador']['identidade_numero']) ->addAttribute('tipo',$params['cartao']['portador']['identidade_tipo']);

Please remove the unrequired fields from the check and update the documentation. Is there an XSD available with the exact definition of the request?

vagnerfiuza commented 12 years ago

Product PagamentoDireto removed from the scope of the SDK, replaced by validation for the new product Moip Transaparente.