rogernem 0 Denunciar post Postado Junho 25, 2005 Olá. Estou tentando configurar meu site para fazer vendas com cartao de credito -REDECARD Tem 5 etapas: 1. Loja-virtual -> Redecard A loja virtual deverá enviar os seguintes parâmetros para a Redecard, quando da chamada para a tela de captura do Komerci: CONSIGO FAZER ISSO 2. Redecard -> Loja-virtual 2 Transação Aprovada Se a transação for aprovada e bem sucedida, a Redecard retornará os seguintes parâmetros para a loja-virtual, em método GET, através de sua URLBACK (previamente cadastrada ou fornecida em parâmetro): CONSIGO FAZER ISSO 3. Loja-Virtual -> Redecard Caso a transação tenha sido aprovada pelo emissor, a loja-virtual deverá confirmá-la, retornando os seguintes parâmetros para o endereço: http://ecommerce.redecard.com.br/pos_virtual/confirma.asp: O tráfego destes dados não deverá ocorrer através do browser do usuário ou com sua interferência, ou seja, o webserver da loja-virtual deverá comunicar-se diretamente com o ambiente da Redecard. Pode-se, por exemplo, utilizar componentes, serviços, servlets, etc. Este procedimento garante a segurança do tráfego dos dados entre a Redecard e a sua lojavirtual. AQUI ESTA MEU PROBLEMA Entao, como eu faco isso? Eu programei em php e fiz: meta refresh=0, url=http://ecommerce.redecard.com.br/pos_virtual/confirma.asp?paramentros O problema é que: Eu recebo a confirmacao da REDECARD dizendo: SUA TRANSACAO FOI APROVADA ! MAS ele nao manda devolta para a minha URLBACK que eu cadastrei antes na 1a etapa. Ele so fica naquela url da REDECARD. Talvez porque eu esteja usando o metodo errado: meta refresh O que eu preciso fazer é enviar os valores conforme eles dizem e voltar com a mensagem de confirmacao na minha urlback Vejam a foto anexa de como fica: http://www.recoloca.com.br/komerci.gif O CARTAO TAMBEM FORNECEU ESSE SEGUINTE CODIGO (ObjetoXML): ===================================== Set obj = Server.CreateObject("Msxml2.ServerXMLHTTP") obj.open "GET", "http://" & varServerName & "/pos_virtual/confirma.asp?DATA=" & varData & "&NUMSQN=" &varNumSqn & "&NUMCV=" & varNumCV & "&NUMAUTOR=" & varNumAutor & "&PARCELAS=" & varParcelas & "&TRANSORIG=" & varTransOrig & "&TOTAL=" & varTotal & "&FILIACAO=" & varFiliacao & "&DISTRIBUIDOR=" & varDistribuidor & "&NUMPEDIDO=" & varNumPedido & varDadosAdicionaisIATA, False obj.send ret = obj.responseText Set obj = Nothing Talvez isso ajude a fazer o que quero. COmo posso usar isso? Alguma ideia? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
dalessandrobh 0 Denunciar post Postado Julho 23, 2005 Também estou com este mesmo problema.Servidor Linux usando PHP + OSCoMMERCE 2.2Se alguem puder ajudar.Eduardo. Compartilhar este post Link para o post Compartilhar em outros sites
AdrianoPro 0 Denunciar post Postado Outubro 9, 2006 Estou com problema similar nesta mesma etapa, e o problema é como utilizar componentes, serviços, servlets, etc.Só que estou desenvolvendo em ASP. Compartilhar este post Link para o post Compartilhar em outros sites
nordi 1 Denunciar post Postado Outubro 10, 2006 Roger, entao você tem problemas em suas transações.... e isso, so nao entendi qual e relacao junto a tecnologia java .... At+ http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Abril 4, 2010 Ola pessoal, estou com problemas tambem com a Redecard nma primeira e4tapa, eu disparo o form para https://ecommerce.redecard.com.br/pos_virtual/form_card.asp, conforme manual, enviando o form via post e target = self para manter na mesma pagina. Dai abre a pagina da Redecard (Mastcard ou visa). Aqui começam, os meus problemas: De inicio, a figura de topo que envio no form com o parametro urlcima, quando o catão é Diners, mostra a figura no topo, quando é masterard não mostra. Segundo problema: Após o usuario validar os dados do cartão, a redecard envia os dados para a urlback enviada na primeira etapa mas envia com, target =blank. Ou seja, fica uma pagina toda branca e a nova pagina aberta (com o retorno dos dados urlback).; Bom, recebido os dados da segunda etapa (com, sucesso pois vem todos os dados enão vem o parametro de erro na url), a loja virtual dispara a terceira etapa mas quando isso acotece, a Redercart recebe os dados correto e envbia erro(76) de volta. Pesso a quem puder me ajudar. O código quie uso é php mas o post é o melhor que eu encointrei sobre o assunto: Segue os códigos: form da primeira etapa com a escolha da bandeira (obs.:) minha loja só faz vendas a vista (opção do meu cliente) ... <? ///FINALIZAÇÃO if ($TPGTO=="MASTERCARD" or $TPGTO=="DINERS") { ?> <form name="form_card" method="POST" target="_self" action="https://ecommerce.redecard.com.br/pos_virtual/form_card.asp"> <? $FILIACAO= 30355141; $DISTRIBUIDOR= ""; $ip = getenv("REMOTE_ADDR"); ?> <input type="hidden" name="TOTAL" value="<?=number_format($valor_final, 2, '.', '.');?>" /> <input type="hidden" name="FILIACAO" value="<?=$FILIACAO;?>"> <input type="hidden" name="DISTRIBUIDOR" value="<?=$DISTRIBUIDOR;?>"> <input type="hidden" name="TRANSACAO" value="04"> <input type="hidden" name="PARCELAS" value="00"> <input type="hidden" name="NUMPEDIDO" value="<?=$ID_DO_PEDIDO;?>" /> <input type="hidden" name="PAX1" value=""> <?php include('vendas/classe_redcard.php');?> <!-- <input type="hidden" name="CODVER" value="XXXXXXXXXXXXXXXX-XXX"> --> <input type="hidden" name="CODVER" value="<?=_RedeCard_CodVer($FILIACAO,$valor_final,$ip);?>"> <input type="hidden" name="URLBACK" value="http://www.naturelavie.com.br/novo/retorno_cartao.php"> <input type="hidden" name="URLCIMA" value=" http://www.naturelavie.com.br/img/topo.jpg"> <input type="hidden" name="TARGET" value="_SELF"> <table align="center" width="780" border="1"> <tr bgcolor="#666666"> <td colspan="5" align="left"><font color="#FFFFFF">Forma de Pagamento</font></td> </tr> <tr> <td width="176"><img src="img/Mastercard.jpg" width="150" height="104" /></td> <td width="203"><input type="radio" name="BANDEIRA" value="MASTERCARD" checked>MASTERCARD (À VISTA)</td> <td width="103">TOTAL:</td> <td width="169">R$ <?=number_format($valor_final, 2, ',', '.');?></td> <td align="center"><input type="button" name = "enviar" value = "Pagar" onclick="CriticaFormulario_Cartao(); " /></td> </tr> <tr bgcolor="#666666"> <td colspan="5"> </td> </tr> <tr> <td><img src="img/Diners.jpg" width="124" height="95" /></td> <td><input type="radio" name="BANDEIRA" value="DINERS">DINERS (À VISTA)</td> <td>PEDIDO:</td> <td><?=$ID_DO_PEDIDO;?></td> <td align="center"><input type="button" name = "enviar" value = "Pagar" onclick="CriticaFormulario_Cartao(); " /></td> </tr> <tr bgcolor="#666666"> <td colspan="5"> </td> </tr> </table> </form> <center> <? print "Enddereço IP do computador que você esta usando: "; print $ip; ?>.</center> <!-- NOME TAMANHO DESCRIÇÃO TOTAL 15 Valor total da compra TRANSACAO 2 Código do tipo de transação PARCELAS 2 Número de parcelas FILIACAO 9 Número de filiação do estabelecimento (fornecedor) DISTRIBUIDOR 9 Número de filiação do estabelecimento (distribuidor) BANDEIRA 10 Bandeira do cartão NUMPEDIDO 16 Número do pedido PAX1 26 Texto livre para digitação CODVER 25 Código de Verificação URLBACK 250 Endereço para retorno dos dados da transação URLCIMA 250 Endereço de URL da página ou imagem superior TARGET 40 Nome do frame para onde será retornado a URLBACK --> <? } ... urlback = retorno_cartao.php <? header('Content-Type: text/html; charset=utf-8'); include ("TMySQL.php"); //Abrindo conexao com o banco de dados $MySQL = new TMySQL(); $MySQL->connect($host, $db, $user, $pass); $DATA = $_GET['DATA'];//8 Data da transação $NUMPEDIDO = $_GET['NUMPEDIDO']; //16 Número do Pedido $NR_CARTAO = $_GET['NR_CARTAO']; //16 Número do Cartão mascarado $ORIGEM_BIN = $_GET['ORIGEM_BIN']; //3 Código de Nacionalidade do Emissor $NUMAUTOR = $_GET['NUMAUTOR']; //6 Número de Autorização $NUMCV = $_GET['NUMCV']; //9 Número do Comprovante de Venda (NSU) $NUMAUTENT = $_GET['NUMAUTENT']; //27 Número de Autenticação $NUMSQN = $_GET['NUMSQN']; //12 Número seqüencial único ///CASO DE ERROS $CODRET = $_GET['CODRET']; //2 Código de erro $MSGRET = $_GET['MSGRET']; //200 Mensagem de erro if ( !isset($CODRET) ) { $consulta=$MySQL->query("select PRECO_TOTAL from pedidos_cliente where ID_PEDIDO_CLIENTE=$NUMPEDIDO"); list($PRECO_TOTAL) = mysql_fetch_array($consulta); $url= "http://ecommerce.redecard.com.br/pos_virtual/confirma.asp?" ."DATA=$DATA&" ."NUMPEDIDO=$NUMPEDIDO&" ."NUMAUTOR=$NUMAUTOR&" ."NUMCV=$NUMCV&" ."NUMSQN=$NUMSQN&" ."TRANSACAO=203&" ."TRANSORIG=$04&" ."PARCELAS=00&" ."FILIACAO=30355141;" ."DISTRIBUIDOR=&" ."TOTAL=$PRECO_TOTAL"; print "<script>document.location='$url'</script>"; } else if ( $CODRET==50 or $CODRET==52 or $CODRET==54 or $CODRET==55 or $CODRET==57 or $CODRET==59 or $CODRET==61 or $CODRET==62 or $CODRET==64 or $CODRET==66 or $CODRET==67 or $CODRET==68 or $CODRET==70 or $CODRET==71 or $CODRET==73 or $CODRET==75 or $CODRET==78 or $CODRET==79 or $CODRET==80 or $CODRET==82 or $CODRET==83 or $CODRET==84 or $CODRET==85 or $CODRET==87 or $CODRET==89 or $CODRET==90 or $CODRET==91 or $CODRET==93 or $CODRET==94 or $CODRET==95 or $CODRET==97 or $CODRET==99 ) { print $MSGRET; exit; } else if ( $CODRET==51 or $CODRET==92 or $CODRET==98 ) { print $MSGRET; exit; } else if ( $CODRET==53 ) { print $MSGRET; exit; } else if ( $CODRET==76 or $CODRET==86 ) { print $MSGRET; exit; } else if ( $CODRET==58 or $CODRET==63 or $CODRET==65 or $CODRET==69 or $CODRET==72 or $CODRET==77 or $CODRET==96 ) { print $MSGRET; exit; } else if ( $CODRET==56 or $CODRET==60 ) { print $MSGRET; exit; } else if ( $CODRET==74 ) { print $MSGRET; exit; } else if ( $CODRET==81 ) { print $MSGRET; exit; } //AQUI JA FOI ENVIADA A SEGUNDA FASE E AGORA ESTA RECEBENDO O CÓDIGO DE CONFIRMAÇÃO. else if ( $CODRET >=0 and $CODRET <=49 ) { $url= "https://ecommerce.redecard.com.br/pos_virtual/cupom.asp?" ."DATA=$DATA&" ."TRANSACAO=$_GET['NUMSQN']&" ."NUMPEDIDO=$NUMPEDIDO&" ."NUMAUTOR=$_GET['NUMAUTOR']&" ."NUMCV=$_GET["NUMCV"]&" ."LANGUAGE='S'"; print "<script>document.location='$url'</script>"; } ?> Ola, agora a historia mudou. Agora, quando chego na quarta etapa etapa, quando chega no site da Redecard, é exibido a mesnagem: CODRET=0&MSGRET=CONFIRMACAO COM SUCESSO e ai o script para. O script não retorna novamente para a urlback para eu enviar mais dados para emissão do cupon. Onde será que esta o erro? Good, Nobody, I get this: <? header('Content-Type: text/html; charset=utf-8'); include ("TMySQL.php"); //Abrindo conexao com o banco de dados $MySQL = new TMySQL(); $MySQL->connect($host, $db, $user, $pass); $DATA = $_GET['DATA'];//8 Data da transação $NUMPEDIDO = $_GET['NUMPEDIDO']; //16 Número do Pedido $NR_CARTAO = $_GET['NR_CARTAO']; //16 Número do Cartão mascarado $ORIGEM_BIN = $_GET['ORIGEM_BIN']; //3 Código de Nacionalidade do Emissor $NUMAUTOR = $_GET['NUMAUTOR']; //6 Número de Autorização $NUMCV = $_GET['NUMCV']; //9 Número do Comprovante de Venda (NSU) $NUMAUTENT = $_GET['NUMAUTENT']; //27 Número de Autenticação $NUMSQN = $_GET['NUMSQN']; //12 Número seqüencial único $NUMPRG = $_GET['NUMPRG']; //1 Número correspondente ao programa de captura utilizado ///CASO DE ERROS $CODRET = $_GET['CODRET']; //2 Código de erro $MSGRET = $_GET['MSGRET']; //200 Mensagem de erro if ( !isset($CODRET) ) { $consulta=$MySQL->query("select PRECO_TOTAL from pedidos_cliente where ID_PEDIDO_CLIENTE=$NUMPEDIDO"); list($PRECO_TOTAL) = mysql_fetch_array($consulta); $url= "http://ecommerce.redecard.com.br/pos_virtual/confirma.asp?" ."DATA=$DATA&" ."TRANSACAO=203&" ."TRANSORIG=04&" ."PARCELAS=00&" ."FILIACAO=30355141&" ."DISTRIBUIDOR=&" // ."TOTAL=$PRECO_TOTAL"; ."TOTAL=0.01&" ."NUMPEDIDO=$NUMPEDIDO&" ."NUMAUTOR=$NUMAUTOR&" ."NUMCV=$NUMCV&" ."NUMSQN=$NUMSQN&" ."ORIGEM_BIN=$ORIGEM_BIN&" ."NUMPRG=$NUMPRG"; //AQUI JA FOI ENVIADA A SEGUNDA FASE3 E AGORA ESTA RECEBENDO O CÓDIGO DE CONFIRMAÇÃO. //A função file irá enviar a url para a Redecard sem redirecionar(sair da NatureLavie) e, ao mesdo tempo, receber o rerorno da Redecdard $file = file($url); $retorna = $file[0]; $arrLinhas = explode("&", $retorna); $i = 0; foreach ($arrLinhas AS $line) { list($variavel, $valor) = explode('=', ($line)); $variavel = trim($variavel); $$variavel = $valor ; $i ++; print $variavel; print "<br>"; print $valor; } $status = $_REQUEST['CODRET']; if ($status > 1) { $autent = $_REQUEST['MSGRET']; } else { $URLCupom = "https://ecommerce.redecard.com.br/pos_virtual/cupom.asp?DATA=" . $data . "&TRANSACAO=201&NUMAUTOR=" . $arp . "&NUMCV=" . $cv; ?> <script LANGUAGE=javascript> <!-- vpos=window.open('<? echo $URLCupom; ?>','vpos','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no,copyhistory=no,width=280,height=440'); //--> </SCRIPT> <? } } else if ( $CODRET==50 or $CODRET==52 or $CODRET==54 or $CODRET==55 or $CODRET==57 or $CODRET==59 or $CODRET==61 or $CODRET==62 or $CODRET==64 or $CODRET==66 or $CODRET==67 or $CODRET==68 or $CODRET==70 or $CODRET==71 or $CODRET==73 or $CODRET==75 or $CODRET==78 or $CODRET==79 or $CODRET==80 or $CODRET==82 or $CODRET==83 or $CODRET==84 or $CODRET==85 or $CODRET==87 or $CODRET==89 or $CODRET==90 or $CODRET==91 or $CODRET==93 or $CODRET==94 or $CODRET==95 or $CODRET==97 or $CODRET==99 ) { print $MSGRET; exit; } else if ( $CODRET==51 or $CODRET==92 or $CODRET==98 ) { print $MSGRET; exit; } else if ( $CODRET==53 ) { print $MSGRET; exit; } else if ( $CODRET==76 or $CODRET==86 ) { print $MSGRET; exit; } else if ( $CODRET==58 or $CODRET==63 or $CODRET==65 or $CODRET==69 or $CODRET==72 or $CODRET==77 or $CODRET==96 ) { print $MSGRET; exit; } else if ( $CODRET==56 or $CODRET==60 ) { print $MSGRET; exit; } else if ( $CODRET==74 ) { print $MSGRET; exit; } else if ( $CODRET==81 ) { print $MSGRET; exit; } ?> DONE.. THANKS RSRSRS AGORA É PARTIR PARA AS FORMATAÇÕE DOS TEXTOS. UFAAAAAAA VALEU A TODOS! Compartilhar este post Link para o post Compartilhar em outros sites
Flávio Rodrigues Maciel 1 Denunciar post Postado Junho 19, 2010 Para evitar esse tipo de dificuldade comum para quem tenta fazer as integrações direto com as operadoras, recomendo conhecerem o gateway de pagamentos iPAGARE. O iPAGARE possui uma versão 100% gratuita chamada iPAGARE Grátis. Grátis de verdade, por tempo indeterminado. A integração do iPAGARE é mais simples do que integrar direto com a Redecard e ainda traz os demais meios de pagamento existentes no mercado. Experimentem criando uma conta grátis através do endereço www.ipagare.com.br. Fica a dica. Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Agosto 20, 2010 Qual é a relação com a Plataforma Java? Att Compartilhar este post Link para o post Compartilhar em outros sites