API de Transações
Criar Transação Cartão
Antes de prosseguir, certifique-se que leu todos os tópicos seção Primeiros Passos.
Estrutura
Para criar uma transação de cartão de crédito é utilizada a estrutura, conforme Tabela 01:
Método |
POST |
---|---|
URL |
https://api.asteroidetecnologia.com.br
|
Recurso |
/transactions/create |
Endpoint |
https://api.asteroidetecnologia.com.br/transactions/create
|
Request Body - JSON
Para criar uma transação de cartão de crédito é preciso enviar o Request Body JSON, conforme exemplo:
(em seguida veja o que cada parâmetro significa).
{ "venda_id": "99999", "identificador": "99999", "valor_total": "100.00", "tipo": "credit", "qtd_parcelas": "1", "clear_sale_session_id": "7fc8ef54a8154c28341bf9a47443a5ce", "cartao": { "nome": "JOHN DOE", "numero": "5448 2800 0000 0007", "validade": "1022", "cvv": "123", "cpf": "98765432100" }, "comprador": { "nome": "John Doe", "documento": "12345678900", "email": "johndoe@gmail.com", "ddd": "11", "telefone": "987654321", "logradouro": "Av. Paulista", "numero": "1", "complemento": "CJ 222", "bairro": "Bela Vista", "cidade": "São Paulo", "estado": "SP", "cep": "01234567" }, "products": { "code": "123456789", "name": "Nome do Produto", "value": "100.00", "amount": "1" } }
Parâmetros
Parâmetro | Padrão | Descrição |
---|---|---|
tipo:String |
not null | O tipo da transação, que neste caso é credit |
venda_id:String |
not null | Um código interno de sua aplicação que você precisa associar à transação |
identificador:String |
not null | O mesmo que venda_id |
valor_total:Float |
not null | O valor da transação |
qtd_parcelas:Integer |
1 | O total de parcelas da transação (1 até 12) |
clear_sale_session_id:String |
null | Identificador do website para tratamento no sistema antifraude |
cartao.nome:String |
not null | O nome impresso no cartão |
cartao.numero:String |
not null | O número do cartão |
cartao.validade:Integer |
not null | O mês e ano (últimos 2 dígitos) da validade do cartão |
cartao.cvv:Integer |
not null | O código de verificação do cartão |
cartao.cpf:String |
null | CPF do titular do cartão |
comprador.nome:String |
not null | O nome do comprador (não confundir com cartao.nome ) |
comprador.documento:String |
not null | O documento do comprador (CPF ou CNPJ) |
comprador.email:String |
null | O e-mail do comprador |
comprador.ddd:Integer |
null | O DDD do telefone do comprador |
comprador.telefone:Integer |
null | O telefone do comprador |
comprador.logradouro:String |
null | O logradouro do endereço do comprador. Exemplo: Rua da Consolação, Avenida Paulista, Praça Dom Gaspar, etc. |
comprador.numero:String |
null | O número do endereço do comprador |
comprador.complemento:String |
null | O complemento do endereço do comprador. Exemplo: Casa 1, Apto 2, Sala 3, etc. |
comprador.bairro:String |
null | O bairro do endereço do comprador |
comprador.cidade:String |
null | A cidade do endereço do comprador |
comprador.estado:String |
null | A UF do estado do endereço do comprador. Ex. SP, SC, RS, RJ, etc. |
comprador.cep:String |
null | A CEP do endereço do comprador |
products.code:String |
null | Código do produto |
products.name:String |
null | Nome do produto |
products.value:Float |
null | Valor unitário |
products.amount:Integer |
null | Quantidade |
Exemplos
Veja alguns exemplos de como realizar uma requisição à API de Transações enviando o Request Body JSON para criar uma transação de crédito.
# certifique-se de ter o comando "curl" instalado \ curl -X POST https://api.asteroidetecnologia.com.br/transactions/create \ -H 'Content-Type: application/json' \ -H 'asteroide-key: SEU_TOKEN_AQUI' \ -H 'asteroide-pass: SUA_SENHA_AQUI' \ -d '{ "tipo": "credit", "venda_id": "99999", "identificador": "99999", "valor_total": "100.00", "qtd_parcelas": "1", "clear_sale_session_id": "7fc8ef54a8154c28341bf9a47443a5ce", "cartao": { "nome": "JOHN DOE", "numero": "5448 2800 0000 0007", "validade": "1022", "cvv": "123", "cpf": "98765432100" }, "comprador": { "nome": "John Doe", "documento": "12345678900", "email": "johndoe@gmail.com", "ddd": "11", "telefone": "987654321", "logradouro": "Av. Paulista", "numero": "1", "complemento": "CJ 222", "bairro": "Bela Vista", "cidade": "São Paulo", "estado": "SP", "cep": "01234567" }, "products": { "code": "123456789", "name": "Nome do Produto", "value": "100.00", "amount": "1" } }'
// certifique-se de ter a extensão php_curl instalada $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.asteroidetecnologia.com.br/transactions/create', CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'asteroide-key: SEU_TOKEN_ASTEROIDE', 'asteroide-pass: SUA_SENHA_ASTEROIDE', ), CURLOPT_POSTFIELDS => json_encode(array( 'tipo' => 'credit', 'venda_id' => '99999', 'identificador' => '99999', 'valor_total' => '100.00', 'qtd_parcelas' => '1', 'clear_sale_session_id' => '7fc8ef54a8154c28341bf9a47443a5ce', 'cartao' => array( 'nome' => 'JOHN DOE', 'numero' => '5448 2800 0000 0007', 'validade' => '1022', 'cvv' => '123', 'cpf': '98765432100' ), 'comprador' => array( 'nome' => 'John Doe', 'documento' => '12345678900', 'email' => 'johndoe@gmail.com', 'ddd' => '11', 'telefone' => '987654321', 'logradouro' => 'Av. Paulista', 'numero' => '1', 'complemento' => 'CJ 222', 'bairro' => 'Bela Vista', 'cidade' => 'São Paulo', 'estado' => 'SP', 'cep' => '01234567' ), 'products' => array( 'code' => '123456789', 'name' => 'Nome do Produto', 'value' => '100.00', 'amount' => '1' ) )), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo 'cURL Error #:' . $err; } else { echo $response; }
// No mesmo diretório do arquivo "package.json" // npm install --save request var request = require("request"); var options = { method: 'POST', url: 'https://api.asteroidetecnologia.com.br/transactions/create', headers: { 'Content-Type': 'application/json', 'asteroide-key': 'SEU_TOKEN_ASTEROIDE', 'asteroide-pass': 'SUA_SENHA_ASTEROIDE' }, json: true body : { tipo: "credit", venda_id: "99999", identificador: "99999", valor_total: "100.00", qtd_parcelas: "1", clear_sale_session_id: "7fc8ef54a8154c28341bf9a47443a5ce", cartao: { nome: "JOHN DOE", numero: "5448 2800 0000 0007", validade: "1022", cvv: "123", cpf: "98765432100" }, comprador: { nome: "John Doe", documento: "12345678900", email: "johndoe@gmail.com", ddd: "11", telefone: "987654321", logradouro: "Av. Paulista", numero: "1", complemento: "CJ 222", bairro: "Bela Vista", cidade: "São Paulo", estado: "SP", cep: "01234567" }, products: { code: "123456789", name: "Nome do Produto", value: "100.00", amount: "1" } } }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
Retorno JSON - Sucesso
No caso de sucesso você deverá ver algo como:
{ "http_status": 201, "body": { "seu_id": "99999", "codigo_pagamento": "10119011509340100003", "qtd_parcelas": "1", "cartao": { "nome": "JOHN DOE", "numero": "544828***0007", "token": "cartao.5c3dc9a6e79216.29320267", "bandeira": "MASTERCARD" }, "tipo": "credit", "guid": "venda.5c3dc9a6e5a384.75229651", "tid": "10119011509340100003", "proof_of_sale": "425086833", "codigo_autorizacao": "883349", "provider": "UseRede" } }
Retorno JSON - Erros
Caso o usuário informe algum dado errado será retornado código com uma mensagem de erro.
Verifique as tabelas após este exemplo para conhecer os códigos e mensagens retornados.
{ "http_status": 400, "body": { "errors": { "3012": "Número do Cartão é inválido" } } }
Tabela códigos e mensagens de erros: transação
Código | Mensagem |
---|---|
1001 |
Identificador não pode estar vazio |
1002 |
Identificador não pode ter mais de 50 caracteres |
1003 |
Valor da Venda não pode estar vazio |
1004 |
Valor da Venda não pode ser igual ou inferior a zero |
1005 |
Tipo de transação inválido. Tipos aceitos: credit ou boleto |
1006 |
Quantidade de Parcelas não pode ser igual ou inferior a zero |
1007 |
Asteroide Key é inválido |
1008 |
GUID inválido |
1009 |
Comprador inválido |
1010 |
Cartão inválido |
Tabela códigos e mensagens de erros: comprador
Código | Mensagem |
---|---|
2001 |
Nome do comprador não pode estar vazio |
2002 |
Nome do comprador não pode conter mais de 150 caracteres |
2003 |
Documento do comprador não pode conter mais de 50 caracteres |
2004 |
Email do comprador não pode conter mais de 200 caracteres |
2005 |
DDD do telefone do comprador não pode conter mais de 2 caracteres |
2006 |
Número de telefone do comprador não pode conter mais de 15 caracteres |
2007 |
Endereço do comprador não pode conter mais de 100 caracteres |
2008 |
Número do endereço do comprador não pode conter mais de 100 caracteres |
2009 |
Complemento do endereço do comprador não pode conter mais de 100 caracteres |
2010 |
Bairro do endereço do comprador não pode conter mais de 100 caracteres |
2011 |
Cidade do endereço do comprador não pode conter mais de 100 caracteres |
2012 |
Estado do endereço do comprador não pode conter mais de 2 caracteres |
2013 |
CEP do endereço do comprador não pode conter mais de 8 caracteres |
2014 |
GUID inválido |
2015 |
Tipo de documento do comprador deve ser CPF ou CNPJ |
2016 |
Documento do comprador não pode estar vazio |
2017 |
Preencha o CPF corretamente |
2018 |
Preencha o CNPJ corretamente |
Para transação de boleto há outros códigos. Veja Criar transação boleto para mais detalhes. |
Tabela códigos e mensagens de erros: cartão
Código | Mensagem |
---|---|
3001 |
Nome do cartão não pode estar vazio |
3002 |
Nome do cartão não pode ter mais de 50 caracteres |
3003 |
Número do cartão não pode estar vazio |
3004 |
Número do cartão não pode ter mais de 20 caracteres |
3005 |
Validade do cartão não pode estar vazio |
3006 |
Validade do cartão não pode ter mais de 4 caracteres |
3007 |
Validade do cartão deve ser maior que a data atual |
3008 |
CVV do cartão não pode estar vazio |
3009 |
CVV do cartão não pode ter mais de 4 caracteres |
3010 |
GUID inválido |
3011 |
Bandeira do cartão inválida |
3012 |
Número do Cartão é inválido |
3013 |
Identificador antifraude não pode estar vazio |
Tabela códigos e mensagens de erros: produtos
Código | Mensagem |
---|---|
4001 |
Nome do produto não pode estar vazio |
4002 |
Nome do produto não pode ter mais de 150 caracteres |