운영

보안 수칙

API_KEY·토큰 보관, 금액 결정, 콜백 신뢰 모델, 로그·개인정보 취급 규칙입니다.

시크릿

  • API_KEY·가맹점 비밀번호·접근 토큰은 서버 환경변수 또는 시크릿 매니저(AWS SSM/Secrets Manager, Vault)에만 둡니다.
  • 소스코드·저장소 히스토리·CI 로그·클라이언트 번들·모바일 앱에 넣지 않습니다.
  • 유출 의심 시 즉시 재발급을 요청합니다. 재발급 후 이전 키는 즉시 무효화됩니다.
  • 테스트 키와 운영 키를 다른 시크릿 이름으로 관리해 혼용을 막습니다.

금액과 주문

  • 금액은 서버 카탈로그에서 결정합니다. 클라이언트가 보낸 금액·상품ID를 그대로 청구하지 않습니다.
  • TRANS_SEQNO는 추측 불가능한 난수를 포함하고, 주문과 1:1로 저장합니다.
  • 승인 확정 시 APPROVAL_AMOUNT와 주문 금액을 대사합니다. 불일치는 서비스 제공을 막고 수동 확인합니다.

콜백 신뢰 모델

결제 링크 콜백(CONFIRM_URL)의 X-Webhook-Signature 헤더는 카리페이 내부 검증용이라 파트너용 서명이 아닙니다. 본문을 승인 근거로 쓰지 않고, 서명된 searchPayment로 상태를 확인하는 것이 보안 모델입니다. 이 규칙만 지키면 위조 콜백은 무해합니다. CONFIRM_URL은 HTTPS만 허용됩니다.

청구서 웹훅은 webhookSecret을 주면 X-CariPay-Signature(HMAC-SHA256, 5분 허용 오차)로 서명됩니다. 서명을 검증하면 위조 요청을 처리 전에 걸러낼 수 있지만, 확정은 여전히 getInvoice로 합니다. 비밀은 청구서마다 다르게 둘 수 있고, 유출이 의심되면 새 청구서부터 다른 값을 쓰면 됩니다.

개인정보·로그

  • 카드번호·CVC·비밀번호는 귀사 시스템을 거치지 않습니다(결제 페이지에서만 입력). 로그·화면에 카드정보를 남기지 마세요.
  • 고객 휴대폰번호는 필요한 곳에만 저장하고 로그에는 마스킹(010-****-5678)합니다.
  • API_KEY·토큰·REDIRECT_URL(접근 토큰 포함)을 로그에 남기지 않습니다.
  • 청구서 API의 수신자 정보는 청구 목적으로만 사용하고, 광고·판촉 문구를 안내 메시지에 넣지 않습니다(알림톡 정책 위반).

접근 제어

  • 청구서 API 연동 계정은 업무용 전용 계정을 쓰고, 퇴사·담당 변경 시 비밀번호를 바꿉니다.
  • 취소(환불) 기능은 귀사 내부에서 권한을 제한하고 감사 로그를 남깁니다.

문서에 없는 내용이나 오류는 bellight@goatheaven.com 또는 지원 문의로 알려주세요.