WysePayDocs

Gerar uma cobrança Pix

POST
/api/v1/charges/pix

Cria a cobrança e devolve o código Pix (copia e cola e QR Code). O status começa em WAITING_PAYMENT; quando o cliente pagar, chega o webhook transaction.paid.

Permissão da chave: charges:write.

Autenticação

headerx-api-key<token>

Sua chave de API, criada no painel em Desenvolvedores → Chaves de API.

Headers

idempotency-key?string

Envie a mesma chave para repetir com segurança: a mesma cobrança volta, sem duplicar.

Corpo da requisição

application/json
  1. body
amountCents*integer

Valor em centavos. Mínimo de 500 (R$ 5,00).

Faixa500 <= value
description*string

O que está sendo cobrado. Aparece para o pagador.

Tamanho3 <= length <= 180
customer*

Quem paga. O CPF ou CNPJ é validado; inválido responde 400.

expiresAt?string

Quando o Pix (ou o link) deixa de aceitar pagamento, em ISO 8601 (ex.: 2026-12-31T23:59:00.000Z). Sem ele, vale o prazo padrão.

Formato^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Formatodate-time
metadata?

Dados seus (ex.: o id do pedido). Voltam iguais na consulta e nos webhooks.

Corpo da resposta

Cobrança criada.

application/json
  1. response

Uma cobrança Pix.

id*string
status*string

Situação da cobrança. As mais comuns: WAITING_PAYMENT (Pix gerado, aguardando), PAID (pago) e EXPIRED (venceu sem pagamento).

Valores aceitos"CREATED""WAITING_PAYMENT""PENDING""PROCESSING""AUTHORIZED""PAID""EXPIRED""CANCELLED""FAILED""REFUSED""REFUNDED""DISPUTE""CHARGEDBACK""BLOCKED"
amountCents*integer

Valor cobrado, em centavos.

feeCents*integer

Taxa da WysePay, em centavos.

netAmountCents*integer

O que entra no seu saldo: valor menos a taxa.

description*string
pix*

Dados para o pagador pagar.

customer*|null
paymentLinkId*|

O link de pagamento que gerou esta cobrança, quando houver.

dispute*|

MED (contestação) aberto sobre este pagamento, se houver.

metadata*|

O que você enviou em metadata ao criar a cobrança.

livemode*boolean

false quando criada com uma chave de teste.

expiresAt*|null
paidAt*|null
createdAt*string
Formato^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Formatodate-time
updatedAt*string
Formato^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Formatodate-time
curl -X POST "https://example.com/api/v1/charges/pix" \  -H "Content-Type: application/json" \  -d '{    "amountCents": 8990,    "description": "Pedido #1042",    "customer": {      "name": "Ana Souza",      "email": "[email protected]",      "phone": "11912345678",      "documentType": "CPF",      "document": "12345678909"    },    "metadata": {      "orderId": "1042"    }  }'
{  "id": "txn_01k6g8m2v4x7z9b3c5d7f9h0j2",  "status": "WAITING_PAYMENT",  "amountCents": 8990,  "feeCents": 90,  "netAmountCents": 8900,  "description": "Pedido #1042",  "pix": {    "copyPaste": "00020101021226850014br.gov.bcb.pix…6304A1B2",    "qrCode": "00020101021226850014br.gov.bcb.pix…6304A1B2"  },  "customer": {    "id": "cus_01k6g8m2v4x7z9b3c5d7f9h0j2",    "name": "Ana Souza",    "email": "[email protected]",    "phone": "11912345678",    "documentType": "CPF",    "document": "12345678909"  },  "paymentLinkId": "string",  "dispute": {    "id": "string",    "status": "OPEN",    "amountCents": 0,    "createdAt": "2026-10-04T15:30:00.000Z"  },  "metadata": {    "orderId": "1042"  },  "livemode": true,  "expiresAt": "2026-10-04T15:30:00.000Z",  "paidAt": "2026-10-04T15:30:00.000Z",  "createdAt": "2026-10-04T15:30:00.000Z",  "updatedAt": "2026-10-04T15:30:00.000Z"}