POST

Criar Checkout transparente

Crie um novo link de pagamento (checkout) para receber pagamentos de seus clientes.
O checkout transparente suporta três tipos de pagamento: Cartão de Crédito (CREDITO), PIX e Boleto (BOLETO).

Endpoint

POST /api/checkout/EmbeddedCheckout

Parâmetros da Requisição

O payload deve seguir o modelo CreateEmbeddedCheckoutRequest. Campos obrigatórios estão marcados.

Campo Tipo Obrigatório Descrição
value decimal Sim Valor da cobrança (ex.: 100.50)
maxInstallmentCount int Sim Número de parcelas

Valor permitido de 1 a 21

billingType string Sim Tipo de pagamento: CREDITO, PIX ou BOLETO

Atenção: Apenas um tipo por vez. Não use tipos combinados.

Campos para CREDITO (Cartão de Crédito)
cardNumber string Condicional Número do cartão (obrigatório para CREDITO)
cardExpirationDate string Condicional Data de validade do cartão no formato MM/AA ou MM/YYYY (obrigatório para CREDITO)
cardName string Condicional Nome impresso no cartão (obrigatório para CREDITO)
cardSecurityCode string Condicional Código de segurança (CVV/CVC) (obrigatório para CREDITO)
successCallback string Condicional URL para redirecionamento em caso de sucesso (obrigatório apenas para CREDITO)
errorCallback string Condicional URL para redirecionamento em caso de erro (obrigatório apenas para CREDITO)
Campos para BOLETO
customerName string Condicional Nome do cliente (obrigatório para BOLETO)
taxId string Condicional CPF ou CNPJ do cliente (obrigatório para BOLETO)
dueDate datetime Condicional Data de vencimento do boleto (obrigatório para BOLETO)
fine int Condicional Multa por atraso em porcentagem (obrigatório para BOLETO)
interest int Condicional Juros por atraso em porcentagem (obrigatório para BOLETO)
Campos Gerais (Opcionais)
description string Não Descrição da cobrança (ex.: "Produto XYZ")
expirationDate datetime Não Data de expiração do link de pagamento (opcional)
recurrent string Não Periodicidade da recorrência (ex.: "MENSAL"). Apenas para CREDITO.
externalReference string Não Identificador único do seu sistema
customerEmail string Não Email do cliente

Exemplos de Requisição

Exemplo com Cartão de Crédito (CREDITO)
curl -X POST "https://api.recebeaqui.com/v2/api/checkout/EmbeddedCheckout" \
    -H "Authorization: Bearer {seu_token_de_api}" \
    -H "Content-Type: application/json" \
    -d '{
    "value": 100.50,
    "maxInstallmentCount": 12,
    "billingType": "CREDITO",
    "cardNumber": "4242424242424242",
    "cardExpirationDate": "12/2027",
    "cardName": "JOÃO SILVA",
    "cardSecurityCode": "123",
    "description": "Produto XYZ",
    "customerEmail": "joao@email.com",
    "externalReference": "pedido-12345",
    "antifraud": true,
    "successCallback": "https://seusite.com/sucesso",
    "errorCallback": "https://seusite.com/erro"
}'
const checkout = {
    value: 100.50,
    maxInstallmentCount: 12,
    billingType: "CREDITO",
    cardNumber: "4242424242424242",
    cardExpirationDate: "12/2027",
    cardName: "JOÃO SILVA",
    cardSecurityCode: "123",
    description: "Produto XYZ",
    customerEmail: "joao@email.com",
    externalReference: "pedido-12345",
    antifraud: true,
    successCallback: "https://seusite.com/sucesso",
    errorCallback: "https://seusite.com/erro"
};

const response = await fetch('https://api.recebeaqui.com/v2/api/checkout/EmbeddedCheckout', {
    method: 'POST',
    headers: {
        'Authorization': 'Bearer {seu_token_de_api}',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(checkout)
});

const data = await response.json();
var checkout = new
{
    value = 100.50m,
    maxInstallmentCount = 12,
    billingType = "CREDITO",
    cardNumber = "4242424242424242",
    cardExpirationDate = "12/2027",
    cardName = "JOÃO SILVA",
    cardSecurityCode = "123",
    description = "Produto XYZ",
    customerEmail = "joao@email.com",
    externalReference = "pedido-12345",
    antifraud = true,
    successCallback = "https://seusite.com/sucesso",
    errorCallback = "https://seusite.com/erro"
};

var json = JsonSerializer.Serialize(checkout);
var content = new StringContent(json, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "{seu_token_de_api}");
var response = await client.PostAsync("https://api.recebeaqui.com/v2/api/checkout/EmbeddedCheckout", content);
Exemplo com PIX
curl -X POST "https://api.recebeaqui.com/v2/api/checkout/EmbeddedCheckout" \
    -H "Authorization: Bearer {seu_token_de_api}" \
    -H "Content-Type: application/json" \
    -d '{
    "value": 50.00,
    "maxInstallmentCount": 1,
    "billingType": "PIX",
    "description": "Pagamento via PIX",
    "customerEmail": "joao@email.com",
    "externalReference": "pedido-12345"
}'
const checkout = {
    value: 50.00,
    maxInstallmentCount: 1,
    billingType: "PIX",
    description: "Pagamento via PIX",
    customerEmail: "joao@email.com",
    externalReference: "pedido-12345"
};

const response = await fetch('https://api.recebeaqui.com/v2/api/checkout/EmbeddedCheckout', {
    method: 'POST',
    headers: {
        'Authorization': 'Bearer {seu_token_de_api}',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(checkout)
});

const data = await response.json();
var checkout = new
{
    value = 50.00m,
    maxInstallmentCount = 1,
    billingType = "PIX",
    description = "Pagamento via PIX",
    customerEmail = "joao@email.com",
    externalReference = "pedido-12345"
};

var json = JsonSerializer.Serialize(checkout);
var content = new StringContent(json, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "{seu_token_de_api}");
var response = await client.PostAsync("https://api.recebeaqui.com/v2/api/checkout/EmbeddedCheckout", content);
📱 Resposta PIX: Você receberá qrCodeBase64 (imagem do QR Code) e copyPaste (código copia e cola).
Exemplo com Boleto
curl -X POST "https://api.recebeaqui.com/v2/api/checkout/EmbeddedCheckout" \
    -H "Authorization: Bearer {seu_token_de_api}" \
    -H "Content-Type: application/json" \
    -d '{
    "value": 100.00,
    "maxInstallmentCount": 1,
    "billingType": "BOLETO",
    "customerName": "João Silva",
    "customerEmail": "joao@email.com",
    "taxId": "12345678900",
    "dueDate": "2024-12-31",
    "fine": 2,
    "interest": 1,
    "description": "Pagamento via Boleto",
    "externalReference": "pedido-12345"
}'
const checkout = {
    value: 100.00,
    maxInstallmentCount: 1,
    billingType: "BOLETO",
    customerName: "João Silva",
    customerEmail: "joao@email.com",
    taxId: "12345678900",
    dueDate: "2024-12-31",
    fine: 2,
    interest: 1,
    description: "Pagamento via Boleto",
    externalReference: "pedido-12345"
};

const response = await fetch('https://api.recebeaqui.com/v2/api/checkout/EmbeddedCheckout', {
    method: 'POST',
    headers: {
        'Authorization': 'Bearer {seu_token_de_api}',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(checkout)
});

const data = await response.json();
var checkout = new
{
    value = 100.00m,
    maxInstallmentCount = 1,
    billingType = "BOLETO",
    customerName = "João Silva",
    customerEmail = "joao@email.com",
    taxId = "12345678900",
    dueDate = "2024-12-31",
    fine = 2,
    interest = 1,
    description = "Pagamento via Boleto",
    externalReference = "pedido-12345"
};

var json = JsonSerializer.Serialize(checkout);
var content = new StringContent(json, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "{seu_token_de_api}");
var response = await client.PostAsync("https://api.recebeaqui.com/v2/api/checkout/EmbeddedCheckout", content);
📄 Resposta BOLETO: Você receberá copyPaste com a linha digitável do boleto.

Resposta de Sucesso

Em caso de sucesso (código 200), você receberá:

                                        
{
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "externalReference": "pedido-12345",
    "paymentLink": "https://recebeaqui.com/redireciona/encrypted-token",
    "qrCodeBase64": null,
    "copyPaste": null
}
                                        
                                    
                                        
{
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "externalReference": "pedido-12345",
    "paymentLink": "https://recebeaqui.com/pagar/123e4567-e89b-12d3-a456-426614174000",
    "qrCodeBase64": "data:image/png;base64,iVBORw0KGgoAAAANS...",
    "copyPaste": "00020126580014br.gov.bcb.pix..."
}
                                        
                                    
                                        
{
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "externalReference": "pedido-12345",
    "paymentLink": "https://recebeaqui.com/pagar/123e4567-e89b-12d3-a456-426614174000",
    "qrCodeBase64": null,
    "copyPaste": "34191.79001 01043.510047 91020.150008 1 12340000010000"
}
                                        
                                    

Campos da Resposta

Campo Tipo Descrição
id string ID único do checkout gerado pelo RecebeAqui
externalReference string Referência externa que você informou na criação
paymentLink string Link de pagamento para enviar ao cliente
qrCodeBase64 string Apenas PIX: Imagem do QR Code em base64 para exibição
copyPaste string PIX: Código PIX copia e cola (EMV)
BOLETO: Linha digitável do boleto