Pular para o conteúdo principal
POST
/
api
/
pix
/
cash-in
Gerar cobrança PIX (Cash-In)
curl --request POST \
  --url https://api.public.firebanking.com.br/api/pix/cash-in \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "transaction": {
    "value": 0.05,
    "description": "Cobrança de teste",
    "externalId": "external-teste-01",
    "expirationTime": 86400,
    "generateQrCode": true
  },
  "payer": {
    "fullName": "John Marvin",
    "document": "12312312387"
  },
  "additionalInfo": {
    "key1": "value1",
    "orderId": "ORD-12345"
  }
}
'
import requests

url = "https://api.public.firebanking.com.br/api/pix/cash-in"

payload = {
"transaction": {
"value": 0.05,
"description": "Cobrança de teste",
"externalId": "external-teste-01",
"expirationTime": 86400,
"generateQrCode": True
},
"payer": {
"fullName": "John Marvin",
"document": "12312312387"
},
"additionalInfo": {
"key1": "value1",
"orderId": "ORD-12345"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
transaction: {
value: 0.05,
description: 'Cobrança de teste',
externalId: 'external-teste-01',
expirationTime: 86400,
generateQrCode: true
},
payer: {fullName: 'John Marvin', document: '12312312387'},
additionalInfo: {key1: 'value1', orderId: 'ORD-12345'}
})
};

fetch('https://api.public.firebanking.com.br/api/pix/cash-in', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.public.firebanking.com.br/api/pix/cash-in",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'transaction' => [
'value' => 0.05,
'description' => 'Cobrança de teste',
'externalId' => 'external-teste-01',
'expirationTime' => 86400,
'generateQrCode' => true
],
'payer' => [
'fullName' => 'John Marvin',
'document' => '12312312387'
],
'additionalInfo' => [
'key1' => 'value1',
'orderId' => 'ORD-12345'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.public.firebanking.com.br/api/pix/cash-in"

payload := strings.NewReader("{\n \"transaction\": {\n \"value\": 0.05,\n \"description\": \"Cobrança de teste\",\n \"externalId\": \"external-teste-01\",\n \"expirationTime\": 86400,\n \"generateQrCode\": true\n },\n \"payer\": {\n \"fullName\": \"John Marvin\",\n \"document\": \"12312312387\"\n },\n \"additionalInfo\": {\n \"key1\": \"value1\",\n \"orderId\": \"ORD-12345\"\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.public.firebanking.com.br/api/pix/cash-in")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"transaction\": {\n \"value\": 0.05,\n \"description\": \"Cobrança de teste\",\n \"externalId\": \"external-teste-01\",\n \"expirationTime\": 86400,\n \"generateQrCode\": true\n },\n \"payer\": {\n \"fullName\": \"John Marvin\",\n \"document\": \"12312312387\"\n },\n \"additionalInfo\": {\n \"key1\": \"value1\",\n \"orderId\": \"ORD-12345\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.public.firebanking.com.br/api/pix/cash-in")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transaction\": {\n \"value\": 0.05,\n \"description\": \"Cobrança de teste\",\n \"externalId\": \"external-teste-01\",\n \"expirationTime\": 86400,\n \"generateQrCode\": true\n },\n \"payer\": {\n \"fullName\": \"John Marvin\",\n \"document\": \"12312312387\"\n },\n \"additionalInfo\": {\n \"key1\": \"value1\",\n \"orderId\": \"ORD-12345\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "transactionId": "123",
  "correlationId": "550e8400-e29b-41d4-a716-446655440000",
  "externalId": "external-teste-01",
  "status": "PENDING",
  "pixCode": "00020126580014br.gov.bcb.pix...",
  "generateTime": "2024-01-15T10:30:00.000Z",
  "expirationDate": "2024-01-16T10:30:00.000Z",
  "qrCodeImage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}

Autorizações

Authorization
string
header
obrigatório

Enter JWT token

Corpo

application/json
transaction
object
obrigatório

Dados da transação

payer
object
obrigatório

Dados do pagador

additionalInfo
object

Informações adicionais (objeto chave-valor string:string, máximo 10 chaves)

Exemplo:
{ "key1": "value1", "orderId": "ORD-12345" }

Resposta

Cobrança PIX gerada com sucesso

transactionId
string
obrigatório

Identificador único da transação gerada

Exemplo:

"123"

correlationId
string
obrigatório

ID de correlação da transação (UUID)

Exemplo:

"550e8400-e29b-41d4-a716-446655440000"

externalId
string
obrigatório

ID externo da transação (mesmo valor do input)

Exemplo:

"external-teste-01"

status
enum<string>
obrigatório

Status da transação

Opções disponíveis:
PENDING,
CONFIRMED,
ERROR
Exemplo:

"PENDING"

pixCode
string
obrigatório

Código Pix no formato padrão EMV

Exemplo:

"00020126580014br.gov.bcb.pix..."

generateTime
string
obrigatório

Data e hora de geração do Pix (formato ISO 8601)

Exemplo:

"2024-01-15T10:30:00.000Z"

expirationDate
string
obrigatório

Data e hora de expiração do Pix (formato ISO 8601)

Exemplo:

"2024-01-16T10:30:00.000Z"

qrCodeImage
string

QR Code em Base64 (apenas quando generateQrCode=true)

Exemplo:

"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."