moiplabs/moip-php — Issue #25: MoIP::setPagamentoDireto() requires information that is not used
Author: holtkamp
Created: 2011-11-11 19:28:21+00:00
State: open

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:
- 'telefone'
- 'data_nascimento'

//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?