github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/mock/bradescoNetEmpresa.go (about)

     1  package mock
     2  
     3  import (
     4  	"io/ioutil"
     5  	"strings"
     6  
     7  	"github.com/gin-gonic/gin"
     8  )
     9  
    10  func registerBoletoBradescoNetEmpresa(c *gin.Context) {
    11  
    12  	const respOk = `<?xml version="1.0" encoding="UTF-8"?>
    13  	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    14  		<soapenv:Body>
    15  			<ns2:registrarTituloResponse xmlns:ns2="http://ws.registrotitulo.ibpj.web.bradesco.com.br/">
    16  				<return>
    17  				{
    18  					"cdErro": "0",
    19  					"msgErro": "Solicita&amp;ccedil;&amp;atilde;o atendida",
    20  					"idProduto": "9",
    21  					"negociacao": "265600000000053937",
    22  					"clubBanco": "2269651",
    23  					"tpContrato": "48",
    24  					"nuSequenciaContrato": "2078071",
    25  					"cdProduto": "1730",
    26  					"nuTituloGerado": "99999999999",
    27  					"agenciaCreditoBeneficiario": "0",
    28  					"contaCreditoBeneficiario": "0",
    29  					"digCreditoBeneficiario": "00",
    30  					"cdCipTitulo": "0",
    31  					"statusTitulo": "1",
    32  					"descStatusTitulo": "A VENCER/VENCIDO",
    33  					"nomeBeneficiario": "NOME DO CEDENTE",
    34  					"logradouroBeneficiario": "ENDERECO CEDENTE",
    35  					"nuLogradouroBeneficiario": "",
    36  					"complementoLogradouroBeneficiario": "",
    37  					"bairroBeneficiario": "BAIRRO CEDENTE",
    38  					"cepBeneficiario": "99999",
    39  					"cepComplementoBeneficiario": "999",
    40  					"municipioBeneficiario": "MUNICIPIO DO CEDENTE",
    41  					"ufBeneficiario": "UF",
    42  					"razaoContaBeneficiario": "0",
    43  					"nomePagador": "Cliente Teste",
    44  					"cpfcnpjPagador": "123322797000017",
    45  					"enderecoPagador": "rua Teste",
    46  					"bairroPagador": "bairro Teste",
    47  					"municipioPagador": "Teste",
    48  					"ufPagador": "RJ",
    49  					"cepPagador": "21510",
    50  					"cepComplementoPagador": "013",
    51  					"endEletronicoPagador": "",
    52  					"nomeSacadorAvalista": "",
    53  					"cpfcnpjSacadorAvalista": "0",
    54  					"enderecoSacadorAvalista": "",
    55  					"municipioSacadorAvalista": "",
    56  					"ufSacadorAvalista": "",
    57  					"cepSacadorAvalista": "0",
    58  					"cepComplementoSacadorAvalista": "0",
    59  					"numeroTitulo": "1234567890",
    60  					"dtRegistro": "14012018",
    61  					"especieDocumentoTitulo": "DM",
    62  					"descEspecie": "",
    63  					"vlIOF": "0",
    64  					"dtEmissao": "14012018",
    65  					"dtVencimento": "30.06.2018",
    66  					"vlTitulo": "100",
    67  					"vlAbatimento": "0",
    68  					"dtInstrucaoProtestoNegativacao": "",
    69  					"diasInstrucaoProtestoNegativacao": "0",
    70  					"dtMulta": "",
    71  					"vlMulta": "0",
    72  					"qtdeCasasDecimaisMulta": "0",
    73  					"cdValorMulta": "0",
    74  					"descCdMulta": "",
    75  					"dtJuros": "",
    76  					"vlJurosAoDia": "0",
    77  					"dtDesconto1Bonificacao": "",
    78  					"vlDesconto1Bonificacao": "0",
    79  					"qtdeCasasDecimaisDesconto1Bonificacao": "0",
    80  					"cdValorDesconto1Bonificacao": "0",
    81  					"descCdDesconto1Bonificacao": "",
    82  					"dtDesconto2": "",
    83  					"vlDesconto2": "0",
    84  					"qtdeCasasDecimaisDesconto2": "0",
    85  					"cdValorDesconto2": "0",
    86  					"descCdDesconto2": "",
    87  					"dtDesconto3": "",
    88  					"vlDesconto3": "0",
    89  					"qtdeCasasDecimaisDesconto3": "0",
    90  					"cdValorDesconto3": "0",
    91  					"descCdDesconto3": "",
    92  					"diasDispensaMulta": "0",
    93  					"diasDispensaJuros": "0",	
    94  					"cdBarras":"&lt;NWnnwnNnWwnwwNNnNwnWwwNNnnnWWnnnWWnnnWWnnwNNwnNwwNNwWnnnwWNnnwNWnnnWWnnnWWnNnwwNNWnnwNnWnwnnWWnWNwnnNWnwnnnNWw>",
    95  					"linhaDigitavel": "23792.65602 90000.001231 45005.393702 6 74230000000200",
    96  					"cdAcessorioEscrituralEmpresa": "0",
    97  					"tpVencimento": "0",
    98  					"indInstrucaoProtesto": "0",
    99  					"tipoAbatimentoTitulo": "0",
   100  					"cdValorJuros": "0",
   101  					"tpDesconto1": "0",
   102  					"tpDesconto2": "0",
   103  					"tpDesconto3": "0",
   104  					"nuControleParticipante": "",
   105  					"diasJuros": "0",
   106  					"cdJuros": "0",
   107  					"vlJuros": "0",
   108  					"cpfcnpjBeneficiario": "",
   109  					"vlTituloEmitidoBoleto": "0",
   110  					"dtVencimentoBoleto": "30.06.2018",
   111  					"indTituloPertenceBaseTitulos": "",
   112  					"dtLimitePagamentoBoleto": "30.06.2018",
   113  					"cdIdentificacaoTituloDDACIP": "0",
   114  					"indPagamentoParcial": "N",
   115  					"qtdePagamentoParciais": "0"
   116  				}
   117  				</return>
   118  			</ns2:registrarTituloResponse>
   119  		</soapenv:Body>
   120  	</soapenv:Envelope>
   121  `
   122  
   123  	const respError = `
   124  <?xml version="1.0" encoding="UTF-8"?>
   125  <soapenv:Envelope 
   126  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   127  <soapenv:Body>
   128  	<ns2:registrarTituloResponse 
   129  		xmlns:ns2="http://ws.registrotitulo.ibpj.web.bradesco.com.br/">
   130  		<return>
   131  		{
   132  			"cdErro": "40",
   133  			"msgErro": "N&amp;uacute;mero CGC/CPF inv&amp;aacute;lido",
   134  			"idProduto": "0",
   135  			"negociacao": "0",
   136  			"clubBanco": "0",
   137  			"tpContrato": "0",
   138  			"nuSequenciaContrato": "0",
   139  			"cdProduto": "0",
   140  			"nuTituloGerado": "0",
   141  			"agenciaCreditoBeneficiario": "0",
   142  			"contaCreditoBeneficiario": "0",
   143  			"digCreditoBeneficiario": "",
   144  			"cdCipTitulo": "0",
   145  			"statusTitulo": "0",
   146  			"descStatusTitulo": "",
   147  			"nomeBeneficiario": "",
   148  			"logradouroBeneficiario": "",
   149  			"nuLogradouroBeneficiario": "",
   150  			"complementoLogradouroBeneficiario": "",
   151  			"bairroBeneficiario": "",
   152  			"cepBeneficiario": "0",
   153  			"cepComplementoBeneficiario": "0",
   154  			"municipioBeneficiario": "",
   155  			"ufBeneficiario": "",
   156  			"razaoContaBeneficiario": "0",
   157  			"nomePagador": "",
   158  			"cpfcnpjPagador": "0",
   159  			"enderecoPagador": "",
   160  			"bairroPagador": "",
   161  			"municipioPagador": "",
   162  			"ufPagador": "",
   163  			"cepPagador": "0",
   164  			"cepComplementoPagador": "",
   165  			"endEletronicoPagador": "",
   166  			"nomeSacadorAvalista": "",
   167  			"cpfcnpjSacadorAvalista": "0",
   168  			"enderecoSacadorAvalista": "",
   169  			"municipioSacadorAvalista": "",
   170  			"ufSacadorAvalista": "",
   171  			"cepSacadorAvalista": "0",
   172  			"cepComplementoSacadorAvalista": "0",
   173  			"numeroTitulo": "",
   174  			"dtRegistro": "",
   175  			"especieDocumentoTitulo": "",
   176  			"descEspecie": "",
   177  			"vlIOF": "0",
   178  			"dtEmissao": "",
   179  			"dtVencimento": "",
   180  			"vlTitulo": "0",
   181  			"vlAbatimento": "0",
   182  			"dtInstrucaoProtestoNegativacao": "",
   183  			"diasInstrucaoProtestoNegativacao": "0",
   184  			"dtMulta": "",
   185  			"vlMulta": "0",
   186  			"qtdeCasasDecimaisMulta": "0",
   187  			"cdValorMulta": "0",
   188  			"descCdMulta": "",
   189  			"dtJuros": "",
   190  			"vlJurosAoDia": "0",
   191  			"dtDesconto1Bonificacao": "",
   192  			"vlDesconto1Bonificacao": "0",
   193  			"qtdeCasasDecimaisDesconto1Bonificacao": "0",
   194  			"cdValorDesconto1Bonificacao": "0",
   195  			"descCdDesconto1Bonificacao": "",
   196  			"dtDesconto2": "",
   197  			"vlDesconto2": "0",
   198  			"qtdeCasasDecimaisDesconto2": "0",
   199  			"cdValorDesconto2": "0",
   200  			"descCdDesconto2": "",
   201  			"dtDesconto3": "",
   202  			"vlDesconto3": "0",
   203  			"qtdeCasasDecimaisDesconto3": "0",
   204  			"cdValorDesconto3": "0",
   205  			"descCdDesconto3": "",
   206  			"diasDispensaMulta": "0",
   207  			"diasDispensaJuros": "0",
   208  			"cdBarras": "",
   209  			"linhaDigitavel": "",
   210  			"cdAcessorioEscrituralEmpresa": "0",
   211  			"tpVencimento": "0",
   212  			"indInstrucaoProtesto": "0",
   213  			"tipoAbatimentoTitulo": "0",
   214  			"cdValorJuros": "0",
   215  			"tpDesconto1": "0",
   216  			"tpDesconto2": "0",
   217  			"tpDesconto3": "0",
   218  			"nuControleParticipante": "",
   219  			"diasJuros": "0",
   220  			"cdJuros": "0",
   221  			"vlJuros": "0",
   222  			"cpfcnpjBeneficiario": "",
   223  			"vlTituloEmitidoBoleto": "0",
   224  			"dtVencimentoBoleto": "",
   225  			"indTituloPertenceBaseTitulos": "",
   226  			"dtLimitePagamentoBoleto": "",
   227  			"cdIdentificacaoTituloDDACIP": "0",
   228  			"indPagamentoParcial": "",
   229  			"qtdePagamentoParciais": "0"
   230  		}           
   231  		</return>
   232  	</ns2:registrarTituloResponse>
   233  </soapenv:Body>
   234  </soapenv:Envelope>
   235  `
   236  
   237  	const respErrFail = `
   238  <?xml version="1.0" encoding="UTF-8"?>
   239  <S:Envelope 
   240  	xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 
   241  	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   242  	<S:Body>
   243  		<ns2:registrarTituloResponse 
   244  			xmlns:ns2="http://ws.registrotitulo.ibpj.web.bradesco.com.br/">
   245  			<return>{"cdErro":"810", "msgErro":"Erro Certificado / Formatacao dos campos da mensagem invalida [0x02430001]"}</return>
   246  		</ns2:registrarTituloResponse>
   247  	</S:Body>
   248  </S:Envelope>
   249  `
   250  
   251  	const resErrSpecialCharacter = `<?xml version="1.0" encoding="UTF-8"?>
   252  	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   253  		 <soapenv:Body>
   254  				<ns2:registrarTituloResponse xmlns:ns2="http://ws.registrotitulo.ibpj.web.bradesco.com.br/">
   255  					 <return>{
   256  						 "cdErro":"0",
   257  						  "msgErro":"SOLICITACAO ATENDIDA (0)", 
   258  							"idProduto":"9", 
   259  							"negociacao":"364500000000002877", 
   260  							"clubBanco":"2269651", 
   261  							"tpContrato":"48", 
   262  							"nuSequenciaContrato":"2091580", 
   263  							"cdProduto":"1730", 
   264  							"nuTituloGerado":"99999999999", 
   265  							"agenciaCreditoBeneficiario":"0", 
   266  							"contaCreditoBeneficiario":"0", 
   267  							"digCreditoBeneficiario":"00", 
   268  							"cdCipTitulo":"0", 
   269  							"statusTitulo":"1", 
   270  							"descStatusTitulo":"A VENCER/VENCIDO", 
   271  							"nomeBeneficiario":"NOME DO CEDENTE",
   272  							"logradouroBeneficiario":"ENDERECO CEDENTE", 
   273  							"nuLogradouroBeneficiario":"", 
   274  							"complementoLogradouroBeneficiario":"", 
   275  							"bairroBeneficiario":"BAIRRO CEDENTE", 
   276  							"cepBeneficiario":"99999", 
   277  							"cepComplementoBeneficiario":"999", 
   278  							"municipioBeneficiario":"MUNICIPIO DO CEDENTE", 
   279  							"ufBeneficiario":"UF", 
   280  							"razaoContaBeneficiario":"0", 
   281  							"nomePagador":"Nome do Comprador Cliente", 
   282  							"cpfcnpjPagador":"397340220000059", 
   283  							"enderecoPagador":"Logradouro 	do Comprador", 
   284  							"bairroPagador":"Bairro do Comprador",
   285  							"municipioPagador":"Cidade do Comprador",
   286  							"ufPagador":"SC", 
   287  							"cepPagador":"1001", 
   288  							"cepComplementoPagador":"000", 
   289  							"endEletronicoPagador":"compradorgmail.com", 
   290  							"nomeSacadorAvalista":"", 
   291  							"cpfcnpjSacadorAvalista":"0", 
   292  							"enderecoSacadorAvalista":"", 
   293  							"municipioSacadorAvalista":"", 
   294  							"ufSacadorAvalista":"", 
   295  							"cepSacadorAvalista":"0", 
   296  							"cepComplementoSacadorAvalista":"0", 
   297  							"numeroTitulo":"00022072766", 
   298  							"dtRegistro":"04022022", 
   299  							"especieDocumentoTitulo":"DM", 
   300  							"descEspecie":"", 
   301  							"vlIOF":"0", 
   302  							"dtEmissao":"04022022", 
   303  							"dtVencimento":"09.02.2022", 
   304  							"vlTitulo":"200", 
   305  							"vlAbatimento":"0", 
   306  							"dtInstrucaoProtestoNegativacao":"", 
   307  							"diasInstrucaoProtestoNegativacao":"0", 
   308  							"dtMulta":"", 
   309  							"vlMulta":"0",
   310  							"qtdeCasasDecimaisMulta":"0", 
   311  							"cdValorMulta":"0", 
   312  							"descCdMulta":"", 
   313  							"dtJuros":"", 
   314  							"vlJurosAoDia":"0", 
   315  							"dtDesconto1Bonificacao":"",
   316  							"vlDesconto1Bonificacao":"0", 
   317  							"qtdeCasasDecimaisDesconto1Bonificacao":"0",
   318  							"cdValorDesconto1Bonificacao":"0", 
   319  							"descCdDesconto1Bonificacao":"", 
   320  							"dtDesconto2":"", 
   321  							"vlDesconto2":"0", 
   322  							"qtdeCasasDecimaisDesconto2":"0", 
   323  							"cdValorDesconto2":"0", 
   324  							"descCdDesconto2":"", 
   325  							"dtDesconto3":"", 
   326  							"vlDesconto3":"0", 
   327  							"qtdeCasasDecimaisDesconto3":"0", 
   328  							"cdValorDesconto3":"0", 
   329  							"descCdDesconto3":"", 
   330  							"diasDispensaMulta":"0", 
   331  							"diasDispensaJuros":"0", 
   332  							"cdBarras":"&lt;WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW&gt;",
   333  							"linhaDigitavel":"99999.99999 99999.999999 99999.999999 9 99999999999999",
   334  							"cdAcessorioEscrituralEmpresa":"0",
   335  							"tpVencimento":"0",
   336  							"indInstrucaoProtesto":"0",
   337  							"tipoAbatimentoTitulo":"0",
   338  							"cdValorJuros":"0",
   339  							"tpDesconto1":"0",
   340  							"tpDesconto2":"0",
   341  							"tpDesconto3":"0",
   342  							"nuControleParticipante":"",
   343  							"diasJuros":"0", 
   344  							"cdJuros":"0", 
   345  							"vlJuros":"0", 
   346  							"cpfcnpjBeneficiario":"",
   347  							"vlTituloEmitidoBoleto":"0",
   348  							"dtVencimentoBoleto":"09.02.2022", 
   349  							"indTituloPertenceBaseTitulos":"", 
   350  							"dtLimitePagamentoBoleto":"09.02.2022",
   351  							"cdIdentificacaoTituloDDACIP":"0", 
   352  							"indPagamentoParcial":"", 
   353  							"qtdePagamentoParciais":"0"
   354  							}</return>
   355  				</ns2:registrarTituloResponse>
   356  		 </soapenv:Body>
   357  	</soapenv:Envelope>`
   358  
   359  	d, _ := ioutil.ReadAll(c.Request.Body)
   360  	json := string(d)
   361  	if strings.Contains(json, `"vlNominalTitulo": "200"`) {
   362  		c.Data(200, "text/xml", []byte(respOk))
   363  	} else if strings.Contains(json, `"vlNominalTitulo": "201"`) {
   364  		c.Data(200, "text/xml", []byte(respError))
   365  	} else if strings.Contains(json, `"vlNominalTitulo": "204"`) {
   366  		c.Data(200, "text/xml", []byte(resErrSpecialCharacter))
   367  	} else {
   368  		c.Data(500, "text/xml", []byte(respErrFail))
   369  	}
   370  }