결제할 때 현금영수증 발급을 못한 경우 API를 사용해서 현금영수증을 발급할 수 있습니다. 발급한 내역의 receiptKey
를 가지고 있다면 현금영수증을 취소할 수 있는 API를 사용해서 현금영수증을 취소할 수 있습니다.
API를 사용하기 위해 필요한 키 정보와 인증 방식, 보안에 대한 정보는 API 사용하기에서 자세히 알아보세요.
현금영수증 발급을 신청하지 못한 경우 다시 발급하기 위해 사용합니다. 토스페이먼츠로 결제하지 않은 경우에도 사용할 수 있는 API입니다.
현금영수증 종류는 개인 소득공제용과 사업자 지출증빙용으로 나뉩니다. 소득공제용 현금영수증을 발급받을 때는 발급 번호로 개인 휴대폰 번호나 주민등록번호를 입력하고, 지출증빙용을 발급받는 경우에는 사업자등록번호를 입력하세요. type
항목에 필요한 현금영수증의 종류를 선택하고, 종류에 맞는 발급 번호를 registrationNumber
에 입력합니다.
과세 상품과 면세 상품이 함께 결제된 경우에는 taxFreeAmount
에 면세 상품의 가격을 명시하세요.
요청
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.tosspayments.com/v1/cash-receipts"))
.header("Authorization", "Basic dGVzdF9za196WExrS0V5cE5BcldtbzUwblgzbG1lYXhZRzVSOg==")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("{\"orderId\":\"bOAwTWL6-d_1Ot1B17JyW\",\"orderName\":\"토스 티셔츠 외 2건\",\"amount\":\"10000\",\"type\":\"소득공제\",\"registrationNumber\":\"01012341234\"}"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
현금영수증을 발급한 결제가 취소됐을 때 현금영수증도 취소하기 위해 사용합니다. 현금영수증 발급 API의 응답으로 받았던 receiptKey
를 저장하고 있다가 Path 파라미터로 추가하세요.
부분 취소가 된 경우에는 amount
값에 취소된 금액을 입력해서 사용합니다. amount
값이 없으면 전액 취소됩니다.
취소가 정상적으로 되면 응답에 canceledAt
값이 포함되어 돌아옵니다.
응답
{
"orderId": "2010011111",
"orderName": "테스트 오더",
"type": "소득공제",
"receiptKey": "qKl56WYb7w4vZnjEJeQVxbAdOll6d8PmOoBN0k12dzgRG9px",
"approvalNumber": "159048057",
"approvedAt": "2021-01-01T19:04:26+09:00",
"canceledAt": "2021-01-01T19:34:26+09:00",
"receiptUrl": "https://merchants.tosspayments.com/web/serve/merchant/live_ck_D4yKeq5bgrpeq4KW4NX8GX0lzW6Y/cash-receipt/order/test-20100111160"
}
JSON