No Bempaggo, o recurso Invoice (Fatura) facilita o processo de cobrança ao consolidar produtos, serviços ou assinaturas em um único documento, gerando automaticamente um checkout simples e seguro. Isso torna o desenvolvimento mais rápido, pois elimina a necessidade de criar uma interface personalizada para cobranças, permitindo que você envie a fatura diretamente ao cliente ou gerencie o pagamento de forma prática.
Passo 1 - Criar um Cliente
Endpoint
POST /api/v2/customers
/api/v2/customers
Request Body
{
"name": "Tony Stark",
"document": "51190844001",
"birthdate": "2000-01-01",
"phone": {
"countryCode": 55,
"areaCode": 48,
"number": 998870001
},
"email": "[email protected]",
"address": {
"street": "Rua Jair Hamms",
"streetNumber": "38",
"lineTwo": "Sala 101",
"neighborhood": "Pedra Branca",
"state": "SC",
"zipCode": "88137084",
"city": "Palhoça"
}
}
Resposta de Sucesso
Status: 201 Created
Headers:
- Content-ID: ID do cliente recém-criado.
- Location: URL para acessar o cliente criado.
Passo 2 - Criar um Produto
Endpoint
POST /api/v2/products
/api/v2/products
Request Body
{
"productType": "ONETIME",
"affiliateId": 1,
"name": "Produto Exemplo",
"value": 500,
"softDescriptor": "Product Plus",
"maxInstallments": 12,
"active": true,
"methods": [
"CREDIT_CARD",
"PIX"
],
"description": "Este é um produto exemplo.",
"themeId": 1,
"feePassThrough": false
}
Resposta de Sucesso
Status: 201 Created
Headers:
- Location: URL para acessar o produto criado.
Informação
Na API de fatura, o produto é usado apenas como referência. Ao gerar uma fatura, o ID do produto serve para identificar os itens que serão cobrados na fatura. As informações enviadas na API de criação de produto são utilizadas exclusivamente no link de pagamento e não no Checkout da Fatura.
Passo 3 - Criar a Fatura
Endpoint
POST /api/v2/sellers/{sellerId}/invoices
/api/v2/sellers/{sellerId}/invoices
Request Body
{
"customerId":1,
"invoiceNumber":"TEST_1731446753",
"dueDate":"1732310753051",
"notificationUrl": "https://meusite.com.br/events",
"successUrl":"https://google.com",
"items":[
{
"productId":1,
"quantity":1,
"unitPriceInCents":70000
}
],
"acceptedPaymentMethods":[
{
"method":"CREDIT_CARD",
"cardSettings":{
"maxInstallments":10,
"feePassThrough":false
}
}
]
}
Resposta de Sucesso
Status: 201 Created
Headers:
- Location: URL para acessar a fatura criada.
- Link: URL para pagamento da fatura.
Exemplo de checkout de uma Fatura
Recebendo Eventos de Pagamento (Opcional)
Quando uma fatura é paga, um evento será enviado para a URL especificada em notificationUrl
.
Confirmando autenticidade do evento
Para um fluxo seguro, não enviamos informações no corpo do evento. Ao receber o evento, utilize nossa API autenticada para confirmar o pagamento da fatura, evitando, assim, o recebimento de eventos de fontes fraudulentas.
Boas práticas - Habilitação de Redirecionamento Automático
Para obter o recurso criado automaticamente em uma única requisição, é necessário habilitar o redirecionamento automático no seu cliente HTTP. Essa configuração permite que seu cliente siga os cabeçalhos Location retornados pela API, simplificando o processo de recuperação do recurso recém-criado.
Exemplo C# - Redirecionamento Automático
var handler = new HttpClientHandler
{
AllowAutoRedirect = true, // Permite redirecionamentos automáticos
MaxAutomaticRedirections = 10 // Número máximo de redirecionamentos a seguir
};
var httpClient = new HttpClient(handler)
{
BaseAddress = new Uri("https://apisandbox.bempaggo.io")
};
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "SUA_API_KEY");