Começando
Guia rápido
Em cinco passos, seu sistema autentica, cria uma cobrança PIX e recebe a notificação de liquidação por webhook.
Passo 1 · Obter credenciais
As credenciais M2M (client_id e client_secret) são emitidas pelo onboarding técnico da Idea+Cash. Guarde-as em cofre seguro — nunca no repositório. Consulte Onboarding e credenciais.
Passo 2 · Trocar por um token JWT
Faça um POST OAuth2 client_credentials no realm ideabank-m2m:
curl -X POST https://auth.ideabank.com.br/realms/ideabank-m2m/protocol/openid-connect/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=$CLIENT_ID" \
-d "client_secret=$CLIENT_SECRET"Cache do token
Reutilize o mesmo
access_token até o expires_in. Não faça uma troca de token a cada requisição.Passo 3 · Confirmar sua chave Pix
Liste as chaves da conta (ou cadastre uma nova):
curl https://apiapp.dev.ideabank.com.br/integration/v1/pix/key \
-H "Authorization: Bearer $TOKEN" \
-H "tenantid: $TENANT_ID" -H "account-id: $ACCOUNT_ID" -H "hostdevelop: apiapp.dev.ideabank.com.br"Passo 4 · Criar uma cobrança dinâmica (COB)
curl -X POST https://apiapp.dev.ideabank.com.br/integration/v1/pix/cob \
-H "Authorization: Bearer $TOKEN" \
-H "tenantid: $TENANT_ID" -H "account-id: $ACCOUNT_ID" -H "hostdevelop: apiapp.dev.ideabank.com.br" \
-H "Content-Type: application/json" \
-d '{
"payer": { "name": "Cliente Exemplo", "taxIdentifier": "12345678909" },
"description": "Cobrança do pedido 12345",
"pixKey": "+5511999999999",
"expiration": 3600,
"payment": { "amount": 150.00 },
"remoteId": "pedido-12345"
}'A resposta traz txId, copyPasteCode (Pix Copia e Cola) e o payload completo — pronto para renderizar QR e mostrar no checkout.
Passo 5 · Receber a liquidação por webhook
Cadastre um endpoint HTTPS que recebe o evento PIX_DYNAMIC_PAID e faça baixa no pedido:
curl -X POST https://apiapp.dev.ideabank.com.br/integration/v1/webhooks \
-H "Authorization: Bearer $TOKEN" \
-H "tenantid: $TENANT_ID" -H "account-id: $ACCOUNT_ID" -H "hostdevelop: apiapp.dev.ideabank.com.br" \
-H "Content-Type: application/json" \
-d '{
"eventType": "PIX_DYNAMIC_PAID",
"endpointUrl": "https://minha-loja.com/webhooks/pix",
"enabled": true
}'Confirme pelas APIs de consulta
Trate o webhook como gatilho. Antes de faturar/liberar produto, consulte o estado da cobrança pelo
txId ou a transação pelo endToEndId.