Skip to main content
POST
/
checkouts
/
create
Criar um Checkout
curl --request POST \
  --url https://api.abacatepay.com/v2/checkouts/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "items": [
    {
      "id": "prod-1234",
      "quantity": 2
    }
  ],
  "methods": [
    "PIX",
    "CARD"
  ]
}
'
{
  "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",
    "coupons": [],
    "devMode": false,
    "customerId": null,
    "returnUrl": null,
    "completionUrl": null,
    "receiptUrl": null,
    "upSellProductId": "prod_bump456xyz",
    "interest": {
      "value": 100
    },
    "fine": {
      "value": 200,
      "type": "PERCENTAGE"
    },
    "metadata": {},
    "createdAt": "2024-11-04T18:38:28.573Z",
    "updatedAt": "2024-11-04T18:38:28.573Z"
  },
  "error": null,
  "success": true
}

Documentation Index

Fetch the complete documentation index at: https://docs.abacatepay.com/llms.txt

Use this file to discover all available pages before exploring further.

Gera uma página de pagamento hospedada. Você envia os produtos; a API devolve a url para redirecionar o cliente.

Obrigatório

items é obrigatório — lista com id do produto e quantity.
Exemplo mínimo:
{
  "items": [
    { "id": "prod_abc123xyz", "quantity": 1 }
  ]
}
Exemplo completo:
{
  "items": [
    { "id": "prod_abc123xyz", "quantity": 1 }
  ],
  "customerId": "cust_abc123xyz",
  "externalId": "pedido-123",
  "returnUrl": "https://seusite.com/voltar",
  "completionUrl": "https://seusite.com/sucesso",
  "methods": ["PIX", "CARD"],
  "card": {
    "maxInstallments": 12
  },
  "metadata": { "origem": "app-mobile" }
}
Exemplo com upsell:
{
  "items": [
    { "id": "prod_abc123xyz", "quantity": 1 }
  ],
  "upSellProductId": "prod_bump456xyz"
}
Exemplo com multa e juros (apenas BOLETO):
{
  "methods": ["BOLETO"],
  "items": [
    { "id": "prod_abc123xyz", "quantity": 1 }
  ],
  "interest": { "value": 100 },
  "fine": { "value": 200, "type": "PERCENTAGE" }
}
Use upSellProductId para oferecer um produto adicional ao cliente após a conclusão do pagamento. O produto deve ser avulso (sem cycle) e estar com status ACTIVE. Veja a referência completa de upsell.
Use interest e fine para configurar juros por atraso e multa caso o cliente pague depois do vencimento. Os campos só se aplicam a methods: ["BOLETO"] e são ignorados nos demais métodos. Veja a referência completa.
Use card.maxInstallments (1–12) para permitir que o cliente parcele no cartão. O valor mínimo por parcela é R$ 10,00. Veja a doc completa de parcelamento.
Redirecione o cliente para data.url — é lá que ele finaliza o pagamento.
Para cobranças recorrentes use Assinaturas. Para um link que múltiplos clientes podem pagar use Links de pagamento.

Authorizations

Authorization
string
header
required

Todas as requisições devem incluir sua chave de API no header Authorization usando o formato Bearer <abacatepay-api-key>. Sem esse header a requisição será rejeitada.

Saiba mais sobre como criar e usar chaves de API na documentação de autenticação.

Body

application/json
items
object[]
required

Lista de itens incluídos na cobrança. Este é o único campo obrigatório — o valor total é calculado a partir destes itens.

Minimum array length: 1
methods
enum<string>[]

Métodos de pagamento disponíveis. Padrão ["PIX", "CARD"].

Minimum array length: 1
Available options:
PIX,
CARD
returnUrl
string<uri>

URL para onde o cliente será redirecionado ao clicar em "Voltar" no checkout.

completionUrl
string<uri>

URL para onde o cliente será redirecionado após o pagamento ser concluído.

customerId
string

ID de um cliente já cadastrado na sua loja. Se informado, o checkout será pré-preenchido com os dados deste cliente.

Exemplo: "cust_abcdefghij"

coupons
string[]

Lista de cupons que podem ser utilizados nesta cobrança.

Exemplo: ["ABKT10", "ABKT5", "PROMO10"]

Maximum array length: 50
externalId
string

ID da cobrança no seu sistema, caso queira manter uma referência própria.

Exemplo: "seu_id_123"

upSellProductId
string

ID de um produto avulso (sem cycle) a ser ofertado como upsell após a conclusão do pagamento.

O produto deve estar com status: ACTIVE e não pode ter cycle — apenas produtos de pagamento único são aceitos.

Exemplo: "prod_bump456xyz"

interest
object

Juros por atraso, aplicados apenas quando methods inclui BOLETO. Ignorado para PIX/CARD.

fine
object

Multa por atraso, aplicada apenas quando methods inclui BOLETO. Ignorado para PIX/CARD.

metadata
object

Metadados adicionais da cobrança. Campo livre para a sua aplicação.

Exemplo:

{
  "source": "landing-page-black-friday",
  "campaign": "BF-2025"
}

Response

Cobrança criada com sucesso.

data
object
error
string | null
Example:

null

success
boolean

Se a requisição obteve sucesso ou não.

Example:

true