매입 (Capture)
매입이란 카드사로부터 승인(Authorization)받은 거래 내역을 "실제로 청구하겠습니다"라고 확정 지어 카드사에 전송하는 행위를 말합니다.
쉽게 말해, 승인이 카드 한도를 요청한 금액만큼 카드 한도를 차감하거나(신용카드), 결제 금액을 카드사가 확보(체크카드)하는 단계라면, 매입은 실제 '매출을 확정' 짓고 돈을 달라고 요청하는 단계입니다. 매입이 이루어지지 않으면 가맹점에 대금이 정산되지 않습니다.
⚙️ 매입 방식의 구분 (중요)
개발 시 상점의 비즈니스 모델에 따라 매입 방식을 선택해야 합니다.
| 구분 | 자동 매입 (Automatic) | 수동 매입 (Manual) |
|---|---|---|
| 설명 | 결제 승인과 동시에 PG사가 즉시 매입 요청을 보냅니다. | 결제 승인만 받아두고, 추후(배송 시점 등)에 별도 API로 매입을 요청합니다. |
| 대상 | 일반 쇼핑몰, 디지털 콘텐츠 | 호텔 예약, 크라우드 펀딩, 예약 발송 상품 |
| 장점 | 정산이 빠르고 연동이 간편함 | 재고 부족 시 결제 취소 수수료 없이 승인 취소 가능 |
| API | 별도 호출 불필요 | /capture API 호출 필수 |
호텔 보증금(Deposit) 예시
호텔 체크인 시 카드를 긁는 것은 승인(Auth) 만 따놓는 것입니다(수동 매입). 체크아웃할 때 실제 이용 금액만큼 확정하는 것이 매입(Capture) 입니다.
🔄 승인 취소 vs 매입 취소
개발자가 가장 많이 헷갈리는 '취소'의 개념도 매입 여부에 따라 용어가 다릅니다.
- 승인 취소 (Void): 매입이 일어나기 전(당일 취소 등)에 승인 내역 자체를 없애는 것. 카드 명세서에 아예 남지 않거나 금방 사라짐.
- 매입 취소 (Refund): 이미 매입이 넘어가서 카드사가 청구 작업을 시작한 후 취소하는 것. 환불 처리되는 데 3~5영업일이 소요됨.
💻 개발 체크포인트
1. 매입 유예 기간 (Expiration)
수동 매입을 사용할 경우, 승인 후 일정 기간(보통 7일~30일, 카드사별 상이) 내에 매입을 요청하지 않으면 승인이 자동 취소됩니다.
- Tip: 배송이 늦어지는 예약 상품의 경우, 이 기간을 고려하여 '재승인' 로직을 짜거나 PG사와 협의하여 유예 기간을 늘려야 합니다.
2. 부분 매입 (Partial Capture)
고객이 10만 원을 승인받았는데, 실제 물건이 7만 원어치만 출고되는 경우 7만 원만 부분 매입할 수 있는 기능입니다.
- 모든 카드사가 지원하지 않으므로, 기획 단계에서 PG사에 지원 여부를 확인해야 합니다.