Ir para o conteúdo
GrandePay

Comece aqui

Primeira chamada

Crie uma cobrança no servidor e obtenha o código PIX.

#Pré-requisitos

Rode o exemplo no backend, com as chaves da empresa só no servidor.

A empresa precisa estar ativa e com KYC aprovado.

#Faça a requisição

O JavaScript abaixo é código de servidor. Sucesso do checkout é HTTP 200.

cURL
curl --request POST 'https://api-gateway.grandepay.com.br/v1/checkout' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'X-Public-Key: pk_sua_empresa' \
  --header 'X-Secret-Key: sk_sua_empresa' \
  --data '{"amount":1500,"paymentMethod":"pix","postbackUrl":"https://empresa.example/api/grandepay/postback","items":[{"title":"Assinatura mensal","unitPrice":1500,"quantity":1,"externalRef":"plan-pro-001"}],"customer":{"name":"Maria de Souza","email":"maria@example.com","phone":"11999999999","document":{"number":"12345678901","type":"cpf"}},"pix":{"expiresInDays":2}}'

CPF e QR dos exemplos são sintéticos.

#Leia a resposta

A resposta 200 traz oito campos. status inicial é 0; pix_code pode ser nulo.

Renderize o código PIX sem alterar o conteúdo.

200.json
{
  "uuid": "4d78d8ca-a9f1-4c2a-bf15-7f8ca71e3a70",
  "status": 0,
  "amount_cents": 1500,
  "pix_code": "00020101021226870014br.gov.bcb.pix2565qrcodes.example.com/pix/4d78d8ca",
  "pix_expiration": "2026-03-15T17:00:00.000Z",
  "provider_transaction_id": "prov_tx_123",
  "external_id": "GP-9a5f1eb3-6885-4f26-93f3-3c0954d0f42f",
  "created_at": "2026-03-13T17:00:00.000Z"
}

#Confirme por postback

A criação não marca o pedido como pago. O evento transaction.paid confirma o pagamento. Valide a assinatura e persista o evento conforme Recebendo postbacks e HMAC.

Esta página foi útil?