Enviar Pix
Caminho 1: por chave Pix
Consultar a chave no DICT
Antes de pagar, valide o destinatário consultando o DICT via GET /pix/key. Confirma que a chave existe e retorna o titular para você comparar com o esperado.
curl "https://api.magen.processamento.com/v1/pix/key?key=joao@example.com" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"const url = new URL('https://api.magen.processamento.com/v1/pix/key');
url.searchParams.set('key', 'joao@example.com');
const res = await fetch(url, {
headers: {
Authorization: `Bearer ${process.env.MAGEN_TOKEN}`,
'Content-Type': 'application/json',
},
});
const dict = await res.json();res = requests.get(
'https://api.magen.processamento.com/v1/pix/key',
params={'key': 'joao@example.com'},
headers={
'Authorization': f'Bearer {os.environ["MAGEN_TOKEN"]}',
'Content-Type': 'application/json',
},
)
dict_info = res.json()Mais detalhes em Consulta DICT.
Executar o saque
Use POST /withdraw com a chave validada. pixType aceita: cpf, cnpj, phone, email, evp.
curl -X POST https://api.magen.processamento.com/v1/withdraw \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": 250.00,
"pixKey": "joao@example.com",
"pixType": "email",
"callbackUrl": "https://seusite.com.br/webhooks/magen",
"clientReference": "payout-2025-08-001",
"description": "Pagamento referente ao pedido #1234"
}'const res = await fetch('https://api.magen.processamento.com/v1/withdraw', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.MAGEN_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
amount: 250.00,
pixKey: 'joao@example.com',
pixType: 'email',
callbackUrl: 'https://seusite.com.br/webhooks/magen',
clientReference: 'payout-2025-08-001',
description: 'Pagamento referente ao pedido #1234',
}),
});
const withdraw = await res.json();res = requests.post(
'https://api.magen.processamento.com/v1/withdraw',
headers={
'Authorization': f'Bearer {os.environ["MAGEN_TOKEN"]}',
'Content-Type': 'application/json',
},
json={
'amount': 250.00,
'pixKey': 'joao@example.com',
'pixType': 'email',
'callbackUrl': 'https://seusite.com.br/webhooks/magen',
'clientReference': 'payout-2025-08-001',
'description': 'Pagamento referente ao pedido #1234',
},
)Caminho 2: por QR Code
Ler o QR antes (opcional)
Se o QR foi escaneado de um cliente externo, extraia os dados antes de pagar via POST /pix/qrcode/read.
curl -X POST https://api.magen.processamento.com/v1/pix/qrcode/read \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "qrCode": "00020126870014br.gov.bcb.pix..." }'Magen suporta apenas QR Code dinâmico. QR estático não é processado.
Executar o pagamento
POST /withdraw/qrcode. Se o QR já tem valor embutido, amount pode ser omitido.
curl -X POST https://api.magen.processamento.com/v1/withdraw/qrcode \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"qrCode": "00020126870014br.gov.bcb.pix...",
"amount": 100.00,
"callbackUrl": "https://seusite.com.br/webhooks/magen",
"clientReference": "payout-qr-2025-08-001"
}'Acompanhar status
O saque começa PENDING e evolui para COMPLETED, CANCELED ou ERROR. O callback chega em cada transição. Para consultar manualmente via GET /withdraw:
curl "https://api.magen.processamento.com/v1/withdraw?clientReference=payout-2025-08-001" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"Comprovante
Após COMPLETED, baixe o comprovante oficial via GET /withdraw/proof/{id}:
curl "https://api.magen.processamento.com/v1/withdraw/proof/MAGEN2025..." \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"Erros comuns
| Erro | Resolução |
|---|---|
| Saldo insuficiente | Confira GET /user/balance antes |
| Chave Pix inválida | Valide via DICT primeiro |
| Valor abaixo do mínimo | amount ≥ R$ 0,01 (chave) ou ≥ R$ 0,10 (QR) |
| Destinatário diferente | Compare dict.name com o esperado antes de pagar |
Receber pagamento Pix
Fluxo completo para receber dinheiro de um cliente via Pix. Você cria a cobrança, exibe o QR Code, processa o callback de COMPLETED e implementa polling como fallback. Código pronto em curl, Node, Python, Go e PHP.
Transferência interna
Quando origem e destino são contas Magen, você pode mover saldo entre elas sem passar pelo Pix tradicional. Liquidação instantânea, identificação por accountNumber. Ideal para repasses internos entre matriz/filial ou pagar parceiros Magen.