Criar cobrança Pix
Com a chave de API do projeto (X-Onny-Api-Key) e o cabeçalho Idempotency-Key (obrigatório: repetir a mesma chave devolve a mesma cobrança). O valor vai direto para a conta Mercado Pago da organização.
/payments/v1/charges Exige X-Onny-Api-Key com uma chave de API do projeto.
Corpo da requisição
amountCentsintegerValor em centavos (mínimo R$ 1,00).
descriptionstringobrigatórioO que está sendo pago (aparece para o pagador).
máx. 140payerEmailstring | nullE-mail do pagador (opcional; o Mercado Pago pede um e-mail).
máx. 256externalReferencestring | nullSua referência (pedido, fatura…). Volta nos webhooks.
máx. 100expiresInMinutesinteger | nullValidade do Pix em minutos (30 a 1440, padrão 30). O Mercado Pago exige pelo menos 30.
Respostas
200OK
{
"id": "01923f4e-7b1a-7c3d-9e2f-5a6b7c8d9e0f",
"status": "pending",
"amountCents": 1990,
"currency": "BRL",
"description": "Primeiro projeto na onny.",
"externalReference": "pedido-42",
"pixCode": "texto",
"pixQrBase64": "texto",
"payUrl": "texto",
"mode": "live",
"expiresAt": "2026-10-11T12:00:00+00:00",
"paidAt": "2026-10-11T12:00:00+00:00",
"createdAt": "2026-10-11T12:00:00+00:00",
"failureReason": "texto"
}14 campos descrição de cada um
iduuidId da cobrança.
statusstringcreating, pending, paid, expired, canceled, refunded ou failed.
amountCentsintegerValor em centavos.
currencystringMoeda (BRL).
descriptionstringDescrição.
externalReferencestring | nullSua referência.
pixCodestring | nullPix copia-e-cola.
pixQrBase64string | nullQR Code (PNG em base64).
payUrlstringPágina de pagamento da onny para enviar ao pagador.
modestringlive ou test.
expiresAtdatetimeVence em.
paidAtdatetime | nullPaga em.
createdAtdatetimeCriada em.
failureReasonstring | nullMotivo da falha, se houver.
201Created
{
"id": "01923f4e-7b1a-7c3d-9e2f-5a6b7c8d9e0f",
"status": "pending",
"amountCents": 1990,
"currency": "BRL",
"description": "Primeiro projeto na onny.",
"externalReference": "pedido-42",
"pixCode": "texto",
"pixQrBase64": "texto",
"payUrl": "texto",
"mode": "live",
"expiresAt": "2026-10-11T12:00:00+00:00",
"paidAt": "2026-10-11T12:00:00+00:00",
"createdAt": "2026-10-11T12:00:00+00:00",
"failureReason": "texto"
}14 campos descrição de cada um
iduuidId da cobrança.
statusstringcreating, pending, paid, expired, canceled, refunded ou failed.
amountCentsintegerValor em centavos.
currencystringMoeda (BRL).
descriptionstringDescrição.
externalReferencestring | nullSua referência.
pixCodestring | nullPix copia-e-cola.
pixQrBase64string | nullQR Code (PNG em base64).
payUrlstringPágina de pagamento da onny para enviar ao pagador.
modestringlive ou test.
expiresAtdatetimeVence em.
paidAtdatetime | nullPaga em.
createdAtdatetimeCriada em.
failureReasonstring | nullMotivo da falha, se houver.
400Bad Request
{
"type": "https://tools.ietf.org/html/rfc9110",
"title": "auth.invalid / validation",
"status": 400,
"detail": "Mensagem legível para pessoas.",
"code": "auth.invalid / validation",
"traceId": "00-4bf9…-01"
}401Unauthorized
{
"type": "https://tools.ietf.org/html/rfc9110",
"title": "Unauthorized",
"status": 401,
"detail": "Mensagem legível para pessoas.",
"code": "Unauthorized",
"traceId": "00-4bf9…-01"
}409Conflict
{
"type": "https://tools.ietf.org/html/rfc9110",
"title": "error",
"status": 409,
"detail": "Mensagem legível para pessoas.",
"code": "error",
"traceId": "00-4bf9…-01"
}422Unprocessable Entity
{
"type": "https://tools.ietf.org/html/rfc9110",
"title": "error",
"status": 422,
"detail": "Mensagem legível para pessoas.",
"code": "error",
"traceId": "00-4bf9…-01"
}503Service Unavailable
{
"type": "https://tools.ietf.org/html/rfc9110",
"title": "error",
"status": 503,
"detail": "Mensagem legível para pessoas.",
"code": "error",
"traceId": "00-4bf9…-01"
}