Ir para o conteúdo

Publicidade

 Estatísticas do Fórum

  • 0 Usuários ativos

    0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

Cursos Online iMasters
Foto:

E-Commerce - Redecard

  • Por favor, faça o login para responder
6 respostas neste tópico

#1 rogernem

rogernem
  • Membros
  • 119 posts

Postado 25 junho 2005 - 10:11

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.red...l/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.

Editado por Mário Monteiro, 03 abril 2010 - 20:21 .
Remover CAIXA ALTA

  • 0

#2 dalessandrobh

dalessandrobh
  • Membros
  • 1 posts

Postado 23 julho 2005 - 17:47

Também estou com este mesmo problema.

Servidor Linux usando PHP + OSCoMMERCE 2.2

Se alguem puder ajudar.

Eduardo.
  • 0

#3 AdrianoPro

AdrianoPro
  • Membros
  • 1 posts

Postado 09 outubro 2006 - 16:59

Estou com problema similar nesta mesma etapa, e o problema é como utilizar componentes, serviços, servlets, etc.
Só que estou desenvolvendo em ASP.
  • 0

#4 nordi

nordi
  • Membros
  • 464 posts

Postado 10 outubro 2006 - 09:23

Roger, entao você tem problemas em suas transações.... e isso, so nao entendi qual e relacao junto a tecnologia java ....


At+ :joia:
  • 0

#5 Carcleo

Carcleo
  • Membros
  • 1.720 posts

Postado 04 abril 2010 - 17:20

Ola pessoal, estou com problemas tambem com a Redecard

nma primeira e4tapa, eu disparo o form para https://ecommerce.re...l/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">&nbsp;</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">&nbsp;</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!
  • 0

#6 Flávio Rodrigues Maciel

Flávio Rodrigues Maciel

    Marketing de Conversão para Ecommerce

  • Membros
  • 51 posts

Postado 19 junho 2010 - 09:33

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!
  • 0

#7 sublyer

sublyer

    Jáder Tavares - Cogitto Agência Digital

  • Membros
  • 1.456 posts

Postado 20 agosto 2010 - 16:00

Qual é a relação com a Plataforma Java?

Att
  • 0




Publicidade

/ins>