Pular para o conteúdo

Pagamentos PIX

Cria uma cobrança PIX de valor arbitrário. Body .strict() (chaves desconhecidas são rejeitadas).

Body:

CampoTipoObrigatórioRegras / Default
amountCentsintsiminteiro positivo (centavos)
descriptionstringnãomáx 255; vira título do item (default "Cobrança avulsa")
customerobjectsimver Customer
addressobjectnãover Address
expiresInDaysintnãomin 1, máx 365
idempotencyKeystringsim1–100 chars; único por empresa
metadataobject (record)nãopares chave/valor arbitrários
CampoTipoObrigatórioRegras
namestringsim1–255
emailstringsimemail válido, máx 255
phonestringnãodígitos ou formatado
documentNumberstringsim11–14 (CPF/CNPJ)
documentTypeenum CPF | CNPJsim—
externalRefstringnão1–100

Todos opcionais: street, streetNumber, complement, zipCode, neighborhood, city, state (strings), country (default "BR").

Resposta (201) — MerchantApiCreatePixResponseDto:

{
"orderId": "uuid",
"subTransactionId": "uuid",
"transactionId": "string",
"providerTransactionId": "string",
"status": "PENDING",
"amount": {
"subtotalCents": 10000,
"discountCents": 0,
"totalCents": 10000,
"currency": "BRL"
},
"pix": {
"qrcode": "00020126...5204<copia-e-cola>",
"expiresAt": "2026-07-16T12:00:00.000Z"
}
}

Exemplo de request:

Criar cobrança PIX avulsa
curl -X POST https://goldpay-goldpay-api.f0czp0.easypanel.host/api/payments/merchant/transaction/pix \
-H "X-Api-Key: <PUBLIC_KEY>" \
-H "Content-Type: application/json" \
-d '{
"amountCents": 10000,
"description": "Pedido #123",
"idempotencyKey": "pedido-123",
"customer": {
"name": "João Silva",
"email": "joao@example.com",
"documentNumber": "12345678909",
"documentType": "CPF"
}
}'

POST /payments/merchant/transaction/pix/from-products → 201

Seção intitulada “POST /payments/merchant/transaction/pix/from-products → 201”

Cria a cobrança a partir de produtos do catálogo (valor = preço × quantidade − cupom). Body .strict().

Body:

CampoTipoObrigatórioRegras / Default
itemsarray<Item>sim1–100 itens
couponCodestringnão1–64
customerobjectsimmesmo Customer
addressobjectnãomesmo Address
expiresInDaysintnãomin 1, máx 365
idempotencyKeystringsim1–100
metadataobjectnão—

Item:

CampoTipoObrigatórioRegras
productIdstring (uuid)sim—
quantityintsimpositivo
externalRefstringnãoreferência de reconciliação

Resposta: idêntica à do endpoint anterior (MerchantApiCreatePixResponseDto), com amount.subtotalCents/discountCents/totalCents refletindo produtos e cupom.

GET /payments/merchant/transaction/:subTransactionId → 200

Seção intitulada “GET /payments/merchant/transaction/:subTransactionId → 200”

Consulta o status de uma cobrança. subTransactionId deve ser UUID (senão 400).

Resposta — MerchantApiChargeStatusResponseDto:

{
"subTransactionId": "uuid",
"transactionId": "string",
"providerTransactionId": "string | null",
"status": "PAID",
"paidAt": "2026-07-16T12:03:00.000Z",
"amount": {
"totalCents": 10000,
"refundedCents": 0,
"currency": "BRL"
}
}