Skip to main content

📌 Endpoint

GET /stores/:storeId/payments/filter Filtra pagamentos de uma loja com suporte a paginação, ordenação e filtros por metadata.

🔐 Autenticação

Rota privada. Envie o header Authorization com sua API key e plano ativo.

🧾 Parâmetro de rota


🔎 Query params


🔄 Paginação por cursor

Para listas grandes (mais de ~100 itens), prefira paginação por cursor no lugar de page. O cursor é suportado somente quando sortBy=createdAt (padrão):
  1. Faça a primeira chamada sem cursor.
  2. Se hasMore for true, a resposta traz o campo nextCursor.
  3. Envie esse nextCursor no parâmetro cursor da próxima requisição para buscar a página seguinte.
No modo cursor, a paginação é retornada apenas com nextCursor, hasMore e limit (sem total/totalPages):
  • cursor e page não podem ser usados juntos (400 INVALID_PAGINATION).
  • Usar cursor com sortBy diferente de createdAt retorna 400 INVALID_CURSOR_SORT.
  • nextCursor: null com hasMore: false indicam o fim da lista (a API responde 200 com array vazio).
  • Filtros de metadata muito amplos continuam podendo retornar 422 FILTER_TOO_BROAD.

✅ Exemplo de requisição


🧠 Exemplo para metadata aninhada

Filtrar por metadata.items[0].product.sold = 19:

📦 Resposta de sucesso (200)

A primeira chamada (sem cursor) já retorna nextCursor e hasMore na paginação, permitindo iniciar a paginação por cursor sem chamadas extras.

⚠️ Possíveis erros

  • 400 INVALID_DATA → parâmetros inválidos
  • 400 INVALID_PAGINATION_LIMIT → limit fora do intervalo permitido (1 a 100)
  • 400 INVALID_PAGINATION_PAGE → page inválida
  • 400 INVALID_PAGINATION_CURSOR → cursor inválido ou malformado
  • 400 INVALID_PAGINATION → page e cursor utilizados juntos
  • 400 INVALID_CURSOR_SORT → cursor usado com sortBy diferente de createdAt
  • 401/403 → sem autorização para a loja
  • 422 FILTER_TOO_BROAD → filtro por metadata muito amplo; refine metadataKey/metadataValue
  • 500 INTERNAL_SERVER_ERROR → erro interno