📘 사용자 매뉴얼

6. 일반결제와 환불(취소)

서비스에서 일어난 결제 내역을 확인하고, 일반결제(단건 결제)를 취소(환불) 하는 화면입니다. 구독 정기결제와 일반결제를 한 목록에서 함께 볼 수 있습니다.

🍎

쉽게 말하면 "어떤 사용자가 얼마를 언제 결제했는지" 확인하고, 필요하면 "그 돈을 돌려주는(환불)" 곳입니다.

함께 보기: 요금제 관리 · 구독 관리


6.1 결제 내역 보기

결제 목록 (구독·단건)
결제 목록 (구독·단건)

왼쪽 메뉴에서 결제를 누르면 결제 목록이 열립니다.

각 줄에는 주문번호, 서비스, 종류(구독 / 일반), 사용자, 유형(회차), 금액, 상태(완료 / 실패 / 대기 / 취소), 실패 코드, 요청 시각, 매출전표가 보입니다. 환불(취소)된 건은 금액 아래에 "환불 N원 · 수수료 M원"이 작게 함께 표시됩니다. 취소(환불) 이력이 있는 결제는 그 행 바로 아래에 회차별 취소 내역이 한 줄씩 하위 행으로 붙습니다 — 왼쪽에 "↳ 취소 N회차", 사유와 처리 주체(관리자/서비스/시스템), 금액 칸에 환불액(−표시)과 수수료, 시각 칸에 취소 시각이 본문 표의 칸에 맞춰 표시되어, 부분취소를 여러 번 한 결제도 언제 얼마씩 환불했는지 목록에서 바로 확인할 수 있습니다.

결제 목록 — 취소 회차별 하위 행과 메모 버튼
결제 목록 — 취소 이력이 있는 결제 아래 "↳ 취소 N회차" 하위 행(사유·주체·환불액·시각·메모 버튼). 원장 도입 이전 건은 "도입 이전 취소분 합산"으로 표시

각 취소 하위 행 오른쪽 끝에는 메모 버튼이 있습니다. [메모 +]를 누르면 모달에서 회차별 메모를 입력할 수 있고(최대 150자, 입력 중 글자 수 표시), 모달 상단에는 어떤 취소에 메모를 다는지 대상 정보(주문번호·회차·취소 시각·환불액·수수료·처리 주체·사유)가 함께 표시됩니다. 이미 메모가 있으면 [메모 ✎]로 표시되며 같은 모달에서 수정합니다(빈 값으로 저장하면 메모 삭제). 메모가 있는 버튼에 마우스를 올리면 내용이 팝업으로 바로 보여, 모달을 열지 않고도 확인할 수 있습니다. 모달이 열려 있는 동안 뒤 화면은 클릭·키보드 입력·스크롤이 모두 잠기며, ESC 또는 [닫기]로 모달을 닫으면 원래대로 돌아옵니다.

취소 메모 모달 — 대상 취소 정보와 150자 입력
취소 메모 모달 — 상단에 대상 취소 정보(주문·회차·환불액·주체·사유), 아래에 메모 입력(150자 카운터)

(취소를 회차별로 기록하는 장부(원장)를 도입하기 전에 일어난 취소는 "도입 이전 취소분 합산" 1건으로 표시됩니다.) 단건(일반) 결제처럼 토스에 전달된 주문번호가 다른 건은 주문번호 아래에 "토스: t…" 형태로 토스 주문번호가 작게 병기됩니다 — 토스 상점 콘솔의 주문번호와 같은 값이라 콘솔과 1:1 대조에 쓰입니다.

💡

참고: 시스템 관리자는 모든 서비스의 결제를 보고, 서비스 담당자는 자신이 담당하는 서비스의 결제만 보입니다. 목록의 서비스·요금제 드롭다운에도 담당 서비스만 나타납니다.

목록 맨 오른쪽 매출전표 칸은 그 결제의 카드 영수증으로 가는 링크입니다. → 자세한 사용법은 아래 6.1.2 매출전표(영수증) 보기를 참고하세요.

💡

참고: "종류"가 구독이면 정기결제, 일반이면 단건(1회성) 결제입니다. 환불(취소) 버튼은 일반결제에만 이 화면에서 제공됩니다. 구독을 그만 쓰게 하려면(해지) 구독 관리에서 처리하세요.

검색·필터로 원하는 결제를 빠르게 찾을 수 있습니다.

필터 설명
검색어 주문번호·토스 주문번호 또는 사용자 ID(external_user_id — 고객 이메일)의 일부 — 토스 콘솔에서 복사한 주문번호로 바로 검색 가능
서비스 특정 서비스의 결제만
요금제 특정 요금제의 결제만 (구독 결제에만 적용 — 단건 결제는 요금제가 없어 자동 제외됨)
종류 구독 / 일반 / 전체
상태 완료 / 실패 / 대기 / 취소 / 전체
날짜 범위 요청 시각 기준 시작일~종료일

주문번호·금액·상태·요청 시각 머리글을 누르면 정렬됩니다. 기본 정렬은 요청 시각 최신순입니다.

💡

팁: 결제가 실패한 경우, 실패 코드에 마우스를 올리면 "한도 초과", "정지된 카드"처럼 한글 설명이 풍선으로 떠서 원인을 바로 알 수 있습니다.

목록 위쪽 [엑셀] 버튼으로 현재 필터가 적용된 전체 내역을 내려받을 수 있습니다(주문번호·토스 주문번호·서비스·종류·사용자·유형·금액·상태·실패코드·요청시각). 한 번에 내려받는 행 수에는 상한이 있어, 매우 많은 내역은 날짜 범위 등으로 나눠서 받는 것이 좋습니다.

6.1.1 결제 상태와 종류·유형 한눈에 보기

목록·상세에서 쓰이는 배지의 의미는 다음과 같습니다.

상태

배지 의미
대기 PENDING 결제 요청은 만들어졌지만 토스 승인 응답을 아직 못 받은 상태(통신 지연 등). 시간이 지나면 완료/실패로 바뀝니다.
완료 DONE 토스 승인 완료(정상 결제).
실패 FAILED 토스가 거절했거나 통신 오류. 실패 코드·메시지가 함께 기록됩니다.
취소 CANCELED 승인 후 전액 환불 처리되어 종료된 상태.
💡

참고: 일반결제를 일부만 환불하면 상태는 완료를 유지한 채 부분취소 배지가 함께 표시됩니다. 남은 금액을 모두 환불해야 취소로 바뀝니다.

종류

의미
구독(SUBSCRIPTION) 구독에 묶인 정기(자동) 결제
일반(ONE_OFF) 구독과 무관한 단건 즉시 결제

유형(회차) — 구독 결제의 회차를 구분합니다(일반결제는 항상 ONE_OFF).

의미
FIRST 최초 결제(첫 구독 시 할인 적용 대상)
RENEWAL 정기 자동 갱신 결제
RETRY 결제 실패(미납) 상태에서 재시도한 결제
ONE_OFF 단건(구독 무관) 결제

6.1.2 매출전표(영수증) 보기

결제 목록의 맨 오른쪽 열에는 각 결제의 매출전표(카드 영수증) 링크가 있습니다.

결제 목록의 '매출전표' 열
결제 목록 맨 오른쪽의 '매출전표' 열 — 카드 결제(완료) 건에 링크가 보입니다

매출전표(파란 글씨) 링크를 누르면, 그 결제의 매출전표(카드 영수증)가 새 탭으로 열립니다. 토스페이먼츠가 호스팅하는 페이지이며, 결제 일시·카드사·승인번호·금액 등이 담겨 있어 인쇄하거나 PDF로 저장할 수 있습니다.

💡

참고: 매출전표 화면의 주문번호에는 토스가 상점 구분용 접두어(예: 19e341_)를 붙여 표시합니다. 우리 시스템·토스 상점 콘솔의 주문번호에는 없는 값이니, 전표의 주문번호로 검색할 때는 _ 뒤 부분(= 토스 주문번호)을 복사해 결제 목록 검색창에 붙여넣으세요.

매출전표 클릭 시 열리는 토스 영수증 화면
'매출전표'를 누르면 새 탭에 열리는 토스 매출전표(카드 영수증) 화면

언제 보이고 안 보이는지는 다음과 같습니다.

상태 매출전표 칸 이유
카드결제 완료(DONE) 매출전표 링크 승인 시 토스 응답에 영수증 URL이 담겨 저장됨
실패(FAILED)·대기(PENDING) - 승인이 안 됐으므로 영수증이 없음
과거 일부 완료 건 - 영수증 URL이 저장되지 않았던 예전 결제
💡

참고: 매출전표 링크는 승인 시점에 토스가 내려준 영수증 주소를 그대로 저장해 띄우는 것입니다(서버가 새로 만들지 않음). 따라서 카드 결제 완료 건에만 나타나고, 가상계좌 등 영수증이 없는 수단이나 미승인 건에는 -로 표시됩니다.

주의: 토스 테스트 환경에서는 매출전표가 실제로 발행되지 않아 링크가 -로 보이거나 빈 페이지가 열릴 수 있습니다. 실제 매출전표는 운영(라이브) 결제에서 확인됩니다.


6.2 결제 상세 화면

결제 상세·환불 화면
결제 상세·환불 화면

목록에서 주문번호를 누르면 결제 1건의 상세가 열립니다. 다음 정보를 한눈에 볼 수 있습니다.

  • 주문번호, 토스 주문번호(토스 상점 콘솔의 주문번호와 동일 — 구독 결제처럼 같은 값이면 "주문번호와 동일"로 표시), 상품명, 종류·유형
  • 서비스, 사용자(external_user_id)
  • 결제 카드 — 실제 결제에 쓰인 카드 번호를 우선 표시하고, 없으면 현재 보관함 카드로 대체합니다. 옆의 [카드 상세] 링크로 카드 화면으로 이동할 수 있습니다.
  • 금액, 상태(부분취소 시 배지 함께 표시)
  • 실패 코드·메시지(실패한 경우)
  • 요청 시각, 승인 시각, 토스 결제키(paymentKey — 토스가 결제 1건마다 부여하는 고유 번호)
  • 연결된 구독(구독 결제인 경우)

화면 아래에는 원본 응답 카드가 있어, 토스페이먼츠가 돌려준 응답(JSON)을 그대로 펼쳐 볼 수 있습니다. 카드 정보·영수증 URL 등 사후 확인·문의 대응에 쓰입니다.

일반결제이고 환불 가능한 금액이 남아 있으면, 이 화면 아래에 결제 취소 카드가 나타납니다. 취소·환불 내역 카드는 취소(환불) 이력이 있는 결제라면 종류와 무관하게 나타납니다(구독 결제의 요금제 변경 환불 포함).

💡

참고: 결제 취소(환불) 버튼은 일반결제(단건)에만 나타납니다. 구독 결제 상세에는 취소 버튼이 없습니다.


6.3 결제 취소(환불)하기 — 관리자

일반결제의 상세 화면에서 전액 취소부분 취소를 모두 할 수 있습니다. 관리자 취소는 수수료가 붙지 않아, 입력한 금액이 그대로 고객에게 환불됩니다.

⚠️

중요: 관리자 취소는 여러 번 나눠서(누적) 할 수 있습니다. 예를 들어 10,000원 결제에서 3,000원을 먼저 환불하고, 나중에 2,000원을 더 환불하는 식입니다. 남은 환불 가능 금액이 0이 될 때까지 계속 취소할 수 있습니다.

⚠️ 고객이 먼저 취소해 수수료가 떼인 결제라면, 그 수수료만큼은 관리자도 환불할 수 없습니다. 수수료는 고객에게 돌려주는 돈이 아니라 서비스가 보유하는 금액이기 때문입니다.

예) 10,000원 결제 · 취소 수수료 10%에서 고객이 5,000원을 취소한 경우 — 고객은 4,500원을 환불받고 수수료 500원은 서비스가 가집니다. 관리자의 남은 환불 가능액은 5,000원입니다(= 10,000 − 4,500(환불) − 500(수수료)). 5,500원이 아닙니다. 결제대행사(토스)에는 수수료 500원이 취소되지 않은 채 남아 서비스 매출로 정산됩니다.

이 계산 근거는 결제 취소 카드에 안내 문구로 함께 표시되므로, 화면에서 바로 확인할 수 있습니다.

🔒 관리자가 한 번 취소하면, 그 결제는 이후 고객(외부 서비스)이 직접 취소할 수 없습니다. 잔여 금액이 남아 있어도 마찬가지이며, 남은 금액은 관리자만 취소할 수 있습니다. 고객 응대나 수동 조정이 진행 중인 결제에 서비스의 자동 취소가 겹쳐 이중환불·정산 혼선이 생기는 것을 막기 위한 규칙입니다.

고객 화면에서는 취소 버튼이 비활성으로 표시되고 "고객센터로 문의해주세요" 안내가 뜹니다(연동 서비스가 cancel_blocked_reason 값을 사용). 고객이 취소를 문의해 오면 이 화면에서 관리자가 대신 처리하면 됩니다.

예) 고객이 3,000원 부분취소 → 관리자가 2,000원 부분취소 → 이후 고객은 남은 5,000원을 직접 취소할 수 없고, 관리자만 취소할 수 있습니다.

6.3.1 전액 취소

  1. 결제 상세에서 결제 취소 카드를 찾습니다.
  2. 금액·비율 칸을 모두 비워둔 채 [취소 실행]을 누릅니다. "전액 N원 환불"이라고 미리 보입니다.
  3. 확인 창에서 승인하면 남은 금액 전부가 환불됩니다.

6.3.2 부분 취소 (금액으로)

  1. 취소 금액(원) 칸에 환불할 금액을 적습니다(예: 3000).
  2. 아래 미리보기에 "3,000원 환불"이라고 표시됩니다.
  3. [취소 실행] → 확인하면 그 금액만 환불됩니다.

6.3.3 부분 취소 (비율로)

  1. 비율(%) 칸에 숫자를 적습니다(예: 30).
  2. 남은 금액의 30%가 자동으로 계산되어 취소 금액에 채워지고 미리보기에 표시됩니다.
  3. [취소 실행] → 확인하면 그 금액이 환불됩니다.
💡

참고: 입력 금액이나 비율로 계산된 금액이 남은 환불 가능 금액을 넘을 수는 없습니다. 넘는 값을 넣으면 오류로 막힙니다. 금액 칸에도 잔여 금액이 상한으로 걸려 있습니다.

취소가 끝나면 상태와 내역이 이렇게 바뀝니다.

상황 결제 상태 표시 의미
일부만 환불 완료 + 부분취소 아직 환불 가능 잔액이 남아 있어 추가 취소 가능
남김없이 전부 환불 취소 더 이상 환불할 금액 없음

취소·환불 내역 카드에는 최초 결제금액, 누적 환불액(빨간색), 남은 환불 가능액, (외부 취소로 떼인) 취소 수수료, 최근 취소 시각이 표시됩니다. 관리자 취소는 수수료가 0이므로 수수료 줄은 외부(고객) 취소 건에서만 보입니다.

그 아래에는 회차별 취소 상세 표가 붙습니다 — 회차, 취소 시각, 환불액(−표시), 수수료, 처리 주체(관리자/서비스/시스템), 사유가 취소 1회마다 한 줄씩 기록되어, 부분취소를 여러 번 한 결제도 "언제 얼마씩 왜" 환불했는지 확인할 수 있습니다. 구독 결제도 요금제 변경 환불 등으로 취소 이력이 있으면 이 카드가 나타납니다. (원장 도입 이전의 취소는 "도입 이전 취소분 합산" 1건으로 표시됩니다.)

결제 상세 — 취소·환불 내역 카드(회차별 표)
결제 상세 「취소·환불 내역」 — 최초 결제금액·누적 환불·잔여 요약 + 회차별 취소 표(부분취소 2회 예시)
💡

참고: 관리자 취소 내역은 누가 취소했는지(관리자 계정) 가 감사 로그에 함께 남습니다.


6.4 외부(고객) 취소와의 차이

같은 일반결제라도, 누가 취소하느냐에 따라 동작이 다릅니다.

구분 관리자 취소(이 화면) 외부 서비스/고객 취소(API)
수수료 없음 — 입력 금액 그대로 환불 수수료율 적용 — 취소하는 금액마다 서비스가 정한 비율만큼 떼고 환불
부분·누적 전액/부분, 여러 번 누적 가능 전액/부분(cancel_amount로 금액 지정) 모두 가능, 여러 번 누적 가능
취소 차단 설정 무시(관리자는 항상 가능) 서비스가 "취소 불가"로 설정하면 막힘
관리자가 손댄 결제 계속 취소 가능 차단 — 관리자가 한 번이라도 취소한 결제는 외부 취소가 거부됨(아래 주의 참고)
🍎

쉽게 말하면 관리자 취소는 "운영자가 직접 손으로, 수수료 없이, 원하는 만큼" 돌려주는 것이고, 외부(고객) 취소는 "서비스가 정한 규칙(수수료·허용 여부)대로" 진행되는 것입니다.

예) 고객이 직접 취소 — 결제 10,000원, 서비스 취소 수수료 10% - 수수료 1,000원(= 취소 금액 × 10% 내림)을 떼고 9,000원이 환불됩니다. - 이때 떼인 1,000원은 취소 수수료(서비스 보유) 항목으로 내역에 표시됩니다. - 부분취소도 같은 방식입니다. 3,000원만 취소하면 수수료 300원을 떼고 2,700원이 환불되고, 남은 금액은 나중에 또 취소할 수 있습니다.

⚠️

주의: 관리자가 한 번이라도 취소(전액·부분)를 실행한 결제는, 이후 고객(외부 API)의 취소 요청이 전액·부분 관계없이 거부됩니다("관리자가 취소 처리한 결제입니다. 고객센터로 문의해주세요"). 같은 돈을 두 번 환불하는 일을 막기 위한 안전장치입니다. 이런 건은 남은 환불도 관리자가 이 화면에서 이어서 처리하세요. (반대로, 고객이 스스로 부분취소한 결제는 남은 한도 안에서 고객이 계속 추가 취소할 수 있습니다.)


6.5 매출·환불에 반영되는 방식

취소(환불)는 대시보드의 매출과 환불 집계에 자동으로 반영됩니다.

  • 부분취소를 하면 그만큼 매출에서 빠집니다(예: 10,000원 결제 중 3,000원 환불 → 매출 7,000원으로 인식).
  • 전액취소든 부분취소든 환불한 금액은 환불 합계에 더해집니다.
  • 외부 API로 결제 내역을 조회하는 고객사 화면에도 실제 환불액과 남은 실수령액이 그대로 전달됩니다.
  • 부분취소를 여러 번 하면 회차마다 취소 이력이 따로 저장됩니다(언제·얼마·누가·왜). 감사 로그와 별개로 취소 전용 이력이 남아 나중에 회차별로 확인할 수 있습니다.
💡

참고: 별도의 정산이나 집계를 손으로 맞출 필요가 없습니다. 취소 실행 즉시 반영됩니다.

중요(환불의 귀속 월): 정산 화면과 대시보드의 환불금액 카드는 "취소가 실행된 날"이 속한 기간에 환불을 잡습니다. 예를 들어 5월에 승인된 결제를 6월에 환불하면, 5월 정산의 매출은 그대로 유지되고 환불은 6월에 나타납니다 — 이미 마감한 지난달 숫자가 소급해서 바뀌지 않습니다. (대시보드의 서비스별 매출 요약 표는 "이번 달 승인된 결제" 기준 스냅샷이라 월이 다를 수 있습니다 — 10. 대시보드 참고.)


6.6 취소가 안 될 때 점검할 것

증상 원인·해결
"결제 취소" 카드가 안 보임 일반결제가 아니거나(구독 결제), 이미 전액 환불되어 남은 금액이 없음
취소 실행 시 "취소할 수 없는 결제입니다" 완료(DONE) 상태가 아닌 결제(대기·실패)는 취소 대상이 아님 — 카드가 보여도 실행 단계에서 거부됩니다
구독 결제를 취소하고 싶음 이 화면에서는 불가. 구독 관리에서 처리
입력 금액이 거부됨 남은 환불 가능 금액보다 큰 값을 넣었는지, 또는 0·음수·숫자가 아닌 값을 넣었는지 확인
"취소 실행" 후 토스 키 관련 오류 안내로 돌아옴 해당 서비스의 토스 결제 키가 설정되지 않음. 서비스 관리에서 토스 키를 등록한 뒤 다시 시도하세요.
"취소 실패: …" 메시지 토스 측 거절(이미 취소됨 등). 상태·환불액은 그대로 보존되며 안전하게 다시 시도할 수 있습니다.
🔗

함께 보기: 결제가 어떻게 만들어지고 자동 갱신되는지는 구독 관리요금제 관리를 참고하세요.