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:

Tabela 01 - Criar Transação Cartão
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

Tabela 02 - Parâmetros Criar Transação de Cartão de Crédito
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

Tabela 03 - 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

Tabela 04 - 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

Tabela 05 - 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

Tabela 06 - 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