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&ccedil;&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":"<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&uacute;mero CGC/CPF inv&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":"<WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW>", 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 }