1. Gere suas chaves
No painel AXNPAY, gere um par de chaves:
pk_live_prod_* (pública)
sk_live_prod_* (secreta)
Nunca exponha a sk_live_prod_* no frontend. Use apenas no backend.
2. Crie uma cobrança PIX
curl -X POST "https://api.axnpay.com.br/v1/integrations/create-transaction" \
-H "Authorization: Bearer sk_live_prod_SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": 20.00,
"description": "Pedido #1234",
"productName": "Plano Pro",
"clientName": "Matteo Augusto",
"clientEmail": "axonaxolote@gmail.com",
"clientPhone": "11999999999",
"clientCpf": "52998224725",
"tracking_parameters": {
"utm_source": "meta_ads",
"utm_medium": "cpc",
"utm_campaign": "black_friday"
},
"referenceId": "77823bb5-3d84-4cbf-a2a4-43230cc3b1d1"
}'
Resposta esperada (resumo):
transactionId (UUID público)
status inicial (PENDING)
pixCode (código copia e cola)
Para cobrança PIX, não envie acquirer, pixKey ou pixKeyType.
Se você usa ferramentas de atribuição, envie tracking_parameters para receber esses dados também no webhook.
3. Consulte status da transação
curl "https://api.axnpay.com.br/v1/integrations/list-transactions?transactionId=77823bb5-3d84-4cbf-a2a4-43230cc3b1d1" \
-H "Authorization: Bearer sk_live_prod_SEU_TOKEN"
Considere pago apenas quando status = COMPLETED.
4. Crie um saque (cashout)
curl -X POST "https://api.axnpay.com.br/v1/integrations/create-cashout" \
-H "Authorization: Bearer sk_live_prod_SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": 20.00,
"pixKey": "12281502902",
"pixKeyType": "CPF",
"idempotencyKey": "e1de94c1-5692-48e1-a334-24b367ad76ff"
}'
Notas:
- Taxa fixa de saque:
R$ 5.00
- Valor líquido enviado:
amount - 5.00
- Mínimo:
amount > 5.00
5. Use idempotência sempre
create-transaction:
- Campo:
referenceId
- Escopo: único por usuário + tipo
CASHIN
create-cashout:
- Campo:
idempotencyKey
- Escopo: único por usuário + tipo
CASHOUT
Se você repetir a mesma chave, a API devolve a mesma transação sem duplicar operação.