QvaPay API
User

Verificación del CPF

Verificar el CPF contra el registro de Brasil para pagar compras con PIX.

Para pagar compras con PIX hay que verificar el CPF una sola vez. Se contrasta con el nombre y la fecha de nacimiento del documento verificado de la cuenta: nunca con lo que se teclee. Basta con enviar el número.

Requisitos: cuenta GOLD vigente, identidad verificada con documento (KYC), ser mayor de edad y estar en Brasil. Un CPF solo puede estar vinculado a una cuenta activa. GOLD solo se exige para verificar: un CPF ya verificado sigue valiendo aunque el GOLD venza.

GET /user/cip

Devuelve la ficha CIP y, en cpf_verification, el estado de la verificación.

{
  "cpf_verification": {
    "status": "none",
    "verified_at": null,
    "cpf_last2": null,
    "attempts_left": 3,
    "attempts_max": 3,
    "can_start": true,
    "block_reason": null,
    "message": null
  }
}
CampoDescripción
statusnone, verified, partial (coincidencia parcial), no_match, conflict
verified_atFecha de la verificación vigente, o null
cpf_last2Los dos últimos dígitos del CPF verificado
attempts_left / attempts_maxIntentos con respuesta que quedan en los últimos 30 días
can_starttrue si POST /user/cip/verify-cpf puede lanzarse ahora
block_reasonPor qué no: GOLD_REQUIRED, KYC_REQUIRED, DOCUMENT_REQUIRED, MINOR, UNAVAILABLE, GEO_BR_REQUIRED, ATTEMPTS_EXHAUSTED, SDN_BLOCKED, STAFF_ACCOUNT
messageTexto para el usuario que explica block_reason

POST /user/cip/verify-cpf

Límite: 3 llamadas cada 10 minutos. Si la cuenta ya está verificada, responde lo mismo sin repetir la consulta.

curl -X POST https://api.qvapay.com/user/cip/verify-cpf \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{ "cpf": "529.982.247-25" }'
{ "result": "OK", "data": { "status": "verified", "verified_at": "2026-11-06T15:04:05.000Z", "cpf_last2": "25", "attempts_left": 2 } }

Errores

HTTPcodeSignificado
400CPF_INVALIDLos dígitos verificadores no cuadran. No consume intento
403uno de block_reasonNo puede iniciarse (el error trae el texto para el usuario)
409CPF_NO_MATCHLos datos no coinciden con el registro; consume un intento (attempts_left)
409CPF_PARTIAL_MATCHCoincidencia parcial, o el CPF no está regular; consume un intento
409CPF_IN_USEEse CPF ya está vinculado a otra cuenta. No consume intento
429RATE_LIMITEDDemasiadas llamadas seguidas
503CPF_VERIFY_UNAVAILABLEEl registro no respondió. No consume intento