sexta-feira, 22 de abril de 2011

Entendendo melhor a integração maldita do Bradesco para boleto bancário

Você também está tendo trabalho em entender o maldito documento de integração que o Bradesco fornece? Também está cansado de mandar emails para o suporte que não consegue te responder em uma maneira que não seja copiar e colar o que está no maldito manual?

SEUS PROBLEMAS ACABARAM!

E como funciona isso, Mister M?

Aposto que você ficou se perguntando dias como diabos os dados da compra vão parar no M.U.P. sem entender o que a documentação dizia exceto que essa é a parte mais importante do processo. duh.
Eu tive essa ajuda aqui e confesso que ela apenas me guiou para o caminho certo. Ela não me mostrou a solução.

Eu fiz apenas a integração com boletos sem retorno. Não faço ideia como o que não é boleto sem retorno funciona. Mas isso funcionar pra outras coisas, lemme know! :)

O gancho todo é: você precisa de um .php, .asp, .whatever, que é o DadosCompra.asp que o manual tanto cita, que monte pra você o tal do < BEGIN_ORDER_DESCRIPTION >.... < END_ORDER_DESCRIPTION > . Ele é um arquivo separado de todo o restante da tua loja e que só serve pra fazer isso: montar o "xml" do boleto.
O M.U.P. é configurado pra chamar esse teu .whatever e o próprio M.U.P. busca a string que teu .whatever vai cuspir colocando, no seu Gerenciador, no URL de notificação p/ Boleto Bancário Bradesco todo o caminho pra esse .whatever: www.meusite.com.br/diretorioqueeuquero/meuarquivo.whatever.

O link pro seu boleto deve ser algo como http://mupteste.comercioeletronico.com.br/sepsBoleto/xxxx/prepara_pagto.asp?merchantid=xxxx&orde
rid=zzzz.

Os posts foram preenchidos da seguinte maneira porque o pessoal do suporte mandou:
Post a ser enviado para a loja na notificação: numOrder=[%lid_m%]&merchantid=[%merchantid%]&cod=[%errorcod%]&cctype=[%cctype%]&ccna me=[%ccname%]&ccemail=[%ccemail%]&numparc=[%numparc%]&valparc=[%valparc%]&valtotal=[%valtotal%]&prazo=[%prazo%]&tipopagto=[%tipopagto%]&assinatura=[%assinatura%]&

Post a ser enviado para a loja na confirmação de compra: numOrder=[%lid_m%]&merchantid=[%merchantid%]&cod=[%errorcod%]&cctype=[%cctype%]&ccname=[%ccname%]&ccemail=[%ccemail%]&numparc=[%numparc%]&valparc=[%valparc%]&valtotal=[%valtotal%]&prazo=[%prazo%]&tipopagto=[%tipopagto%]&assinatura=[%assinatura%]&

Post a ser enviado para a loja na falha da autorização: numOrder=[%lid_m%]&merchantid=[%merchantid%]&cod=[%errorcod%]&errordesc=[%errordesc%] &

Eu sei que tem como você controlar o que é passado e que você pode acrescentar dados seus para serem passados. Como eu mal entendi como esse sistemas funciona, preferi colocar esses dados na minha sessão ao deixar que o M.U.P. as envie para mim novamente.
E pronto.

Então: o usuário vai navegar pelo teu site, teu site eventualmente vai montar esse link aí em cima e, quando o usuário clicar, o M.U.P. cadastra o boleto com zzzz e chama teu arquivo .whatever pra ter os dados do boleto. Esse zzzz não pode ser repetido, por isso é bom ter uma sequence em banco gerenciando esses números ou usar o timestamp (se bem que pode acontecer de dois usuários clicarem no mesmo instante).

Aí você se vira, mas o difícil mesmo está escrito nessas maltraçadas linhas.

sexta-feira, 18 de março de 2011

I am the birthday girl

Chega um ponto na vida do cidadão que ele tem de crescer. Ver que não adianta bater em ponta de faca se existem outras opções ao seu redor e é você que não quer ver.
Acho que passei o ano passado assim, tentando fazer com que o tempo voltasse, tentando fazer com que tudo voltasse ao ponto de onde eu saí mesmo sabendo que isso não pretende acontecer. Perdi um ano da vida.
Trocou o ano e eu decidi que não podia mais pensar assim. Não podia mais viver assim. Assim como ano, eu troquei de emprego e troquei de mentalidade. Março chegou e eu me vi animada. Foi esquisito. Estar perto dos trinta coloca godzilhões algumas pressões no cidadão, mas o negócio é stay loose e relembrar ensinamentos de mamãe: tudo tem sua hora.
Mesmo estando longe dos meus mais queridos, comprei o melhor bolo do universo* e vou comemorar hoje no encontro da ACERVA, com os meus novos queridos.

Meu nome tá errado, mas eu sei que foi de coração!
Estou orgulhosa dos meus vinte e nove (aiiii....) anos.
And I hope to get it right the next about to come.

* Massa chiffon branca e preta (chocolate), brigadeiro mole branco e preto, morangos e fondue de chocolate branco.


PS. Não. Não vou plantar 29 velas no bolo. Way too much humiliating. E eu ainda sou asmática! Mais humilhação é ter de pedir ajuda porque eu não consigo apagar todas as velas.
PPS. Mas não deixei de comprar pratinhos da Hello Kitty!

Somethings never change.

terça-feira, 15 de março de 2011

Erro maldito BIP4502E no Websphere Broker WE

Se você tiver um deploy de um projeto Java com falha e esse tal de BIP4502E aparecer, cata o diretório shared-classes e soca ali todos os jar que a tua aplicação usa.
O meu shared-classes está em C:\ProgramData\Application Data\IBM\MQSI\shared-classes.
Seus problemas serão terminados. Ou somente começando. Depende da aplicação.