O Checkout é a página segura onde o cliente finaliza o pagamento. Você envia os itens; a API devolve uma URL para redirecionar.
Criar checkout
Use /checkouts/create. O total é calculado a partir dos itens.
Campos obrigatórios
Só items é obrigatório (lista com id do produto e quantity).
O parâmetro frequency define o tipo de cobrança:
| Valor | Descrição |
|---|
| ONE_TIME | Pagamento único (padrão). Não é necessário enviar ao criar um checkout. |
| MULTIPLE_PAYMENTS | Link de pagamento onde é possível pagar mais de uma vez. Veja Links de pagamento. |
| SUBSCRIPTION | Assinatura recorrente. Veja Assinaturas. |
Exemplo (pagamento único — frequency não precisa ser enviado):
POST /checkouts/create
{
"items": [ // obrigatório
{
"id": "prod_pro", // ID do produto na sua loja
"quantity": 1 // quantidade
}
],
"customerId": "cust_abc123xyz", // opcional - ID do cliente já cadastrado
"externalId": "pedido-123", // opcional - ID no seu sistema
"returnUrl": "https://seusite.com/voltar", // opcional - URL de retorno
"completionUrl": "https://seusite.com/sucesso", // opcional - URL após pagamento
"methods": ["PIX", "CARD"], // opcional - métodos de pagamento (padrão: PIX e CARD)
"metadata": { // opcional - dados adicionais
"customField": "value"
}
}
Resposta:
{
"data": {
"id": "bill_abc123xyz",
"externalId": "pedido-123",
"url": "https://app.abacatepay.com/pay/bill_abc123xyz",
"amount": 10000,
"paidAmount": null,
"items": [
{
"id": "prod_456",
"quantity": 2
}
],
"status": "PENDING",
"frequency": "ONE_TIME",
"coupons": [],
"devMode": false,
"customerId": null,
"returnUrl": null,
"completionUrl": null,
"receiptUrl": null,
"metadata": {},
"createdAt": "2024-11-04T18:38:28.573Z",
"updatedAt": "2024-11-04T18:38:28.573Z"
},
"success": true,
"error": null
}
Use a url retornada para levar o cliente ao checkout e concluir o pagamento.