Login

Seleção do país

Seleçnao do país


Consultar os dados da transação

1. Processo

O processo de consulta de transações segue os seguintes passos:

  • Cliente envia POST para o Bcash, com os parâmetros definidos no

    item 3 desta documentação.

  • Bcash recebe a solicitação.

  • Autentica o usuário baseado nas informações enviadas no header da requisição.

  • Realiza a consulta pelo id da transação ou pedido

  • Retorna ao cliente a mensagem de sucesso ou erro, formatadas como XML ou

    JSON, conforme informado no parâmetro “tipo_retorno” e com a codificação

    informada no parâmetro “codificacao”.

2. Autenticação

Serviço disponível em: https://www.bcash.com.br/transacao/consulta.

Para validar o acesso, o cliente deve informar os dados de autenticação no header da

requisição. Os dados que devem ser enviados são:

Nome

Descrição

email

Email da loja cadastrada no Bcash

token

Chave de acesso de autenticação da loja

Para autenticação no serviço é utilizado o modelo de autorização Basic, que funciona da seguinte forma:

  • Concatenar email e token separados pelo caracter “:” (dois pontos).

  • Submeter a string gerada a encriptação base64.

  • Adicionar a string final ao cabeçalho da requisição.

Exemplo:

Authorization: Basic base64_encode(email:token)

3. Parametros de envio

Serviço disponível em: https://www.bcash.com.br/transacao/consulta.

No POST enviado, os seguintes parâmetros deverão ser informados:

Nome Obrigatório Tamanho Tipo Descrição
id_transacao Sim* 10 Integer ID da transação a ser consultada.
id_pedido Sim* 50 String ID do pedido a ser consultado
codificacao Não 1 Integer Codificação de resposta: 1- “UTF-8” (padrão) ou 2 – “ISO–8859–1”
tipo_retorno Não 1 Integer Tipo de Retorno: 1 – “XML” (padrão) ou 2 – “JSON”

* Pelo menos um dos seguintes parâmetros devem ser enviados: id_transacao ou id_pedido

4. Retorno

Este serviço possui dois retornos previstos, um no caso de sucesso e outro no caso de erro.
Ambos respeitando a escolha do tipo do retorno (“XML” ou “JSON”) e a codificação (“UTF- 8” ou “ISO-8859-1”).

4.1. HTTP Code

O Bcash permite que o cliente acompanhe se sua requisição foi recebida com êxito, baseando-se na resposta do protocolo HTTP retornada ao mesmo. Abaixo o mapeamento dos possíveis “HTTP Code” retornados e seu significado.

Código Mensagem
200 Informação processada com sucesso
400 Requisição com parâmetros obrigatórios vazios ou inválidos
401 Falha na autenticação ou sem acesso para usar o serviço
405 Método não permitido, o serviço suporta apenas POST
500 Erro fatal na aplicação, executar a solicitação mais tarde

4.2 Retorno em caso de sucesso

4.2.1 Informações retornadas

As seguintes informações serão retornadas neste caso:

Nome Tamanho Tipo Exemplo Descrição
id_transacao 10 Integer 123456789 ID da transação que foi gerada no Bcash.
data_transacao 50 Date 01/01/2011 Data da transação que foi gerada no Bcash. Formato: (dd/mm/aaaa)
data_credito 1 Date 01/01/2011 Data que a loja receberá o crédito. Formato: (dd/mm/aaaa)
valor_original 15.2 Double 0.00 Valor original da compra.
valor_loja 15.2 Double 0.00 Valor que a loja receberá.
valor_total 15.2 Double 0.00 Valor total para o cliente, com os juros.
desconto 15.2 Double 0.00 Valor total do desconto.
acrescimo 15.2 Double 0.00 Valor total do acréscimo.
cod_meio_pagamento 11 Integer 0.00 1 – Visa

2 – Mastercard

10 – Boleto

37 – American Express

45 – Aura

55 – Diners

56 – Hipercard

58 – Transferência Online Banco do Brasil

59 – Transferência Online Banco Bradesco

60 – Transferência Online Banco Itaú

meio_pagamento 40 String Visa Visa

Mastercard

Boleto

American Express

Aura

Diners

Hipercard

Transferência Online Banco do Brasil

Transferência Online Banco Bradesco

Transferência Online Banco Itaú

parcelas 11 Integer 1 Número de parcelas da compra.

Nome Tamanho Tipo Exemplo Descrição
cod_status 11 Integer 1 1 – Em andamento

3 – Aprovada

4 – Concluída

5 – Disputa

6 – Devolvida

7 – Cancelada

8 – Chargeback

status 20 String Em Andamento Em andamento

Aprovada

Concluída

Disputa

Devolvida

Cancelada

Chargeback

data_alteracao_status Date 01/01/2011 00:00:00 Data e hora da alteração do status atual.

Exemplo: 18/07/2011 12:10:21

cliente_razao_social 255 String Razão social Razão social do comprador
cliente_nome_fantasia 255 String Nome fantasia Nome fantasia do comprador
cliente_nome 80 String Nome Nome do comprador
cliente_email 250 String cliente@email.com E-mail do comprador
cliente_rg 17 String 1234567 Rg do comprador
cliente_data_emissao_rg Date 01/01/2011 Data de emissão do Rg do comprador
cliente_orgao_emissor_rg 15 String SSP Órgão que emitiu Rg do comprador
cliente_estado_emissor_rg 2 String SP Estado onde foi emitido o Rg do comprador
cliente_cnpj 14 String 11111111111111 CNPJ do comprador
cliente_cpf 9 String 1111111111 CPF do comprador
cliente_sexo 1 String M Sexo do comprador
cliente_data_nascimento Date 01/01/2011 Data de Nascimento do comprador
cliente_telefone 15 String 1499999999 Telefone do comprador
cliente_endereco 160 String Endereço Endereço do comprador
cliente_complemento 100 String Complemento Complemento do endereço do comprador

Nome Tamanho Tipo Exemplo Descrição
cliente_bairro 150 String Bairro Bairro do comprador
cliente_cidade 255 String Marília Cidade do comprador
cliente_estado 2 String SP Estado do comprador
cliente_cep 9 String 99999999 CEP do comprador
pedidos Tag para agrupar os pedidos associados a transação
item Item do pedido
codigo_produto 50 String 12355 Quantidade do produto
nome_produto 500 String Produto Nome do produto
qtde 11 Integer 1 Informações extras do produto
valor_total 15.2 Double 50.00 Valor total do pedido
extra 255 String Extra Informações extras do produto
frete 15.2 Double 50.00 Valor do frete da transação
tipo_frete 30 String SEDEX Indica o tipo de frete escolhido: SEDEX, encomenda, etc…
id_pedido 50 String 123456789 Número do pedido da loja
free 255 String Descrição Dados adicionais que foram enviados no POST
email_vendedor 250 String vendedor@emaol.com E-mail do vendedor

 

4.2.2 Exemplos de Retorno

XML

<transacao>
<id_transacao>123456789</id_transacao>
<data_transacao>01/01/2011</data_transacao>
<data_credito>01/01/2011</data_credito>
<valor_original>0.00</valor_original>
<valor_loja>0.00</valor_loja>
<valor_total>0.00</valor_total>
<desconto>0.00</desconto>
<acrescimo>0.00</acrescimo>
<cod_meio_pagamento>1</cod_meio_pagamento>
<meio_pagamento>Visa</meio_pagamento>
<parcelas>1</parcelas>
<cod_status>1</cod_status>
<status>Em andamento</status>
<data_alteracao_status>01/01/2011 00:00:00</data_alteracao_status>
<cliente_razao_social>Razao social</cliente_razao_social>
<cliente_nome_fantasia>Nome fantasia</cliente_nome_fantasia>
<cliente_nome>Nome</cliente_nome>
<cliente_email>pagamento@bcash.com.br</cliente_email>
<cliente_rg>1234567</cliente_rg>
<cliente_data_emissao_rg>01/01/2011</cliente_data_emissao_rg>
<cliente_orgao_emissor_rg>Órgão emissor</cliente_orgao_emissor_rg>
<cliente_estado_emissor_rg>Estado emissor</cliente_estado_emissor_rg>
<cliente_cnpj>11111111111111</cliente_cnpj>
<cliente_cpf>1111111111</cliente_cpf>
<cliente_sexo>M</cliente_sexo>
<cliente_data_nascimento>01/01/2011</cliente_data_nascimento>
<cliente_telefone>1499999999</cliente_telefone>
<cliente_endereco>Endereco</cliente_endereco>
<cliente_complemento>Complemento</cliente_complemento>
<cliente_bairro>Bairro</cliente_bairro>
<cliente_cidade>Marília</cliente_cidade>
<cliente_estado>SP</cliente_estado>
<cliente_cep>99999999</cliente_cep>
<frete>50.00</frete>
<tipo_frete>SEDEX</tipo_frete>
<id_pedido>123456789</id_pedido>
<free>Descriçao</free>
<email_vendedor>pagamento@bcash.com.br</email_vendedor>
<pedidos>
<item>
<codigo_produto>12355</codigo_produto>
<nome_produto>Produto</nome_produto>
<qtde>1</qtde>
<valor_total>50.00</valor_total>
<extra>Extra</extra>
</item>
</pedidos>
</transacao>

JSON

&quot;transacao&quot;:{
&quot;id_transacao&quot;:&quot;123456789&quot;,
&quot;data_transacao&quot;:&quot;01\/01\/2011&quot;,
&quot;data_credito&quot;:&quot;01\/01\/2011&quot;,
&quot;valor_original&quot;:&quot;0.00&quot;,
&quot;valor_loja&quot;:&quot;0.00&quot;,
&quot;valor_total&quot;:&quot;0.00&quot;,
&quot;desconto&quot;:&quot;0.00&quot;,
&quot;acrescimo&quot;:&quot;0.00&quot;,
&quot;cod_meio_pagamento&quot;:&quot;1&quot;,
&quot;meio_pagamento&quot;:&quot;Visa&quot;,
&quot;parcelas&quot;:&quot;1&quot;,
&quot;cod_status&quot;:&quot;1&quot;,
&quot;status&quot;:&quot;Em andamento&quot;,
&quot;data_alteracao_status&quot;:&quot;01\/01\/2011 00:00:00&quot;,
&quot;cliente_razao_social&quot;:&quot;Razao social&quot;,
&quot;cliente_nome_fantasia&quot;:&quot;Nome fantasia&quot;,
&quot;cliente_nome&quot;:&quot;Nome&quot;,
&quot;cliente_email&quot;:&quot;pagamento@bcash.com.br&quot;,
&quot;cliente_rg&quot;:&quot;1234567&quot;,
&quot;cliente_data_emissao_rg&quot;:&quot;01\/01\/2011&quot;,
&quot;cliente_orgao_emissor_rg&quot;:&quot;Órgão emissor&quot;,
&quot;cliente_estado_emissor_rg&quot;:&quot;Estado emissor&quot;,
&quot;cliente_cnpj&quot;:&quot;11111111111111&quot;,
&quot;cliente_cpf&quot;:&quot;1111111111&quot;,
&quot;cliente_sexo&quot;:&quot;M&quot;,
&quot;cliente_data_nascimento&quot;:&quot;01\/01\/2011&quot;,
&quot;cliente_telefone&quot;:&quot;1499999999&quot;,
&quot;cliente_endereco&quot;:&quot;Endereco&quot;,
&quot;cliente_complemento&quot;:&quot;Complemento&quot;,
&quot;cliente_bairro&quot;:&quot;Bairro&quot;,
&quot;cliente_cidade&quot;:&quot;Marília&quot;,
&quot;cliente_estado&quot;:&quot;SP&quot;,
&quot;cliente_cep&quot;:&quot;99999999&quot;,
&quot;frete&quot;:&quot;50.00&quot;,
&quot;tipo_frete&quot;:&quot;SEDEX&quot;,
&quot;id_pedido&quot;:&quot;123456789&quot;,
&quot;free&quot;:&quot;Descrição&quot;,
&quot;email_vendedor&quot;:&quot;pagamento@bcash.com.br&quot;,
&quot;pedidos&quot;:{
&quot;0&quot;:{
&quot;codigo_produto&quot;:&quot;12355&quot;,
&quot;nome_produto&quot;:&quot;Produto&quot;,
&quot;qtde&quot;:&quot;1&quot;,
&quot;valor_total&quot;:&quot;50.00&quot;,
&quot;extra&quot;:&quot;Extra&quot; }
}
}
}

4.3 Retornos em caso de erro

4.3.1 Informações retornadas de erro

As seguintes informações serão retornadas neste caso:

Código Mensagem
codigo Código do erro
descricao Descrição do erro

4.3.2 Mensagens de Erro

Estas respostas serão retornadas em caso de erro no processamento da solicitação do cliente, ou seja, quando o “HTTP Code” retornado for diferente de 200. Elas descrevem o código do erro e sua mensagem informativa e são retornadas no formato e codificação solicitados pelo cliente.

Código Mensagem
1015001 Erro fatal na aplicação, executar a solicitação mais tarde
2015001 HTTP method GET não permitido
2015002 Parâmetro id_transacao ou id_pedido obrigatório
2015003 Pedido não localizado
2015004 Campos obrigatórios não preenchidos: email ou token
2015005 Falha na autenticação
4015001 Falha na validação dos dados

4.3.3 Exemplos de retorno

Abaixo os exemplos de retorno em XML ou JSON no caso de erro:

XML

2015002
Parâmetro id_transacao ou id_pedido obrigatório

JSON

{
&quot;erro&quot;:{
&quot;codigo&quot;:&quot;2015002&quot;,
&quot;descricao&quot;:&quot;Parâmetro id_transacao ou id_pedido obrigatório&quot;
}
}

5. Exemplos de codificação

&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;?
// Email cadastrado no Bcash
$email = &quot;### Coloque aqui o seu EMAIL ###&quot;;
// Obtenha seu TOKEN entrando no menu Ferramentas do Bcash
$token = &quot;### Coloque aqui o seu TOKEN ###&quot;;
$urlPost = &quot;https://www.bcash.com.br/transacao/consulta/&quot;;
$transacaoId = ### Coloque aqui o id da TRANSACAO a ser consultada ###;
$pedidoId = &quot;### Coloque aqui o id do PEDIDO a ser consultado ###&quot;;
$tipoRetorno = ### Coloque aqui o tipo do retorno desejado (1 ou 2) ###;
$codificacao = ### Coloque aqui a codificação desejada (1 ou 2) ###;
ob_start(); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $urlPost);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,array(&quot;id_transacao&quot;=&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;$transacaoId, &quot;id_pedido&quot;=&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;$pedidoId,&quot;tipo_retorno&quot;=&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;$tipoReto rno,&quot;codificacao&quot;=&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;$codificacao));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(&quot;Authorization: Basic &quot;.base64_encode($email. &quot;:&quot;.$token))); curl_exec($ch);
/* XML ou Json de retorno */
$resposta = ob_get_contents(); o
b_end_clean();
/* Capturando o http code para tratamento dos erros na requisição*/
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpCode != &quot;200&quot;){
//Tratamento das mensagens de erro
}
else{
//Tratamento dos dados da transação consultada.
} ?&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;