API de Transações

Criar Transação Pix

Antes de prosseguir, certifique-se que leu todos os tópicos seção Primeiros Passos.

Estrutura

Para criar uma transação pix é utilizada a estrutura, conforme Tabela 01:

Tabela 01 - Criar Transação Pix
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 com o pix é preciso enviar o Request Body JSON, conforme exemplo:
(em seguida veja o que cada parâmetro significa).

{
  "tipo": "pix",
  "venda_id": "99999",
  "identificador": "99999",
  "valor_total": "100.00",
  "dias_vencimento" : "1",
  "comprador": {
    "nome": "John Doe",
    "documento": "12345678909"
  }
}

Parâmetros

Tabela 02 - Parâmetros Criar Transação Pix
Parâmetro Padrão Descrição
tipo:String not null O tipo da transação, que neste caso é pix
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
dias_vencimento:Integer 2 O total de dias que o código do pix será válido
valor_total:Float not null O valor da transação
comprador.nome:String not null O nome do comprador
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

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 pix.

# 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": "pix",
  "venda_id": "99999",
  "identificador": "99999",
  "valor_total": "100.00",
  "dias_vencimento": "1",
  "comprador": {
    "nome": "John Doe",
    "documento": "12345678909"
  }
}'
// 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' => 'pix',
        'venda_id' => '99999',
        'identificador' => '99999',
        'valor_total' => '100.00',
        'dias_vencimento' => '1',
        'comprador' => array(
            'nome' => 'John Doe',
            'documento' => '12345678909'
        )
    )),
));

$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: "pix",
    venda_id: "99999",
    identificador: "99999",
    valor_total: "100.00",
    dias_vencimento: "1",
    comprador: {
      nome: "John Doe",
      documento: "12345678909"
    }
  }
};

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": "ABC123",
        "codigo_pagamento": "GopBWLb9Faz36VtIFwrqVrpSiwnt3zDpTBh",
        "qtd_parcelas": 1,
        "tipo": "pix",
        "guid": "venda.605505c1900f47.44927268",
        "tid": "GopBWLb9Faz36VtIFwrqVrpSiwnt3zDpTBh",
        "proof_of_sale": "GopBWLb9Faz36VtIFwrqVrpSiwnt3zDpTBh",
        "codigo_autorizacao": "GopBWLb9Faz36VtIFwrqVrpSiwnt3zDpTBh",
        "provider": "VALID",
        "location": "qrcodepix-h.bb.com.br/pix/v2/dd4b03f7-5655-43ac-8250-930f36ed3e00",
        "mensagem": "Cobrança ASTEROIDE",
        "qrcode": "00020101021226870014br.gov.bcb.pix2565qrcodepix-h.bb.com.br/pix/v2/dd4b03f7-5655-43ac-8250-930f36ed3e005204000053039865406100.005802BR5920ALAN GUIACHERO BUENO6008BRASILIA62070503***6304C6A1",
        "chave": "testqrcode01@bb.com.br"
    }
}

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": {
            "2016": "Documento do comprador não pode estar vazio"
        }
    }
}

Tabela códigos e mensagens de erros: transação

Tabela 03 - Códigos e mensagens de erro - 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, boleto ou pix
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

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
2019 Endereço do comprador não pode estar vazio
2020 Número do endereço do comprador não pode estar vazio
2021 Bairro do endereço do comprador não pode estar vazio
2022 Cidade do endereço do comprador não pode estar vazia
2023 Estado do endereço do comprador não pode estar vazio
2024 CEP do endereço do comprador não pode estar vazio