Introdução
Redecoin fornece uma API simples, eficiente e segura para integração do seu e-commerce/sistema com o gateway de pagamentos para bitcoin/criptomoedas da Redecoin.
Especificações:
URL: https://api.redecoin.com/v2/
Tipo: API RESTful
Versão: 2.0
Protocolo de comunicação: HTTPS
Método para requisições: GET
Formato das respostas: JSON
Dúvidas?
Entre em contato com o suporte técnico.
E-mail/skype: [email protected]
Criptomoedas
Exemplo de requisição:
curl -X GET -G \
"https://api.redecoin.com/v2/company/cryptocurrency" \
-d "token_company=9979b355-67b4-4a5f-8367-4ced0f94b93e"
Exemplo de resposta da API:
{
"status": 100,"resp":
[
{
"code": "BTC",
"name": "Bitcoin",
"images": [
"https://api.redecoin.com/coins/default/BTC200x200.png",
"https://api.redecoin.com/coins/default/BTC200x200.bmp"
]
}
]
}
Para listar as criptomoedas escolhidas no cadastro da empresa para aceitar no seu e-commerce/sistema, utilize o endpoint: company/cryptocurrency
Forneça via método GET
as informações abaixo:
Campo | Tipo | Descrição |
---|---|---|
token_company |
string |
Token da empresa gerado no cadastro. |
Resposta da API:
Campo | Tipo | Descrição |
---|---|---|
code |
string |
Código da criptomoeda. |
name |
string |
Nome da criptomoeda. |
images |
array |
Lista de logotipos disponíveis referente a criptomoeda. |
Transação
Criar transação
Exemplo de requisição
curl -X GET -G \
"https://api.redecoin.com/v2/transaction/create" \
-d "token_company=9979b355-67b4-4a5f-8367-4ced0f94b93e" \
-d "base_currency=BRL" \
-d "val_base=100.00" \
-d "cryptocurrency=BTC" \
-d "[email protected]" \
-d "refer_id=1928377"
$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',
),
)
*/
}
Exemplo de resposta
{
"status": 100,"resp":
{
"cryptocurrency": "BTC",
"val_crypto":0.0077226,
"address":"1EU2BftanrNhvoRuQv8LkUp2j9o7caJm1q",
"token_transaction":"eb15921f-450d-4eb5-916d-1e01c0b17388",
"qrcode":"https://api.redecoin.com/address/1EU2BftanrNhvoRuQv8LkUp2j9o7caJm1q.png"
}
}
Para criar uma transação com bitcoin/criptomoeda envie uma requisição para o endpoint: transaction/create
Forneça via método GET
os parâmetros abaixo:
Campo | Tipo | Descrição |
---|---|---|
token_company |
string |
Token da empresa gerado no cadastro. |
base_currency |
string |
Moeda usada como base para gerar a transação. Disponível apenas BRL . |
val_base |
float |
Valor em Reais usado como base para gerar a transação. |
cryptocurrency |
string |
Criptomoeda em que a transação será gerada. Exemplo: BTC. ☍ lista de criptomoedas disponíveis |
email_client |
string |
E-mail do cliente que está realizando a compra. |
refer_id |
string |
Opcional - Identificador do pedido que será enviado junto com a notificação quando a transação alterar de status. |
token_value |
string |
Opcional - Token utilizado para garantir o valor consultado anteriormente no serviço de ☍ Valor antecipado da transação |
Resposta da API:
Efetuada a requisição, a transação terá sido criada e a API responderá com as informações abaixo em formato JSON
Campo | Tipo | Descrição |
---|---|---|
status |
integer |
Status da requisição. ☍ lista de status |
cryptocurrency |
string |
Criptomoeda em que a transação foi gerada. |
val_crypto |
float |
Valor em criptomoeda para o consumidor realizar o pagamento |
address |
string |
Endereço de pagamento para o consumidor realizar o pagamento |
qrcode |
string |
Link da imagem com o QR code contendo o endereço de pagamento e valor a ser pago em criptomoeda. Em formato pronto para ser lido em app's de carteiras de criptomoedas para pagamento. |
token_transaction |
string |
Token único que identifica esta transação na Redecoin. |
Lista de status da requisição
Valor | Descrição |
---|---|
100 | Sucesso. |
110 | Sucesso. token_value informado está expirado, o valor em criptomoeda foi recalculado. |
120 | Sucesso. token_value inválido. |
310 | token_company não informado. |
320 | token_company inválido. |
410 | E-mail do cliente não informado. |
420 | cryptocurrency inválido ou não disponível. |
421 | base_currency inválido ou não disponível. |
422 | val_base inválido. |
423 | cryptocurrency não aceita nesta empresa. |
510 | Venda temporariamente desabilitada. |
600 | Erro ao criar transação. |
Valor antecipado da transação
Exemplo de requisição:
curl -X GET -G \
"https://api.redecoin.com/v2/value" \
-d "token_company=9979b355-67b4-4a5f-8367-4ced0f94b93e" \
-d "base_currency=BRL" \
-d "val_base=100.00" \
-d "cryptocurrency=BTC"
$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": 100,"resp":
{
"val_crypto": 0.003389831,
"val_quotation":29500.00,
"token_value":"ac27412t-680f-3rn7-536b-2r20v3p26266"
}
}
Para calcular o valor equivalente em criptomoeda do pedido que está em andamento no seu e-commerce de forma antecipada, antes de finalizar o pedido e criar uma transação, use o endpoint value
.
Forneça via método GET
os parâmetros abaixo:
Campo | Tipo | Descrição |
---|---|---|
token_company |
string |
Token da empresa gerado no cadastro. |
base_currency |
string |
Moeda que terá o valor convertido para criptomoeda. Disponível apenas BRL. |
val_base |
float |
Valor que será convertido para criptomoeda. |
cryptocurrency |
float |
Criptomoeda em que deseja ser calculado o valor equivalente. Exemplo: BTC ☍ lista de criptomoedas disponíveis |
Resposta da API:
Campo | Tipo | Descrição |
---|---|---|
status |
integer |
Status da requisição. ☍ lista de status |
val_crypto |
float |
Valor calculado na criptomoeda solicitada. |
val_quotation |
string |
Valor da cotação da criptomoeda utilizado para a conversão. |
token_value |
string |
Token identificador desta consulta. Envie este token no momento de criar a transação para garantir que o valor em criptomoeda calculado nessa consulta seja mantido. |
Lista de status da requisição
Valor | Descrição |
---|---|
100 | Sucesso. |
310 | token_company não informado. |
320 | token_company inválido. |
420 | cryptocurrency inválido ou não disponível. |
421 | base_currency inválido ou não disponível. |
422 | val_base inválido. |
423 | cryptocurrency não aceito nesta empresa. |
600 | Erro ao consultar. |
Consultar transação
Exemplo de requisição:
curl -X GET -G \
"https://api.redecoin.com/v2/transaction/list" \
-d "secret_key=ard3r79n2ghls42tgplgfd4c8f495a9b8019bbd7e6afac0b0493c938e0fc83ce"
$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);
}
Exemplo de resposta:
'{
"status":100,"resp":
[
{
"company_id":11,
"company_name": "Empresa teste",
"val_quotation": 29.500,
"base_currency": "BRL",
"val_base": 100.00,
"cryptocurrency": "BTC",
"val_crypto": 0.003389831,
"val_liquid_input": 97.40,
"postback": "minhaloja.com.br/redecoin/notificacao.php",
"refer_id": "1928377",
"status_transaction": "aprovado",
"date_payment": "2018-05-01 18:50:10",
"val_pay": 0.003389831,
"token_transaction": "eb15921f-450d-4eb5-916d-1e01c0b17388",
"date_created": "2018-05-01 18:45:30",
"address": "1EU2BftanrNhvoRuQv8LkUp2j9o7caJm1q"
}
]
}'
Para consultar uma transação use o endpoint transaction/list
.
Forneça via método GET
os parâmetros abaixo:
Campo | Tipo | Descrição |
---|---|---|
secret_key |
string |
Chave secreta de segurança da empresa. |
token_transaction |
string |
Opcional - Token único que identifica uma transação na Redecoin. Consulte uma transação específica informando este token. |
page |
integer |
Opcional - Página que será listada. |
limit |
integer |
Opcional - Limite de registros por página. |
Resposta da API:
Campo | Tipo | Descrição |
---|---|---|
status |
integer |
Status da requisição. ☍ lista de status |
company_id |
integer |
Código de identificação da empresa. |
company_name |
string |
Nome da empresa. |
val_quotation |
string |
Valor da cotação da criptomoeda no momento da venda. |
base_currency |
string |
Moeda usada como base para gerar a transação. |
val_base |
float |
Valor em Reais usado como base para gerar a transação. |
cryptocurrency |
string | Criptomoeda em que a transação foi gerada. |
val_crypto |
float |
Valor em criptomoeda para o consumidor realizar o pagamento. |
val_liquid_base |
float |
Valor em Reais usado como base para gerar a transação descontando as taxas da Redecoin. |
postback |
string |
Url que a Redecoin enviará a notificação a cada alteração de status desta transação. |
refer_id |
string |
Identificador do pedido informado no momento da criação da transação. |
status_transaction |
string |
Status da transação. ☍ lista de status |
date_payment |
datetime |
Data e hora que o cliente realizou o pagamento. |
val_pay |
float |
Valor pago pelo cliente. |
token_transaction |
string | Token único que identifica esta transação na Redecoin. |
date_created |
date_created |
Data e hora em que a transação foi criada. |
address |
string |
Endereço de pagamento para o consumidor realizar o pagamento. |
Lista de status da requisição
Valor | Descrição |
---|---|
100 | Sucesso |
330 | secret_key não informado |
335 | secret_key inválido |
425 | token_transaction inválido |
426 | page inválido |
427 | limit inválido |
600 | Erro ao consultar |
Cancelar transação
Exemplo de requisição:
curl -X GET -G \
"https://api.redecoin.com/v2/transaction/cancel" \
-d "secret_key=ard3r79n2ghls42tgplgfd4c8f495a9b8019bbd7e6afac0b0493c938e0fc83ce" \
-d "token_transaction=eb15921f-450d-4eb5-916d-1e01c0b17388"
Exemplo de resposta:
{
"status": 100,"resp": {}
}
Para cancelar uma transação use o endpoint transaction/cancel
.
Forneça via método GET
os parâmetros abaixo:
Campo | Tipo | Descrição |
---|---|---|
secret_key |
string |
Chave secreta de segurança da empresa. |
token_transaction |
string |
Token único que identifica uma transação na Redecoin. |
full_refund |
string(S,N) |
Opcional - Devolver valor total pago ao ao cliente. Habilitado somente mediante solicitação, mais infos: ☍ Políticas de cancelamento |
Resposta da API:
Campo | Tipo | Descrição |
---|---|---|
status |
integer |
Status da requisição. ☍ lista de status |
Lista de status da requisição
Valor | Descrição |
---|---|
100 | Cancelado com sucesso. |
330 | secret_key não informado. |
335 | secret_key inválido |
425 | token_transaction inválido |
440 | Não é possível cancelar uma transação com este status. |
520 | Empresa não habilitada para devolução do valor integral no momento desta transação. |
525 | Sem saldo para cancelar. |
600 | Erro ao cancelar |
Notificação
Sempre que a transação for paga ou tiver seu status alterado, uma notificação será enviada para uma URL definida no cadastro da empresa informando o novo status da transação.
A URL informada receberá um POST
contendo os parâmetros abaixo:
Campo | Tipo | Descrição |
---|---|---|
secret_key |
string |
Chave secreta de segurança da empresa. |
refer_id |
string |
Identificador do pedido informado no momento da criação da transação. |
token_transaction |
string |
Token único que identifica esta transação na Redecoin. |
status_transaction |
string |
Status da transação. ☍ lista de status |
base_currency |
string |
Moeda usada como base para gerar a transação. |
val_base |
float | Valor em Reais usado como base para gerar a transação. |
cryptocurrency |
string | Criptomoeda em que a transação foi gerada. |
val_crypto |
float |
Valor em criptomoeda para o consumidor realizar o pagamento. |
Status da transação
Abaixo a lista com todos os status que uma transação pode assumir:
Valor | Descrição |
---|---|
registrado | Status inicial. A transação foi criada e está aguardando pagamento. |
recebendo_pagamento | Pagamento enviado, mas aguardando as confirmações da rede. |
aprovado | Pagamento recebido. |
negado | Pagamento recebido fora do tempo permitido. O consumidor receberá um e-mail com instruções para devolução do valor pago. |
pago_abaixo | O pagamento realizado é abaixo do valor esperado, um e-mail será encaminhado ao consumidor com instruções para pagamento do valor faltante. |
cancelado | A transação foi cancelada pela empresa. Se foi paga, um e-mail será encaminhado ao consumidor com instruções para devolução do valor pago. |