Skip to main content
POST
/
payment-links
/
create
Criar um link de pagamento
curl --request POST \
  --url https://api.abacatepay.com/v2/payment-links/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "frequency": "MULTIPLE_PAYMENTS",
  "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.

Cria um link de pagamento que pode ser pago por múltiplos clientes — ideal para vendas em massa, rifas ou formulários de inscrição sem criar um checkout por cliente.

Obrigatório

Envie "frequency": "MULTIPLE_PAYMENTS" junto com items. O restante dos parâmetros é idêntico ao Checkout.
Exemplo:
{
  "frequency": "MULTIPLE_PAYMENTS",
  "items": [
    { "id": "prod_abc123xyz", "quantity": 1 }
  ],
  "externalId": "link-campanha-123",
  "completionUrl": "https://seusite.com/obrigado",
  "methods": ["PIX", "CARD"]
}
Exemplo com multa e juros (apenas BOLETO):
{
  "frequency": "MULTIPLE_PAYMENTS",
  "methods": ["BOLETO"],
  "items": [
    { "id": "prod_abc123xyz", "quantity": 1 }
  ],
  "interest": { "value": 100 },
  "fine": { "value": 200, "type": "PERCENTAGE" }
}
Compartilhe data.url — cada cliente que acessar o link pode pagar de forma independente.
Use interest e fine para configurar juros por atraso e multa caso o pagamento ocorra depois do vencimento. Os campos só se aplicam a methods: ["BOLETO"] e seguem o mesmo formato do checkout — veja a referência completa.

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
frequency
enum<string>
default:MULTIPLE_PAYMENTS

Tipo de cobrança fixo para links de pagamento.

Available options:
MULTIPLE_PAYMENTS
Example:

"MULTIPLE_PAYMENTS"

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.

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"

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

Link de pagamento criado com sucesso.

data
object
error
string | null
Example:

null

success
boolean

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

Example:

true