

Esses serviços deixarão de estar disponíveis a partir de 1º de abril de 2021 , a nova versão da API possui essas e mais ferramentas que facilitarão e economizarão muito tempo em validações ou penalidades do SAT em auditorias, recomendamos amplamente a sua nova documentação em https://devesers.facturiporti.com.mx/reference/api-apisrsrsrsrroll
Os novos serviços de acesso da API são publicados em:
https://testapi.facturoporti.com.mx/
https://api.facturoporti.com.mx/
Dependendo do ambiente em que você deve usar sandbox ou produção.
Você precisa de ajuda ou contratar serviços? Envie -nos um e -mail para [email protected] [email protected], vá para a página https://www.facturoporti.com.mx Conte -nos conosco on -line ou ligue para nós 555 546 2288 ou 558 421 767 Podemos dar -lhe satisfação que você precisa.
Este é o exemplo de uso para consumir o serviço da Web em C# para gerar faturas, notas, recibos, folha de pagamento, carta de rolamentos, complemento de pagamentos, etc.) .
Este serviço é ideal quando você já gera o XML por seus próprios meios e só precisa de carimbo. A integração é fácil e rápida em 10 minutos, você transmitirá em nosso ambiente de teste o CFDI a produção em menos de 1 hora.
Além disso, o serviço da web permitirá o cancelamento de um ou mais CFDI
Recomenda -se usar a comunidade do Visual Studio Development IDE 2017 ou superior. Todas as versões da comunidade são gratuitas e podem ser baixadas em https://visualstudio.microsoft.com/es/vs/Communch/
Obtenha a versão mais recente do facturoporti c# em:
git clone https://github.com/facturoporti/factura-electronica-Web-Service-C-Sharp.git
Faça o download do repositório que contém o que é necessário para executar o processo de estampagem.

Selecione o arquivo Pressione TIMBRAR, o sistema executará o seguinte:
if ( txtArchivoXML . Text . Trim ( ) . Length == 0 )
{
MessageBox . Show ( "Seleccione un archivo antes de continuar." , "Error al Timbrar Documento" ) ;
}
else
{
txtFechaInicio . Text = DateTime . Now . ToString ( ) ;
Cursor . Show ( ) ;
Cursor . Current = Cursors . WaitCursor ;
CertificarClient certificar = new CertificarClient ( ) ;
AutenticarPeticion autenticar = new AutenticarPeticion ( ) ;
TimbrarCFDIPeticion xml = new TimbrarCFDIPeticion ( ) ;
// Asigna los parametros de configuracion de conexion
autenticar . Usuario = "PruebasTimbrado" ;
autenticar . Contrasenia = "@Notiene1" ;
// abre el archivo XMl que fue seleccionado
FileStream resultado = null ;
resultado = new FileStream ( txtArchivoXML . Text , FileMode . Open , FileAccess . Read , FileShare . Read ) ;
using ( StreamReader contenidoArchivo = new StreamReader ( resultado ) )
{
xml . XMLEntrada = contenidoArchivo . ReadToEnd ( ) ;
contenidoArchivo . Close ( ) ;
}
TimbrarCFDIRespuesta respuesta = certificar . TimbradoMultiEmpresas ( autenticar , xml ) ;
certificar . Close ( ) ;
txtFechaTermino . Text = DateTime . Now . ToString ( ) ;
if ( respuesta . Estatus . Codigo == "000" )
{
txtXMLTimbrado . Text = respuesta . Timbrado . TimbreXML ;
}
MessageBox . Show ( respuesta . Estatus . Descripcion , "Generación CFDI" ) ;
Cursor . Current = Cursors . Default ;
} No termo, o sistema indica que o resultado da estampagem também mostrará o timbre fiscal:

Versão C# usada
Visual Studio 2017 Community con Framework 4.5
Entre no fólio fiscal (UUID) para realizar o cancelamento:

if ( txtFolioFiscal1 . Text . Trim ( ) . Length == 0 && txtFolioFiscal2 . Text . Trim ( ) . Length == 0 )
{
MessageBox . Show ( "Ingrese al menos un Folio Fiscal antes de continuar." , "Error al cancelar el CFDI" ) ;
}
else
{
// Genera XMl con los Folios a enviar se pueden enviar uno o mas CFDI para cancelacion
// Solo se podran enviar CFDI timbrados con nuestro servicio no hay el limite de CFDI que se puean cancelar
Cursor . Show ( ) ;
Cursor . Current = Cursors . WaitCursor ;
CertificarClient certificar = new CertificarClient ( ) ;
AutenticarPeticion autenticar = new AutenticarPeticion ( ) ;
CancelarCFDIPACPeticion cancelar = new CancelarCFDIPACPeticion ( ) ;
// Asigna los parametros de configuracion de conexion
autenticar . Usuario = "PruebasTimbrado" ;
autenticar . Contrasenia = "@Notiene1" ;
cancelar . RFC = "AAA010101AAA" ; // RFC del emisor del CFDI;
cancelar . Password = "12345678a" ;
Archivos archivo = new Archivos ( ) ;
cancelar . PFX = archivo . ConvertirStreamToByte ( archivo . Abrir ( ObtieneDirectorioAplicacion ( ) + @"CertificadoAAA010101AAA.pfx" ) ) ; //"Se debe de enviar el certificado en formato PFX para realizar la cancelacion";
List < string > folios = new List < string > ( ) ;
if ( ! string . IsNullOrEmpty ( txtFolioFiscal1 . Text ) )
folios . Add ( txtFolioFiscal1 . Text . Trim ( ) ) ;
if ( ! string . IsNullOrEmpty ( txtFolioFiscal2 . Text ) )
folios . Add ( txtFolioFiscal2 . Text . Trim ( ) ) ;
cancelar . UUID = folios . ToArray ( ) ;
CancelarCFDIRespuesta respuesta = certificar . CancelarCFDICualquierPAC ( autenticar , cancelar ) ;
certificar . Close ( ) ;
txtFechaTermino . Text = DateTime . Now . ToString ( ) ;
Cursor . Current = Cursors . Default ;
// No hay limite para el envio de cancelaciones en el ejemplo solo en envian 3 pero pueden ser todos los que el usuario
// desee cancelar al mismo tiempo
for ( int contador = 0 ; contador < respuesta . FoliosRespuesta . Length ; contador ++ )
{
if ( respuesta . FoliosRespuesta [ contador ] . Estatus != null )
MessageBox . Show ( respuesta . FoliosRespuesta [ contador ] . Estatus . Descripcion , "Generación CFDI" ) ;
}
} Execute o botão Enviar Cancelamento, antes de executar o código, você deve atualizar os valores com seus dados fiscais; No final da execução, você receberá a resposta:

NOTA: O certificado digital que deve ser enviado é um dos tipos PFX se o correto enviará o erro de cancelamento
Se você deseja mais informações de serviço da web, baixe o guia de integração, ele contém todos os atributos e sua descrição, além dos valores que são permitidos
Fork o repositório
Clona o repositório
Git clone [email protected]: yourusername/floice-eletronics-web-service-c-sharp.git
Crie uma filial
git checkout desarrollo
git pull al original desarrollo
# Podrás escoger el nombre de tu rama
git checkout -b <feature/my_branch>
git add .
git commit -m "mis cambios"
git push origin <feature/my_branch>
***-
Desenvolvido no México por facturoporti. Use a licença, veja mais.