# 2026-03-18 작업 내역

## 1. 파트너 API 연동 수정

### 수정 파일들

**includes/config.php**
- `user_hierarchy` 테이블 자동 생성 추가
- `user_partner_settings` 테이블 자동 생성 추가
- `partner_code`, `can_invite`, `can_create_partner`, `max_depth`, `default_sub_rolling` 컬럼 자동 추가
- admin 사용자 자동 초기화 (없으면 생성)
- 신규 가입 시 초기 잔액 0원으로 변경 (기존 10만원)

**api/partner.php**
- `partner_code` null일 때 자동 생성 후 저장
- history API LIMIT/OFFSET prepared statement 수정
- try-catch 에러 핸들링 추가

**auth/token_login.php**
- main.php → / 로 리다이렉트 변경 (Nuxt 프론트)
- localStorage 설정 추가 (auth-login-status, auth-user)

**includes/callback.php**
- `session_write_close()` 추가 (세션 락 방지)
- `CURLOPT_SSL_VERIFYHOST => 0` 추가 (SSL 인증서 문제 해결)

**site_partner/pages/callback.php**
- 시크릿키 복사 기능 수정 (`copySecretKey()` 함수)

**frontend/nuxt.config.ts**
- X-Frame-Options 헤더 제거 시도 (iframe 허용)

---

## 2. API 문서 생성

- `BITUPGO_API_연동_KR.txt` (한글)
- `BITUPGO_API_연동_EN.txt` (영문)

---

## 3. 테스트 도구 생성

**api/test.php**
- 파트너 API 테스트 페이지 (로그인, 잔액, 결과, 내역 조회)

**api/callback_test.php**
- 콜백 수신 테스트 페이지
- GET: 로그 보기
- POST: 콜백 수신 및 응답 (항상 100만원 잔액 반환)

**api/check_callback.php**
- 유저의 콜백 설정 상태 확인

**api/check_logs.php**
- callback_logs 테이블 최근 10개 조회

---

## 4. 해결된 이슈

1. **401 Invalid partner key** - callback_secret_key와 callback_enabled 설정 필요
2. **History API JSON 에러** - LIMIT/OFFSET prepared statement 수정
3. **토큰 로그인 후 세션 안됨** - localStorage 설정 추가
4. **X-Frame-Options deny** - nuxt.config.ts 수정
5. **잔액 조회 실패** - SSL 인증서 검증 비활성화

---

## 5. 콜백 테스트 결과

- callback_test.php로 balance 콜백 정상 수신
- SSL 인증서 문제 해결 후 작동 확인
- 테스트 잔액 100만원 반환 (callback_test.php 고정값)
