/** * Cria o nó XML que representa o objeto ou conjunto de objetos na composição * @return string * @see Cielo::createXMLNode() * @throws BadMethodCallException Se a URL de retorno não tiver sido especificada * @throws BadMethodCallException Se os dados do pedido não tiver sido especificado */ public function createXMLNode() { if ( !empty( $this->returnURL ) ) { $dom = new DOMDocument( '1.0' , 'UTF-8' ); $dom->loadXML( parent::createXMLNode() ); $dom->encoding = 'UTF-8'; $orderData = $dom->getElementsByTagName( 'dados-pedido' )->item( 0 ); if ( $orderData instanceof DOMElement ) { $orderNumber = $orderData->getElementsByTagName( 'numero' )->item( 0 ); if ( $orderNumber instanceof DOMElement ) { $this->returnURL = preg_replace( '/\{pedido\}/' , $orderNumber->nodeValue , $this->returnURL ); } $dom->childNodes->item( 0 )->appendChild( $dom->createElement( 'url-retorno' , $this->returnURL ) ); $dom->childNodes->item( 0 )->appendChild( $dom->createElement( 'autorizar' , $this->authorize ) ); $dom->childNodes->item( 0 )->appendChild( $dom->createElement( 'capturar' , $this->capture ? 'true' : 'false' ) ); if ( !is_null( $this->freeField ) ) { $dom->childNodes->item( 0 )->appendChild( $dom->createElement( 'campo-livre' , $this->freeField ) ); } return $dom->saveXML(); } else { throw new BadMethodCallException( 'O nó contendo os dados do pedido ainda não foi especificado.' ); } } else { throw new BadMethodCallException( 'A URL de retorno deve ser especificada.' ); } }
/** * Cria o nó XML que representa o objeto ou conjunto de objetos na composição * @return string * @see Cielo::createXMLNode() * @throws BadMethodCallException Se a URL de retorno não tiver sido especificada * @throws BadMethodCallException Se os dados do pedido não tiver sido especificado */ public function createXMLNode() { if ( !empty( $this->tid ) ) { $dom = new DOMDocument( '1.0' , 'UTF-8' ); $dom->loadXML( parent::createXMLNode() ); $dom->encoding = 'UTF-8'; $namespace = $this->getNamespace(); $query = $dom->getElementsByTagNameNS( $namespace , $this->getRootNode() )->item( 0 ); $EcData = $dom->getElementsByTagNameNS( $namespace , 'dados-ec' )->item( 0 ); if ( $EcData instanceof DOMElement ) { $tid = $dom->createElement( 'tid' , $this->tid ); $query->insertBefore( $tid , $EcData ); if ( !is_null( $this->value ) ) { $value = $dom->createElement( 'valor' , $this->value ); $query->insertBefore( $value , $EcData ); } if ( !is_null( $this->annex ) ) { $annex = $dom->createElement( 'anexo' ); $query->insertBefore( $annex , $EcData ); } } else { throw new BadMethodCallException( 'O nó dados-ec precisa ser informado.' ); } return $dom->saveXML(); } else { throw new BadMethodCallException( 'O ID da transação deve ser informado.' ); } }
/** * Cria o nó XML que representa o objeto ou conjunto de objetos na composição * @return string * @see Cielo::createXMLNode() * @throws BadMethodCallException Se a URL de retorno não tiver sido especificada * @throws BadMethodCallException Se os dados do pedido não tiver sido especificado */ public function createXMLNode() { if ( !empty( $this->tid ) ) { $dom = new DOMDocument( '1.0' , 'UTF-8' ); $dom->loadXML( parent::createXMLNode() ); $dom->encoding = 'UTF-8'; $namespace = $this->getNamespace(); $query = $dom->getElementsByTagNameNS( $namespace , $this->getRootNode() )->item( 0 ); $EcData = $dom->getElementsByTagNameNS( $namespace , 'dados-ec' )->item( 0 ); if ( $EcData instanceof DOMElement ) { $tid = $dom->createElement( 'tid' , $this->tid ); $query->insertBefore( $tid , $EcData ); $dom->childNodes->item( 0 )->appendChild( $dom->createElement( 'capturar-automaticamente' , $this->capture ? 'true' : 'false' ) ); } else { throw new BadMethodCallException( 'O nó dados-ec precisa ser informado.' ); } return $dom->saveXML(); } else { throw new BadMethodCallException( 'O ID da transação deve ser informado.' ); } }