Estou tentando configurar meu site para fazer vendas com cartao de credito - REDECARD Komerci
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:
Tranquilo.
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):
Deu para fazer
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:
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.
Quando chega aqui, minha loja envia os dados para a redecard mas nõ volta o codigo de retorno para a urlback. Esse codigo de retorno é exibido com sucesso na propria pagina da redecard e ai o script para.
Veja meu script.
Veja onde estou errando:
<?
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";
."NUMPEDIDO=$NUMPEDIDO&"
."NUMAUTOR=$NUMAUTOR&"
."NUMCV=$NUMCV&"
."NUMSQN=$NUMSQN&"
."ORIGEM_BIN=$ORIGEM_BIN&"
."NUMPRG=$NUMPRG";
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 já FOI ENVIADA A SEGUNDA FASE E AGORA ESTA RECEBENDO O CÓDIGO DE CONFIRMAÇÃO.
else if ( $CODRET >=0 and $CODRET <=49 )
{
?>
<form name="redirectform" id="redirectform" method="get" action="https://ecommerce.redecard.com.br/pos_virtual/cupom.asp" target="_self">
<input type="hidden" name="DATA" value="<?=$_GET["DATA"]?>">
<input type="hidden" name="TRANSACAO" value="201">
<input type="hidden" name="NUMAUTOR" value="<?=$_GET["NUMAUTOR"]?>">
<input type="hidden" name="NUMCV" value="<?=$_GET["NUMCV"]?>">
<input type="hidden" name="LANGUAGE" value="">
</form>
<script type="text/javascript">
function enviaform() {
document.redirectform.submit();
}
try {
enviaform();
} catch(e) {
// Mozzila...
setTimeout('enviaform()', 250);
}
</script>
<? }
?>
Pergunta
Carlos Rocha
Olá.
Estou tentando configurar meu site para fazer vendas com cartao de credito - REDECARD Komerci
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:
Tranquilo.
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):
Deu para fazer
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.
Quando chega aqui, minha loja envia os dados para a redecard mas nõ volta o codigo de retorno para a urlback. Esse codigo de retorno é exibido com sucesso na propria pagina da redecard e ai o script para.
Veja meu script.
Veja onde estou errando:
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.