---
title: "Quickstart: PIX em minutos"
url: "https://devcenter.stone.com.br/quickstart-pix"
image: "https://devcenter.stone.com.br/_og/d/c_Ocean.takumi,title_~UXVpY2tzdGFydDogUElYIGVtIG1pbnV0b3M,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiMzMEE2NkQifX19,p_Ii9xdWlja3N0YXJ0LXBpeCI,s_ep1UkneiLobr-v7D.png"
---

## **Quickstart: PIX em minutos**

Do zero a um QR Code Pix pago em sandbox.

Vamos do zero a um QR Code Pix funcional pago em sandbox. Sem enrolação.

Pré-requisitos

Node 18+ instalado, conta no [Dashboard Stone](https://dashboard.stone.com.br) e suas credenciais de **sandbox** em mãos.

## [1\. Instale o SDK](#_1-instale-o-sdk)

Node.js

```bash
npm install @stone/node
```

Python

```bash
pip install stone-payments
```

## [2\. Autentique e crie a cobrança](#_2-autentique-e-crie-a-cobrança)

Node.js

```javascript
import Stone from '@stone/node';
import crypto from 'crypto';

const client = new Stone({
  clientId: process.env.STONE_CLIENT_ID,
  clientSecret: process.env.STONE_CLIENT_SECRET,
  environment: 'sandbox'
});

const charge = await client.charges.create({
  amount: 1990,
  currency: 'BRL',
  payment_method: 'pix',
  customer: {
    name: 'Maria da Silva',
    tax_id: '11144477735'
  },
  expires_in: 3600,
  reference_id: 'pedido-1042'
}, { idempotencyKey: crypto.randomUUID() });

console.log(charge.pix.qr_code);
console.log(charge.pix.qr_code_image);
```

Python

```python
from stone import Stone
import os, uuid

client = Stone(
    client_id=os.environ["STONE_CLIENT_ID"],
    client_secret=os.environ["STONE_CLIENT_SECRET"],
    environment="sandbox",
)

charge = client.charges.create(
    amount=1990,
    currency="BRL",
    payment_method="pix",
    customer={"name": "Maria da Silva", "tax_id": "11144477735"},
    expires_in=3600,
    reference_id="pedido-1042",
    idempotency_key=str(uuid.uuid4()),
)

print(charge.pix.qr_code)
```

## [3\. Receba o webhook de pagamento](#_3-receba-o-webhook-de-pagamento)

Configure um endpoint público (use `ngrok` em dev) e cadastre-o em **Dashboard → Webhooks**. Você vai receber:

```json
{
  "id": "evt_1Q9k...",
  "type": "charge.paid",
  "created_at": "2026-04-28T14:32:11Z",
  "data": {
    "id": "ch_2M8x...",
    "status": "paid",
    "amount": 1990,
    "paid_at": "2026-04-28T14:32:08Z",
    "reference_id": "pedido-1042",
    "pix": { "end_to_end_id": "E60746948202604281432..." }
  }
}
```

## [4\. Confirme o pagamento](#_4-confirme-o-pagamento)

Em sandbox, o webhook chega em ~3 segundos automaticamente. Em produção, é instantâneo após o pagador concluir o Pix no banco.

Pronto

Você fez sua primeira transação. Próximos passos:

-   [Webhooks na prática](https://devcenter.stone.com.br/foundations-webhooks)

Siga a Stone nas redes sociais

[](https://www.facebook.com/stonepagamentos/)[](https://x.com/sejastone/)[](https://www.instagram.com/stone/)[](https://br.linkedin.com/company/stone-co)[](https://www.youtube.com/channel/UCk4L4JykgoDkN8YeuxkNqIQ)

© Stone Instituição de Pagamento S.A. CNPJ 16.501.555/0001-57

Av. Rebouças, 2880, 4º andar, Pinheiros, CEP 05.402-500 – São Paulo/SP

Instituição de pagamento autorizada pelo Banco Central do Brasil, nas modalidades de credenciadora e emissora de moeda eletrônica.