Checkify
개발자 문서

백엔드에서 확인

브라우저 포함이 완료된 후 서버는 가입, 결제 또는 보호된 작업을 허용하기 전에 사이트 API 키로 결과를 확인해야 합니다.

1. 사이트 API 키

를 생성하세요. 비즈니스 대시보드에서 Developer 를 열고 통합하려는 사이트에 대한 사이트 API 키를 생성하세요. 서버 환경 변수에만 저장하고 브라우저에는 절대 전달하지 마세요.

2. 양식에서 참조를 읽어보세요

임베드 SDK는 숨겨진 필드에 request_id 를 기록합니다(레거시 통합은 여전히 ​​폴링 토큰을 제출할 수 있습니다. 둘 다 작동합니다).

// Example POST body from your frontend form
{
  "email": "user@example.com",
  "checkify_token": "56a57761-ff5b-42f0-9c97-6c13e223e017"
}

3. 호출 확인

POST https://checkify.me/v1/qr/results/verify
Authorization: Bearer YOUR_SITE_API_KEY
Content-Type: application/json

{
  "request_id": "56a57761-ff5b-42f0-9c97-6c13e223e017",
  "required_claims": ["human_verified"],
  "consume": true
}

token Fast__GLO_20__ 대신 request_id.

를 보낼 수도 있습니다. 예시

from checkify_server import Checkify

checkify = Checkify(api_key=os.environ["CHECKIFY_SITE_API_KEY"])

@app.post("/signup")
async def signup(email: str, checkify_token: str):
    result = checkify.verify_human(request_id=checkify_token)
    if not result.get("success") or not result.get("approved"):
        raise HTTPException(status_code=403, detail="Human verification required")
    # continue signup...

Express 예시

import { Checkify } from "@checkify/server";

const checkify = new Checkify({ apiKey: process.env.CHECKIFY_SITE_API_KEY });

app.post("/signup", async (req, res) => {
  const result = await checkify.verifyHuman({
    requestId: req.body.checkify_token,
  });

  if (!result.success || !result.approved) {
    return res.status(403).json({ error: "Human verification required" });
  }

  // continue signup...
});

응답 처리

필드의미
successtrue 확인 완료 시 및 요구 사항 일치
statuscompleted 또는 pending
approved_claims클레임 Checkify 승인됨, 예: human_verified: true
signed_result감사 추적을 위한 선택적 서명 페이로드

보안 알림

숨겨진 필드를 증거가 아닌 신뢰할 수 없는 참조로 취급하십시오. 액세스 권한을 부여하기 전에 항상 서버에서 사이트 API 키를 확인하세요. 사용 consume: true