Inicio
Primeiros passos em 3 minutos
3 min de leitura
Do zero ao primeiro pagamento aprovado. Siga os 3 passos abaixo — sem configuração de gateway real.
Pré-requisito: Docker instalado. Nenhuma credencial de Stripe/MercadoPago/PayPal necessária — usaremos o gateway
MOCK.Passo 1 — Subir o servidor
git clone https://github.com/vitinh0z/orquestraio.git
cd orquestraio
docker-compose up -d
# API disponível em: http://localhost:8080
# Swagger UI: http://localhost:8080/swagger-ui/index.html
# API key de dev: orquestraio-livre-123
Passo 2 — Fazer o primeiro pagamento
curl -X POST http://localhost:8080/v1/payments \
-H "x-api-key: orquestraio-livre-123" \
-H "Content-Type: application/json" \
-d '{
"idempotencyKey": "primeiro-pagamento-001",
"amount": 50.00,
"currency": "BRL",
"paymentMethodRequest": {
"type": "pix",
"token": null
},
"customer": {
"id": "u1",
"email": "[email protected]",
"document": "000.000.000-00"
},
"metadata": {
"gateway": "MOCK"
}
}'
const res = await fetch('http://localhost:8080/v1/payments', {
method: 'POST',
headers: {
'x-api-key': 'orquestraio-livre-123',
'Content-Type': 'application/json'
},
body: JSON.stringify({
idempotencyKey: 'primeiro-pagamento-001',
amount: 50.00,
currency: 'BRL',
paymentMethodRequest: {
type: 'pix',
token: null
},
customer: {
id: 'u1',
email: '[email protected]',
document: '000.000.000-00'
},
metadata: {
gateway: 'MOCK'
}
})
});
const data = await res.json();
console.log(data.status); // "APPROVED"
import requests, uuid
res = requests.post(
"http://localhost:8080/v1/payments",
headers={"x-api-key": "orquestraio-livre-123"},
json={
"idempotencyKey": str(uuid.uuid4()),
"amount": 50.00,
"currency": "BRL",
"paymentMethodRequest": {
"type": "pix",
"token": None
},
"customer": {
"id": "u1",
"email": "[email protected]"
},
"metadata": {
"gateway": "MOCK"
}
}
)
print(res.json()["status"]) # "APPROVED"
Passo 3 — Interpretar a resposta
{
"paymentId": "550e8400-e29b-41d4-a716-446655440000",
"status": "APPROVED",
"amount": 50.00,
"currency": "BRL",
"details": {
"provider": "MOCK"
},
"createdAt": "2026-06-06T15:30:00Z"
}
Próximo passo: Configure um webhook para receber notificações quando o status mudar. Ver seção Webhooks.