NAV Navbar
Logo
shell php

Introdução

API URL

https://api.redecoin.com/v1/
https://api.redecoin.com/v1/

Redecoin fornece API REST simples e completa para intregração com seu e-commerce.

Todos a comunicação acontece com documentos json.

Realize seu cadastro em www.redecoin.com, cadastre sua empresa e use o token de integração fornecido para o serviço de transação.

Transação

Criar transação

Para realizar uma transação use: transacao/criar

curl http://api.redecoin.com/v1/transacao/criar \
    -X GET \ 
    -d '{
        "token": "9979b355-67b4-4a5f-8367-4ced0f94b93e",
        "amount": 100.00,
        "iso4217": "BRL",
        "email_client": "[email protected]",
        "refer_id": "15238"
    }'
$params = array();
$params["token"] = "9979b355-67b4-4a5f-8367-4ced0f94b93e";
$params["amount"] = 100.00;
$params["iso4217"] = "BRL";
$params["email_client"] = "[email protected]";
$params["refer_id"] = "ID de referência";

$order_redecoin = file_get_contents("https://api.redecoin.com/v1/transacao/criar/?" . implode('&', 
    array_map(
        function ($v, $k) { return sprintf("%s=%s", $k, urlencode($v)); },
          $params,
          array_keys($params)
      )
    )
  );

if ($order_redecoin = json_decode($order_redecoin, true)) {
  $order_redecoin["resp"]["valBtc"] = number_format($order_redecoin["resp"]["valBtc"], 8);

  var_export($order_redecoin);
  // return $order_redecoin  
  /*
  array (
    'status' => 100,
    'resp' => 
    array (
      'valBtc' => '0.00741401',
      'address' => '1B7LjPva2Vr3fvYx5at3fkUdGz74ZWuwZy',
      'token' => '1f7f24be-431b-4db1-9615-27d447b573c0',
      'qrcode' => 'https://s3-sa-east-1.amazonaws.com/redecoin/address/1B7LjPva2Vr3fvYx5at3fkUdGz74ZWuwZy.png',
    ),
  )
  */
}

Response


'{
  "status":"1","resp":
    {
      "valBtc":0.0077226,
      "address":"1EU2BftanrNhvoRuQv8LkUp2j9o7caJm1q",
      "token":"eb15921f-450d-4eb5-916d-1e01c0b17388",
      "qrcode":"http://api.redecoin.com/address/1EU2BftanrNhvoRuQv8LkUp2j9o7caJm1q.png"
    }
  }'

Use o endpoint abaixo para uma nova transação: transacao/criar

Paramêtros necessários para construir a transação.

Campo Tipo Descrição
token String Token da empresa gerado no cadastro.
amount Number Valor da transação em moeda fiat.
iso4217 String Sigla padrão da moeda fiat aplicada na transação. Disponível apenas BRL.
email_client String E-mail do cliente que está realizando a compra.
refer_id String Identificador do pedido que será enviado no momento do postback (opcional), ver mais.
token_amount String (opcional) Token utilizado para garantir o valor consultado anteriormente no serviço de Valor antecipado da transação.

Parâmetros recebidos da resposta da transação

Campo Tipo Descrição
status Number Status da contrução da transação. detalhes.
valBtc Number Valor da transação em bitcoin.
address String Address de pagamento.
token String Token identificador da transação.
qrcode String Link da imagem com o QR code contendo o address de pagamento e valor a ser pago em bitcoin.

Status da construção da transação

Valor Descrição
100 Sucesso.
110 Sucesso, token de valor antecipado expirado valor reajustado.
120 Sucesso, token de valor antecipado inválido.
310 Token não informado.
320 Token de empresa inválido.
410 E-mail de cliente não informado.
510 Venda temporariamente desabilitada.
600 Erro ao criar transação.

Valor antecipado da transação

Para consultar o valor antecipado da transação use: amount

curl http://api.redecoin.com/v1/amount \
    -X GET \ 
    -d '{
        "token": "9979b355-67b4-4a5f-8367-4ced0f94b93e",
        "val_brl": 100.00
    }'
$params = array();
$params["token"] = "9979b355-67b4-4a5f-8367-4ced0f94b93e";
$params["val_brl"] = 100.00;

$amount = file_get_contents("https://api.redecoin.com/v1/amount/?" . implode('&', 
    array_map(
        function ($v, $k) { return sprintf("%s=%s", $k, urlencode($v)); },
          $params,
          array_keys($params)
      )
    )
  );

if ($amount = json_decode($amount, true)) {
  $amount["resp"]["val_btc"] = number_format($amount["resp"]["val_btc"], 8);

  var_export($amount);

}

Response


'{
  "status":"1","resp":
    {
      "cotacao":16110.12,
      "val_btc":0.00623831,
      "token":"8bf3148c-cc98-42c0-97eb-71e6ee6b245e"
    }
  }'

Use o endpoint abaixo: amount

Fornece uma maneira para informar o valor do pedido em andamento no seu e-commerce em bitcoin de forma antecipada, antes de finalizar o pedido e criar uma transação.

Campo Tipo Descrição
token string Token da empresa.
val_brl float Valor em Reais do qual será retornado o valor equivalente em bitcoin.

Parâmetros recebidos da resposta da transação

Campo Tipo Descrição
status Number Status da requisição. (1: Sucesso - 101: Token da empresa inválido - 2 Erro ao consultar valor em bitcoin )
val_btc Number Valor em bitcoin equivalente ao val_brl enviado na requisição.
token String Token identificador dessa consulta. Envie esse token no momento de criar a transação para garantir que o valor informado nessa consulta seja mantido.

Consultar transações

Para consultar as transações de uma determinada empresa use: transacao/listar

curl http://api.redecoin.com/v1/transacao/listar \
    -X GET \ 
    -d '{
        "secret_key": "ba5ff3394df7742b2b9r62d5a2f52C95d349ab3cd3293e8a88fdc159f7a5764c",
        "pagina": 1,
        "limite": 50,
        "token": "e8c56f43-9824-423a-98df-435c662bac55"
    }'
$params = array();
$params["secret_key"] = "ba5ff3394df7742b2b9r62d5a2f52C95d349ab3cd3293e8a88fdc159f7a5764c";
$params["pagina"] = 1;
$params["limite"] = 50;
$params["token"] = "9979b355-67b4-4a5f-8367-4ced0f94b93e";

$amount = file_get_contents("https://api.redecoin.com/v1/transacao/listar/?" . implode('&', 
    array_map(
        function ($v, $k) { return sprintf("%s=%s", $k, urlencode($v)); },
          $params,
          array_keys($params)
      )
    )
  );

if ($amount = json_decode($amount, true)) {

  var_export($amount);

}

Response


'{
  "status":"1","resp":
      [
        {
          "empresa_id":11,
          "empresa_nome":"Empresa teste", 
          "val_cotacao_ft":16.500,
          "val_ft":8.85,
          "val_cc":0.00110051,
          "val_liquido_ft":8.66,
          "val_liquido_cc":0.0010763,
          "converter_cc_auto":"s",
          "postback":"http://sitedaempresa.com.br?orderId=100000001",
          "refer_id":"15238",
          "moeda_ft":"brl",
          "moeda_cc":"BTC",
          "status_transacao":"cancelado",
          "data_pgto":"2017-08-21T21:33:36.000Z",
          "tx_in":2.00510001,
          "token":"39528f85-c40b-4cbd-8057-e6151996b88d",
          "public_key":"1KTewWCQ5FKT3Y4ooryvzY9b2e4pzq6483",
          "data_cadastro":"2017-07-26T18:55:04.000Z"
        }
      ]
  }'

Para consultar uma transação use o endpoint transacao/listar.

Paramêtros para listar a transação:

Campo Tipo Descrição
*secret_key string Chave secreta de segurança da empresa.
token string (opcional) Token da transação. Consulte uma transação específica informando o token da mesma, caso contrário, lista todos as transações dessa empresa.
pagina integer Página que será listada.
limite integer Limite de registros por página.

Caso não seja informado pagina e limite será retornado a primeira página contendo os 30 primeiros registros.

Campo Tipo Descrição
empresa_id integer Código de identificação da empresa
empresa_nome string Nome da empresa
val_cotacao_ft float Valor da cotação usado no momento da venda
val_ft float Valor bruto da transação em moeda corrente
val_cc float Valor bruto da transação em criptomoeda
val_liquido_ft float Valor liquido da transação em moeda corrente
val_liquido_cc float Valor liquido da transação em criptomoeda
converter_cc_auto string Transação marcada para ser convertida (s: sim
postback string URL para receber a notificação
refer_id string Valor enviado na criação transação.
moeda_ft string Moeda fiat da transação (Padrão BRL)
moeda_cc string Criptomoeda da transação (Padrão BTC)
status_transacao string Status da transação, detalhes
data_pgto string Data do pagamento, formato datetime
tx_in float Valor enviado pelo cliente
token string Token da transação
data_cadastro Data do cadastro, formato datetime

Notificação

Quando uma transação tiver seu status alterado uma notificação será feita para a url informada pelo cliente.

A notificação será via POST com os seguintes dados:

Campo Tipo Descrição
secret_key String Chave secreta de segurança da empresa.
refer_id String Valor enviado na criação transação.
token String Token único que identifica o pedido na Redecoin.
val_btc String Valor da transação em bitcoin.
val_brl String Valor da transação em reais.
status_transacao String Status do pedido.

Dica importante: Sempre teste se a secret_key recebida é a gerada para sua empresa, isso garante que quem está enviando o POST é a Redecoin.

status da transação

O status_transacao do pedido pode ser:

Valor Descrição
“registrado” Pedido registrado e aguardando pagamento, status inicial.
“recebendo_pagamento” Pagamento enviado, mas aguardando as confirmações da rede.
“aprovado” Pagamento recebido.
“negado” Pagamento recebido, mas fora do tempo permitido. O Cliente automaticamente receberá e-mail com instruções para recuperar o valor.
“pago_abaixo” Pagamento em espera, o pagamento que foi realizado é abaixo do valor esperado.
“cancelado” Pagamento recebido, mas cancelado pelo pelo operador.

Quando o pedido é pago acima do valor estipulado, o cliente irá automaticamente receber e-mail com instruções para recuperar o excedente. Neste caso o status da transação será aprovado.

Errors

The Kittn API uses the following error codes:

Error Code Meaning
400 Bad Request – Your request sucks
401 Unauthorized – Your API key is wrong
403 Forbidden – The kitten requested is hidden for administrators only
404 Not Found – The specified kitten could not be found
405 Method Not Allowed – You tried to access a kitten with an invalid method
406 Not Acceptable – You requested a format that isn’t json
410 Gone – The kitten requested has been removed from our servers
418 I’m a teapot
429 Too Many Requests – You’re requesting too many kittens! Slow down!
500 Internal Server Error – We had a problem with our server. Try again later.
503 Service Unavailable – We’re temporarily offline for maintenance. Please try again later.