Jump to content

Módulo Multibanco


Ehinarr

Recommended Posts

  • 2 weeks later...
  • 3 weeks later...

Eu tinha ideia de ter visto por lá as expressões utilizadas nos email para serem traduzidas, mas espalhadas pelos vários módulos...

Estive agora a pesquisar uma maneira de efectuares as alterações e o melhor será ires a C:\xampp\htdocs\prestashop\mails\pt e abrires o ficheiro em html (simbolo do navegador que utilizas), que queres traduzir utilizando um editor de html ou o worpad.

Atenção não abras o ficheiro com a extensão TXT pois as alterações efectuadas por aí não produzem efeito.

Depois gravas o ficheiro na mesma pasta e podes clicar nele para o abrires e ver as alterações no teu navegador predefenido.

  • Like 1
Link to comment
Share on other sites

assim é que eu gosto de ver ... dar feedback quando a solução apresentada resolveu a questão colocada :)

eu ainda estou construindo a minha loja e ainda não cheguei a essa parte pelo que ainda não pesquisei... mas também estou interessado nesse modulo.

de momento estou ocupado a terminar um programa em excel para criar listas de categorias, sem limites de categorias e subcategorias, de uma só vez , para de seguida efectuar a preparação do ficheiros de produtos em excel do meu fornecedor com cerca de 67000 referencias.

Com tudo isto pronto vou importar para a base de dados do prestashop a lista de categorias e de produtos com o programa que alterei xls2sql e só então puderei ver se consigo fazer algo com as referencias do multibanco e ver se encontro algo sobre os ctt.

Entretanto vai pesquisando para ver se encontras algum modulo para os ctt ou contacta-os para ver se eles tem o codigo php ou html para inserimos no nosso site.

Link to comment
Share on other sites

Ok vou pesquisar e tentar contactar algumas transportadoras alem dos ctt.
Entretanto vou ser um seguidor desse programa em excel pois quando terminares se me cederes irá ser-me muito util tambem.

Obrigado a ti e tambem ao ehinarr pela dicas e ajudas.

Link to comment
Share on other sites

O programa já está praticamente pronto... falta só acabar alguns aspectos em termos de visual e fazer masi alguns teste para ver se descubro algum bug ;-)

Vai-me dizendo como correm esses contactos das transportadoras que eu tenho também interesse.

Em termos de multibanco esperar que o amigo Ehinarr se pronuncie :-)

Link to comment
Share on other sites

cool exadra37!
já agora alguém encontra algum post sobre SEO.
é que o meu parece que funciona mas nao aparece nadinha no google.
na minha primeira loja com presta 1.1 aparecia. agora não aparece, na mesma com a versão 1.1!

nao encontro posts relacionados com SEO, de como resolver.

tenho a loja numa pasta e nao na raiz, será q influencia?
www.ccampea.com/lojacc

abraço

Link to comment
Share on other sites

Ora muito bem.

Já cá estou outra vez. Ele instalou bem mas não tinha copiado os ficheiros para a minha pasta (não sei porquê). Copiei eu a pasta que tinha descompactada para a pasta correspondente e 5 ESTRELAS. Oh ehinarr, está simplesmente espectacular!!!!

Mas como não podia deixar de ser, tenho três sugestões:

- O preço deve aparecer do tipo 37,25 e não 37.25 (apenas um pormenor);

- Quando no fim do processo de pagamento aparece esta frase: "Por favor atente que escolheu pagar por Multibanco" eu sugiro que a frase diga: "Por favor atente que escolheu pagar pela rede Multibanco em Portugal" (ou então essa operação não aparecer sequer se o utilizador registado for de outro país, o que acho ser mais complicado realizar);

- Na minha loja tenho várias moedas activas (apareceu primeiro o dólar) o que não é relístico acontecer, dado que só é possível efectuar em euros nas caixas Multibanco (ou ATM). Francamente, não sei se é possível, mas deveria haver pelo menos um teste que mesmo que não seja prático retirar as moedas, pelo menos exista uma verificação do tipo: é euro? ok! Senão tem de escolher o euro!

MAIS UMA VEZ OBRIGADO ehinarr!


Obs.: Eu não sei não, mas se fosse a ti pedia umas croas (leia-se uns euros) aos Srs. da ifthen, afinal quem vai lucrar com isto são especialmente eles! ;-)

Link to comment
Share on other sites

Ora muito bem.

Já cá estou outra vez. Ele instalou bem mas não tinha copiado os ficheiros para a minha pasta (não sei porquê). Copiei eu a pasta que tinha descompactada para a pasta correspondente e 5 ESTRELAS. Oh ehinarr, está simplesmente espectacular!!!!

Mas como não podia deixar de ser, tenho três sugestões:

- O preço deve aparecer do tipo 37,25 e não 37.25 (apenas um pormenor);

- Quando no fim do processo de pagamento aparece esta frase: "Por favor atente que escolheu pagar por Multibanco" eu sugiro que a frase diga: "Por favor atente que escolheu pagar pela rede Multibanco em Portugal" (ou então essa operação não aparecer sequer se o utilizador registado for de outro país, o que acho ser mais complicado realizar);

- Na minha loja tenho várias moedas activas (apareceu primeiro o dólar) o que não é relístico acontecer, dado que só é possível efectuar em euros nas caixas Multibanco (ou ATM). Francamente, não sei se é possível, mas deveria haver pelo menos um teste que mesmo que não seja prático retirar as moedas, pelo menos exista uma verificação do tipo: é euro? ok! Senão tem de escolher o euro!

MAIS UMA VEZ OBRIGADO ehinarr!


Obs.: Eu não sei não, mas se fosse a ti pedia umas croas (leia-se uns euros) aos Srs. da ifthen, afinal quem vai lucrar com isto são especialmente eles! ;-)


A frase vais ás traduções e alteras nos módulos. Eu já alterei e não uso a palavra atente.

No back office no separador Payement podes alterar:

- As moedas podes escolher as que queres que apareçam e eu só utilizo o Euro.

- Podes também seleccionar em que paises queres que os vários tipos de pagamento sejam visiveis.

As moedas do módulo é que já tem de ser com o Ehinarr ;) .
Link to comment
Share on other sites

  • 1 month later...

Boa noite,

Alguém me podia explicar para que serve ao certo este modulo? ou seja o que se pode fazer com ele?
Andei a ler na Internet e no fórum mas não percebi ao certo, também li que a empresa IFTHEN funciona como intermediaria, mas não percebi novamente... Se alguém poder explicar agradecia desde ja.

Obrigada
Beijo Joana

Link to comment
Share on other sites

Olá Joana

Depois de fazeres contrato com a IFTHEN será atibuído uma sub-entidade, uma vez que a entidade será a deles 10599, deverás depois neste módulo, preencher com os dados que te foram atribuídos pela IFTHEN

Ex.: Entidade: 10599
SubEnt.: 883

Depois de activo, o que este módulo faz é gerar a referência completa para que as pessoas possam pagar a encomenda por multibanco. Se na altura do checkout escolherem Multibanco serão gerados os dados para pagamento no terminal multibanco.

No final da encomenda sairá qualquer coisa do tipo:

Entidade: 10599
Ref.: 883 001 229
Valor: 30.00

Como podes ver, os primeiros 3 digitos da ref. são a subentidade que a IFTHEN te atribuiu no valor, sai o valor da encomenda :)

Espero que tenha conseguido dar uma explicação válida... e compreensível

Não te esqueças, primeiro terás que fazer contrato com a empresa ou intrmediária de pagamentos por multibanco, a IFTHEN é uma boa solução e com custos muito baixos. Só depois de te serem atribuidos os dados é que deves utilizar o módulo

Link to comment
Share on other sites

testado!

Funciona bem, no entanto, fiz algumas alterações no código e adaptei ao meu template.

O PDF também alterei porque o logo Multibanco não aparece correctamente no sítio. Alterei ainda, o caminho para o logo do multibanco no PDF

De resto acho que até é bom

Mas existem personalizações que podem ser feitas a principal penso que seja por os dados como aparece no PDF mas no e-mail que é enviado.

De resto, pode ser aproveitado.

Link to comment
Share on other sites

Deixa eu sr mais exato:

Fontes
[email protected]
85.245.203.59
Enviado em 26/11/2009 às 11:07

Desde ja um muito obrigado por terem desenvolvido este modulo. Eu acrescentei alguns pormenores que achei que fazia falta a este, como poder ver os dados relativos ao pagamento de multibanco no Order Review e no PDF gerado aí tambem, e a nova Entidade da Ifthen. O resto do modulo continua igual. Deixo o link para quem quizer:

http://www.mediafire.com/?yfjy1ymydoz

Deixei também na pasta a tradução para português.


As informações estão correctas?
Link to comment
Share on other sites

Bem,

Quanto ás modificações, penso que sejam necessárias mais algumas, (ehinarr, por causa das modificações desse rapaz...). Verifiquei um problema de posicionamento do logo do multibanco.

Segundo estive a ver o pdf.php tem um problema para posicionar o logotipo. No caso do rapaz penso que o valor foi 160 (axo), eu alterei e ficou bem, mas só quando há 1 produto. se forem 2, por exemplo, o logo desce mais do que a caixa.

Estou a tentar fazer as alterações mas até agora sem sucesso. Estive a ver as variaveis do fpdf (no site do projecto) mas a única coisa até agora que consegui foi inserir dentro de uma célula a imagem, no entanto se colocar só o pdf->Cell aparece ao lado da caixa multibanco, para aparecer dentro da caixa tenho que colocar a pdf->lin mas neste caso, o logo fica dentro do espaço em branco, mas descem todas as informações do mb (ent., ref e valor)

Estou com um problema do caraças para conseguir isso...

Se conseguir deixo aqui os (promenores) de como fazer isso...

Se souberem apitem.

P.S.: Peço desculpa pela minha ausência, mas deixei de receber mails do prestashop.com e não percebo muito bem porquê...

Link to comment
Share on other sites

Estes últimos detalhes eu não os vi, por isso solicitei a quem tem o módulo instalado e em produção para testá-lo. A referência no email, eu consegui colocar, contudo, testou escorregando no momento de trazer o número da factura para o cálculo. Consegui com o ID do carrinho de compras. Mas por algum motivo o número da factura não está passando ao email. No resto, funciona. Assim que resolver posto o módulo com todas as modificações.

Estes problemas no pdf, poderiam responder lá no meu blog, ao criador da modificação, no post do Multibanco.

Link to comment
Share on other sites

Ok

Vou fazer isso mesmo, o meu problema está no posicionamento da imagem do multibanco no pdf, se houver mais que 1 produto a caixa vai para baixo mas o logo não.

Quanto aos e-mails é estranho, tentei colocar e consegui, mas agora não envia email do multibanco, apenas o order-conf o multibanco não vai, só foi o primeiro...

Bem, vamos ver, talvez a tua solução seja melhor que a minha!

Obrigado pelo teu esforço

Link to comment
Share on other sites

Olá,

Desculpa, só vi agora. O que fiz até agora foi mesmo testar com as variaveis do modulo:

Ent,: {ent_id}
Ref.: {subent_id}
Valor: {total_paid}

Do lado esquerdo, acrescentei a imagem do multibanco. Inicialmente tentei com sub_ent_id, mas não retornaram valores no e-mail, só mesmo a entidade e valor é que apareceram, depois tentei o outro subent_id e deixaram de ser enviados os e-mails. Agora tentei voltar a por o original pra ver se funciona de novo, só agora é que vou testar.

Se funcionar, o problema é daí, se não não sei qual será...

Concerteza a tua solução será melhor que a minha e mais fiavel (lol).

Link to comment
Share on other sites

Olá Ehinarr,

Olha deixei dois comments no teu blog, um a pedir ajuda ao rapaz das alterações, outro a dizer-lhe que está resolvido, a resolução está lá no meu comment em: http://ehinarr.wordpress.com/2009/09/16/modulo-multibanco-portugal/#comment-262

Problema de imagem do pdf.php está resolvido: na linha da imagem, onde tem o link para o logo do multibanco basta remover a linha e adicionar:

$pdf->Image('http://www.site.com/linkdaimagem/multibanco.jpg',$pdf->GetX()-65,$pdf->GetY()-17,null,15,JPG);

As variaveis GetX() dão o posicionamento actual da imagem, quando seguido de + ou - e o valor ($pdf->GetX()-65,) remove 65 ao posicionamento X e para o posicionamento Y usa-se a mesma forma GetY()-17 (ou +).

Os valores apresentados acima no meu caso, estão correctos.


Espero que isto ajude... Agora, quer tenha 1 produto na factura ou 20 a imagem aparece sempre dentro da área branca junto com os dados...

Vejam os anexos (antes e depois)

15624_gEnFSmxtRqE3vl8Rza3S_t

15625_4KuHWNzelOckSAnkyL4Y_t

Link to comment
Share on other sites

Já que estamos numa de Multibanco (eu até curtia resolver isto tudo) deixei de receber o mail multibanco.html, já coloquei de novo o original e nada, só recebo o order-conf.html

Sabes qual é o file php que processa os e-mails depois da encomenda? Estou farto de procurar e não vejo :S

Se souberes apita aí!

Link to comment
Share on other sites

OK,

Não consigo apresentar nos emails a referência. Já tentei de tudo, a única coisa que consigo é a entidade com {ent_id}, mas que dá erro se voltarmos a enviar o e-mail awayting payment by multibanco. No primeiro e-mail vai a entidade correcta com esse valor, mas se enviarmos o e-mail de novo já não aparece....

:(

Manhoso....!!!

Link to comment
Share on other sites

Não é que o homem conseguiu? Grande Mozack!
O ficheiro que faz a validação da compra e envia os emails é o /modules/multibanco/validation.php. Estou estudando redesenhar este, na verdade abolí-lo e fazer este processo por dentro da função que executa o pagamento no ficheiro multibanco.php. Vou testar ainda hoje.

Link to comment
Share on other sites

Olá Ehinarr,

Realmente consegui o posicionamento da imagem, consegui a apresentação da entidade, no entanto, não consegui de forma alguma a referência. Obrigado pela resposta, vou ficar a aguardar e por aqui vou tentando também colocar isso no e-mail.

Fiz alterações na forma como aparece o final da order (confimação) com os dados de pagamento. Deixo o pscreen

Obrigado

Mozack

15637_lY9fBS49V3yR6ls8O0D9_t

Link to comment
Share on other sites

OK,

Já consigo que apareça o início da referência (sub_entidade) coloquei no validation.php:

$subent_id = Configuration::get('MULTIBANCO_SUBENT_ID');

$mailVars = array(
   '{ent_id}'             => Configuration::get('MULTIBANCO_ENT_ID'),
   '{sub_ent_id}'         => $subent_id." ".substr($chk_str, 3, 3)." ".substr($chk_str, 6, 1).$chk_digits,
   '{id_order}'           => $cart->id
);



à pouco consegui a referência sem sub-ent (os primeiros 3 digitos) mas era diferente da que aparecia na pagina do final da encomenda payment-return

Link to comment
Share on other sites

Esse é o problema, eu consigo o cálculo, mas fica diferente. Para dar certo, podemos fazer o cállculo novamente no validation.php, usando a sistemática que fiz na função public function hookPaymentReturn($params) no ficheiro multibanco.php, ou levar o resultado ($result), que é a referência interia tal qual aparaece ao finalizar a compra. para o ficheiro validatio.php.

No primeiro, me basta acertar o número da fatura(invoice), que não está regustrando, no segundo, vou tentar via cookie, sei lá se dará certo.

Link to comment
Share on other sites

Eu percebo muito pouco disso, para gerar um trecho de código levo horas a investigar o procedimento, depois é mesmo tentativa/erro.

Pensei, se ao finalizar a compra, na tabela de compras registasse a referência que foi atribuída a essa compra daria para depois extrair o resultado para vários locais ex: ps_orders > nova tabela > ref (não pode exigir inserção por causa das outras formas de pagamento).

Talvez só precisássemos depois de 1 cálculo até...

Não sei se será a melhor forma, mas talvez seja bom assim, desta forma, a referência seria fixa para aquela encomenda e nem daria o problema do segundo envio do e-mail...

Vê essa opção, talvez... Isso já não sei como faço!

Link to comment
Share on other sites

É só se fosse em nova tabela mesmo. Por enquanto, já que tens paciência, invetiga o seguinte: Eu quero registrar na variável GLOBAL $cookie o resultado do cálculo inteiro da referência = $result - dá uma olhada na função public function

hookPaymentReturn($params)

- verá que é a referência completa! Se conseguirmos, o poremos no email e mais onde quisermos. Bom, para gravar na base já dá, mas o cookie ajuda muito.

Link to comment
Share on other sites

No ficheiro multibanco.php, lá pela linha 243 mais ou menos, depois de:

$msg = $a.$b.$c.$d.$e.$f;



Acrescente isso:

setcookie("result",$a.$b.$c.$d.$e, time()+60);




No ficheiro validation.php a varável $mailvars deve ficar assim:

$mailVars = array(
   '{ent_id}'     => Configuration::get('MULTIBANCO_ENT_ID'),
   '{result}'     => $_COOKIE["result"]
);



Por fim, no template do email multibanco.html deve acrescentar {result}, mais ou menos assim:

               Por favor atente que você escolheu pagar por Multibanco.



                  O valor total do pedido é de: {total_paid}


{result}



Para mim, deu uma diferença, veremos o que ocorre aí contigo.

Link to comment
Share on other sites

Eu já entndi onde está o problema. Ocorre que cálculo da referencia e a cosequente geração do cookie com ela, ocorre APÓS a validação (validation.php). Assim é sempre o valor anterior que é pego, ou seja, o da compra anterior.

Quando se clica no botão 'Confirmo minha compra', é lançado o validation.php, que pega o primeiro cookie que tiver, e só depois, aparecem as confirmações e o novo cookie é gerado. Não aparece referencia para ti porque não tens cookie anterior algum.....eu sim, que fiz em local também.

Um jeito simples de ajeitar isso é conseguirmos o número da fatura antes de clicar em 'confirmo pedido', outra é trocar pelo ID do carrinho de compras....

Link to comment
Share on other sites

No momento em que geras a referencia multibanco não dá para criar um cookie com os dados da mesma?

Eu sei como gerar o cookie mas só a partir de dados da base de dados, mas isso também tu deves saber bem melhor do que eu ... aprendi para colocar o email no formulário de contacto e preencher alguns campos da actualização das moradas ;)

Link to comment
Share on other sites

Foi o que foi feito. Um cookie com a referencia inteira. Funciona, mas...a validação antecede ao cálculo e à geração do número da fatura. isto é, o email é enviado antes de qualquer coisa, ao clicar em 'Confirmo pedido'. Estamos tentando contornar este problema.

Link to comment
Share on other sites

É o que eu estou tentando entender. O email é enviado no momento da validação o que ocorre justamente após o clique no botão. Depois que entra o hook payment return, onde está o cálculo. para antecipar, ao menos o cálculo do email, deveríamos capurar o número do invoice (fatura), antes do clique no botão, ou até durante, desde que seja antes do envio do email.. É só o que falta.

Link to comment
Share on other sites

Acho que estou a perceber ;) ...

Já vou percebendo mais um pouco de php, porque eu ando a mudar a minha página dos contactos. Mas ainda estou muito fraco, pois ainda não estou a atinar com os If ElseIf Else...

Sabes de algum bom tutorial em portugues para iniciantes em php?

Eu tenho a sensação que esta linguagem do php tem um pouco de falta de regras rigidas comparando com o Visual Basic onde eu já me mexo muito melhor e noto que lá não existe muita liberdade para erros de sintaxe e está tudo muito mais bem defenido....

exemplo: num if else em php se colocares uma } a mais no fim ele não dá erro na execução, mas no visual basic se não colocas o end if ele nem sequer passa da compilação. Segundo o que li em php não se consegue delemitar o If Else e ele pode confundir-se se dentro de um if se houverem mais elseif com uma sintaxe muito semelhante, por não ter um comando equivalente ao end if, sendo que as {} só servem para formar um bloco de comandos a executar

Resumindo acho uma linguagem um pouco confusa, mas mais dinamica que o Visual Basic, e com falta de regras mais claras e explicitas... se o php algum dia conseguir ter um editor com um debug como o do Visual Basic vai facilitar a vida a muita gente mesmo, sejam já prós ou simples iniciantes ;)

Link to comment
Share on other sites

Eu uso um programa editor php muito simples, o PHP Coder, ele possui debug e avisa sobre todo erro. Mas eu acho que vc se engana. Erros de sintaxe, o PrestaShop não aceita. Qualquer erro, uma vírgula a mais ou a menos e a loja não abre.Ao IF segue-se a instrução em caso verdadadeiro, uma única, mas se for uma sequ~encia de eventos, aí deve-se envolver tudo com {}. Caso o if seja falso, podemos usar o else para acrescentar uma instrução para esse caso nos mesmos moldes. Dê uma olha no PHP Manual na internet.

Link to comment
Share on other sites

Eu estou a utilizar o DEVphp que tem debug mas não consegui ainda perceber como funciona ;)

Os IF já estou mais por dentro... estive a ler na net e já fiz um download de PHP em brasileiro e tenho o do DEVphp em Ingles e agora é só começar a ler ;)

Agora tou numa de PHP ... Já alterei o formulário de contactos com muitos campos adicionais e páginas diferentes e coloquei a enviar cópia do email para o cliente, acabei de o conseguir agora :-) .

Obrigado ;)

Link to comment
Share on other sites

Pensas que sou programador pleno? Eu aprendo observado códigos, principlamente de como o pS é construído. Pode-se fazer muitas coisas com os códigos já prontos e realmente há oisas sensacionais que fizeram. Prefiro antes a usar as classes de PS a usar classes alienígenas.

Link to comment
Share on other sites

Era para ser.
Eu enho duas tabelas, com colunas id_order e id_customer com aluguns dados coincidentes.
Com um JOIN (left, inner, outer) com operador igual (=, LIKE ou IN), me retorna realmente as linhas coincidentes. Contudo se uso !=, not like ou nor in, me retorna todas as linhas, inclusive as não coincidentes.

Link to comment
Share on other sites

Pessoal, desculpem, mas deixei de receber e-mails de novo, não vi sequer as últimas mensagens...

Ainda não consegui por isso a funcionar, mas...

Ehinarr, estive a pensar:

E se colocássemos a função que gera a referência (multibanco.php) no payment execution? já com os cookies definidos aí. É que segundo me parece, os cookies só são activados no retorno, o que lhe dá uma certa margem de erro, daí recebermos o e-mail com a referência gerada anteriormente. E se colocássemos a função na área:

 public function execPayment($cart)



Uma vez que o pagamento é executado aqui e aqui ficariam os cookies também, depois aparece o:

    public function hookPaymentReturn($params)



Que é o retorno dos valores onde o cliente vê na página a referência gerada...

Tem algum erro o meu pensamento?

É que não sou programador, sei pouco...

Obrigado

Link to comment
Share on other sites

Já havia pensado nisso. Se conseguires o número da fatura antes de confirmar o pagamento, ou ao menos, durante...é possível. É que ainda não descobri, pois esse número é gerado após a validação....Agora se trocarmos prlo número do carrinho...pode ser e ainda não precisa mudar nada

Link to comment
Share on other sites

  • 2 weeks later...

Olá Ehinarr...

Estou de volta do multibanco de novo, mas não faço ideia como troco pelo numero do carrinho, ou a forma de colocar isto a funcionar... Estranho!

Tenho duas questões:

1 - Não podemos alterar a posição do envio do e-mail para a parte que retorna? para o order-confirmation.php? Aí, penso que as variaveis do email ficariam disponiveis para enviar os dados (digo eu).

2 - Precisava, de uma forma semelhante que, ao retornar esses dados, o script enviasse as variaveis do multibanco para um site à parte...

Consegues ajudar?

Muito obrigado!

Link to comment
Share on other sites


1 - Não podemos alterar a posição do envio do e-mail para a parte que retorna? para o order-confirmation.php? Aí, penso que as variaveis do email ficariam disponiveis para enviar os dados (digo eu).


Eu penso em desabilitar o envio de email ao validar a compra (através da alteração do status) para enviá-lo independentemente, com a função Mail, ao estilo bloco newsletter e birthday. enso aque assim resolve, nao teste ainda (férias).


2 - Precisava, de uma forma semelhante que, ao retornar esses dados, o script enviasse as variaveis do multibanco para um site à parte...


Bom aí depende de como o site a parte recebe os dados. Se ele "lê" esses dados diretamente na sua loja ou tu os envia. Essa dinãmiva é essencial para traçarmos uma estratégia.

Feliz natal ano próspreo novo! (demorou!)
Link to comment
Share on other sites

×
×
  • Create New...