API RecebeAqui
Checkout
POST Criar Checkout GET Consultar Checkout PUT Cancelar Checkout POST Criar Checkout transparenteGerenciamento de Pagamentos
Cancelar Pagamento RealizadoAssinaturas/Recorrências
POST Criar Recorrência GET Consultar Recorrências GET Pagamentos da RecorrênciaCriar 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).
⚠️ Importante
- O checkout transparente aceita apenas um tipo de pagamento por vez. Não é permitido combinar tipos (ex: CREDITO_PIX).
- As URLs de
successCallbackeerrorCallbacksão obrigatórias apenas para CREDITO. PIX e BOLETO não recebem callbacks. - Para BOLETO, os campos
customerName,taxId,dueDate,fineeinterestsão obrigatórios. - Para PIX e Boleto, você deve configurar webhooks para receber notificações quando o pagamento for confirmado.
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);
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);
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 |
📢 Configuração de Webhooks
Para pagamentos via PIX e BOLETO, o pagamento é processado de forma assíncrona. Você DEVE configurar webhooks na sua conta RecebeAqui para receber notificações quando o pagamento for confirmado.
Como configurar: Acesse as configurações da sua conta → API/Integrações → Webhooks e cadastre a URL que receberá as notificações de pagamento.