Login

Seleção do país

Seleçnao do país


Atualizando o status do pedido em minha loja virtual com o Bcash

O Bcash oferece um recurso chamado “Retorno Automático dos Dados” para notificar a loja virtual sobre os status das transações. Essas notificações são enviadas sempre que uma nova transação é criada ou quando há uma alteração de status. Há duas opções para utilizar o Retorno Automático de Dados: “URL de Retorno” e a “URL de Aviso”.

 

Trabalhando com o Retorno Automático de Dados do Bcash pela “URL de Retorno”.

Com essa opção o Bcash enviará todas as informações sobre a transação via POST para a loja virtual sempre que houver uma alteração de status. Também é possível com este recurso configurar um direcionamento do consumidor para uma página de finalização da própria loja virtual após concluir o pagamento no checkout do Bcash.

Para utilizar esse recurso basta informar o parâmetro “url_retorno” no POST do pedido a ser enviado para o Bcash. O parâmetro deverá ser preenchido com uma URL válida e essa URL deverá possuir um serviço responsável para receber os dados da transação enviados pelo Bcash e após o recebimento deverá atualizar a informação no administrativo da loja virtual.

 

Como funciona o “Retorno Automático de Dados” do Bcash pela “url_retorno”.

  1. Loja envia os dados do pedido para o Bcash via POST, informando o parâmetro “url_retorno” com uma URL válida que tem o serviço responsável para receber os dados da transação e atualizar as informações no administrativo da loja virtual.
  2. Ao finalizar a transação, o Bcash envia as informações sobre a transação para a URL informada no parâmetro “url_retorno”.
  3. O serviço da URL informada no POST recebe as informações do Bcash;
  4. A loja envia dados para confirmar a autenticidade.
  5. O Bcash verifica os dados de autenticidade enviados pela loja e estando corretos retorna uma String “VERIFICADO” para a loja virtual.
  6. Loja virtual cria ou atualiza o pedido.

Exemplo do código em PHP para obter os dados de retorno enviado (POST) pelo Bcash

<?
// Variáveis de retorno

// Obtenha seu TOKEN entrando no menu Ferramentas do Bcash
$token = ### Coloque aqui o seu TOKEN ###;

/* Montando as variáveis de retorno */

$id_transacao = $_POST['id_transacao'];
$data_transacao = $_POST['data_transacao'];
$data_credito = $_POST['data_credito'];
$valor_original = $_POST['valor_original'];
$valor_loja = $_POST['valor_loja'];
$valor_total = $_POST['valor_total'];
$desconto = $_POST['desconto'];
$acrescimo = $_POST['acrescimo'];
$tipo_pagamento = $_POST['tipo_pagamento'];
$parcelas = $_POST['parcelas'];
$cliente_nome = $_POST['cliente_nome'];
$cliente_email = $_POST['cliente_email'];
$cliente_rg = $_POST['cliente_rg'];
$cliente_data_emissao_rg = $_POST['cliente_data_emissao_rg'];
$cliente_orgao_emissor_rg = $_POST['cliente_orgao_emissor_rg'];
$cliente_estado_emissor_rg = $_POST['cliente_estado_emissor_rg'];
$cliente_cpf = $_POST['cliente_cpf'];
$cliente_sexo = $_POST['cliente_sexo'];
$cliente_data_nascimento = $_POST['cliente_data_nascimento'];
$cliente_endereco = $_POST['cliente_endereco'];
$cliente_complemento = $_POST['cliente_complemento'];
$status = $_POST['status'];
$cod_status = $_POST['cod_status'];
$cliente_bairro = $_POST['cliente_bairro'];
$cliente_cidade = $_POST['cliente_cidade'];
$cliente_estado = $_POST['cliente_estado'];
$cliente_cep = $_POST['cliente_cep'];
$frete = $_POST['frete'];
$tipo_frete = $_POST['tipo_frete'];
$informacoes_loja = $_POST['informacoes_loja'];
$id_pedido = $_POST['id_pedido'];
$free = $_POST['free'];/* Essa variável indica a quantidade de produtos retornados */
$qtde_produtos = $_POST['qtde_produtos'];

/* Verificando ID da transação */
/* Verificando status da transação */
/* Verificando valor original */
/* Verificando valor da loja */

$post = "transacao=$id_transacao".
"&status=$status".
"&cod_status=$cod_status".
"&valor_original=$valor_original".
"&valor_loja=$valor_loja".
"&token=$token";
$enderecoPost = "https://www.bcash.com.br/checkout/verify/";

ob_start();
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $enderecoPost);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);
curl_exec ($ch);
$resposta = ob_get_contents();
ob_end_clean();

if(trim($resposta)=="VERIFICADO"){

// Loop para retornar dados dos produtos
for ($x=1; $x <= $qtde_produtos; $x++) {

$produto_codigo = $_POST['produto_codigo_'.$x];
$produto_descricao = $_POST['produto_descricao_'.$x];
$produto_qtde = $_POST['produto_qtde_'.$x];
$produto_valor = $_POST['produto_valor_'.$x];
$produto_extra = $_POST['produto_extra_'.$x];

/*
Após obter as variáveis dos produtos, grava no banco de dados.
Se produto já existe, atualiza os dados, senão cria novo pedido.
*/
}
}

?>

Tabela de Parâmetros enviados no “Retorno Automático” utilizando a “url_retorno”.

Parâmetro

Formato

Tamanho

Descrição

id_transacao

Numérico

10

ID da transação que foi gerada no Bcash.

data_transacao

Data

18

Data da transação foi gerada no Bcash. Formato: (dd/mm/aaaa).

data_credito

Data

18

Data que a loja receberá o crédito. Formato: (dd/mm/aaaa).

valor_original

Numérico

11

Valor original da compra.

valor_loja

Numérico

11

Valor que a loja receberá.

valor_total

Numérico

11

Valor total para o cliente, com os juros.

desconto

Numérico

11

Valor total com desconto.

acrescimo

Numérico

11

Valor total com acréscimo.

tipo_pagamento

Alfanumérico

80

Tipo de pagamento que o cliente escolheu:

 

Boleto Bancário.

American Express.

Transferência OnLine Banco do Brasil.

Transferência OnLine Bradesco.

Transferência OnLine Itaú.

Transferência OnLine Banrisul.

Transferência OnLine HSBC.

 

parcelas

Alfanumérico

2

Número de parcelas da compra.

status

Alfanumérico

50

Status da transação:

 

Transação em Andamento = Bcash recebeu a transação, está analisando ou aguardando o pagamento.

 

Transação Concluída = quando a transação já passou por todo o processo e foi finalizada, ou foi confirmado o pagamento.

 

Transação Cancelada = por qualquer motivo a transação foi cancelada, pagamento foi negado, estornado, ocorreu um chargeback.

cod_status

Numérico

2

Código do status da transação:

 

cod_status = 0 – Transação em Andamento.

 

cod_status = 1 – Transação Concluída.

 

cod_status = 2 – Transação Cancelada.

cliente_nome

Alfanumérico

255

Nome do cliente.

cliente_email

Alfanumérico

80

E-mail do cliente.

cliente_rg

Alfanumérico

20

RG do cliente.

cliente_data_emissao_rg

Alfanumérico

10

Data de emissão do Rg do comprador.

cliente_orgao_emissor_rg

Alfanumérico

20

Órgão que emitiu RG do comprador.

cliente_estado_emissor_rg

Alfanumérico

2

Estado onde foi emitido o Rg do comprador.

cliente_cpf

Alfanumérico

17

CPF do cliente.

cliente_sexo

Alfanumérico

20

Sexo do comprador.

cliente_data_nascimento

Alfanumérico

10

Data de nascimento do comprador.

cliente_endereco

Alfanumérico

100

Endereço do cliente.

cliente_complemento

Alfanumérico

80

Complemento do endereço do cliente.

cliente_bairro

Alfanumérico

50

Bairro do cliente.

cliente_cidade

Alfanumérico

50

Cidade do cliente.

cliente_estado

Alfanumérico

2

Estado do cliente.

cliente_cep

Alfanumérico

9

CEP do cliente.

produto_codigo_x

Numérico

50

Código do produto.

produto_descricao_x

Alfanumérico

255

Descrição do produto.

produto_qtde_x

Numérico

11

Quantidade do produto.

produto_valor_x

Numérico

11

Valor unitário do produto.

produto_extra_x

Alfanumérico

255

Informações extras do produto.

frete

Numérico

11

Informa o valor do frete da transação

tipo_frete

Alfanumérico

30

Indica o tipo de frete escolhido: SEDEX, encomenda, etc.

informações_loja

Alfanumérico

3

Informar se o cliente deseja receber informações da loja. Pode ter os valores “Sim” ou “Não”

id_pedido

Alfanumérico

50

Número do pedido

free

Alfanumérico

255

Dados adicionais que foram enviados no POST

email_vendedor

Alfanumérico

255

E-mail do vendedor

status_logistica

Alfanumérico

50

Status da logística

 

Não iniciado

Abortado

Aberto

Aceito

Aceito com atraso

Enviado

Recebido pelo consumidor

Cancelado antes do aceite

Cancelado após aceite

Cancelado após aceite com atraso

Devolvido

cod_status_logistica

Numérico

2

Código do status da logística

 

1 = Não iniciado

2 = Abortado

3 = Aberto

4 = Aceito

5 = Aceito com atraso

6 = Enviado

7 = Recebido pelo consumidor

8 = Cancelado antes do aceite

9 = Cancelado após aceite

10 = Cancelado após aceite com atraso

11 = Devolvido

 

Trabalhando com o Retorno Automático de Dados do Bcash com a “URL de Aviso”.

A “URL de Aviso” é utilizada apenas para receber o status das transações que são enviadas via POST pelo Bcash. Nesse recurso o Bcash retorna apenas três informações: “transacao_id”, “pedido” e “status”.

Para utilizar a “URL de Aviso”, o parâmetro “url_aviso” deverá ser informado no POST do pedido enviado pela loja virtual para o Bcash. A URL informada no parâmetro deverá ser uma URL válida e possuir o serviço para receber os dados da transação enviados pelo Bcash e após o recebimento atualizar a informação no administrativo da loja virtual.

Lembrando que a URL de Aviso retorno apenas três dados: “transacao_id”, “pedido” e “status”. Caso a loja virtual necessite de outras informações sobre a transação, será necessário adicionar outro recurso chamado “Consulta Dados da Transação” que retornará um arquivo no formato XML ou JSON com todos os dados da transação para a loja virtual.

 

Tabela de Parâmetros enviados no “Retorno Automático” utilizando a “url_aviso”.

Parâmetro

Descrição

transacao_id

ID da transação que foi gerada no Bcash

pedido

Número do pedido que foi atribuído pela loja virtual

status

Status retornados:

- Em Andamento;

- Aprovada;

- Concluída;

- Disputa;

- Devolvida;

- Cancelada;

- Chargebcak.

 

Atenção: quando uma “url_retorno” e uma “url_aviso” são informadas em uma mesma transação, cada uma assume funções distintas:

  • “URL de Retorno”: será apenas a página de finalização para onde o comprador será direcionado após finalizar o pagamento.
  • “URL de Aviso”: URL para onde as atualizações dos pedidos serão enviadas.

Diferença entre a URL de Retorno e URL de Aviso:

Característica

URL de Retorno

URL de Aviso

Quantidade de status enviados no retorno

3

7

Status enviados no retorno

- Transação em Andamento

- Transação Concluída

- Transação Cancelada

- Em Andamento

- Aprovada

- Concluída

- Disputa

- Devolvida

- Cancelada

- Chargeback

Redirecionamento após a finalização da transação

Sim

Não

Quantidade de informações enviadas

38

3

Necessário utilizar a ferramenta de “Consulta de Dados da Transação”

Não

Sim

 

Como funciona o recurso para “Consultar os Dados da Transação” no Bcash.

Já com a ferramenta de “Consultar Dados da Transação” é possível consultar o status e todos os dados de uma determinada transação a qualquer momento. Geralmente essa ferramenta é utilizada como complemento da “URL de Aviso”.

Segue abaixo os passos para a consulta de dados:

  1. Loja / Plataforma envia uma requisição via POST para o Bcash informando os dados necessários para a consulta (E-mail da Loja, Token e ID da Transação ou ID do Pedido);
  2. O Bcash recebe a solicitação e efetua a autenticação do usuário baseando-se nas informações enviadas no header da requisição;
  3. Posteriormente o Bcash realiza a consulta pelo “ID” da transação ou do pedido;
  4. Após a consulta, é retornada ao cliente uma mensagem de sucesso ou erro em XML ou JSON;

 

Para mais informações sobre o recurso “Consultar os Dados da Transação” verifique a sessão “Recursos Adicionais > Consultar dados da transação”.