콘텐츠로 이동

발행

1. RegistIssue - 승인 현금영수증 발행

섹션 제목: “1. RegistIssue - 승인 현금영수증 발행”
POST https://popbill-test.linkhub.co.kr/Cashbill

현금영수증 자진발급분은 소득공제 용도로만 발행 가능합니다. (자진발급 번호 : 010-000-1234)
현금영수증 발행시 구매자 메일주소로 발행 안내 메일이 전송되니 유의하시기 바랍니다.

Request

요청 헤더
순번 변수명 필수 설명
1AuthorizationY
2Content-TypeY
요청 본문 형식
  • application/json
3Accept-LanguageN
응답 언어 설정
  • ko-KR 기본값
  • en-US
4Accept-EncodingN
응답 압축 방식
  • gzip
5X-HTTP-Method-OverrideY
요청 메서드 재정의
  • ISSUE
6X-PB-UserIDN
팝빌회원 아이디
요청 본문
순번 변수명 타입 길이 필수 설명
1mgtKeystring24Y
문서번호
문서 관리를 위해 파트너가 할당하는 식별번호
영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능
2tradeDTstring14N
거래일시
전일부터 당일까지 입력 가능
형식 : yyyyMMddHHmmss
기본값 : 발행일시 사용
3tradeTypestring4Y
문서형태
  • 승인거래
4tradeUsagestring-Y
거래구분 (택 1)
  • 소득공제용
  • 지출증빙용
5tradeOptstring4N
거래유형
  • 일반 기본값
  • 도서공연
  • 대중교통
도서공연 : 도서, 공연, 박물관, 미술관, 수영장, 체력단련장, 신문구독료(종이신문), 영화관람료
6taxationTypestring-Y
과세형태 (택 1)
  • 과세
  • 비과세
7totalAmountstring9Y
거래금액 (공급가액+부가세+봉사료)
양수만 입력
8supplyCoststring9Y
공급가액
양수만 입력
9taxstring9Y
부가세
양수 또는 0 입력
10serviceFeestring9Y
봉사료
양수 또는 0 입력
11franchiseCorpNumstring10Y
가맹점 사업자번호
팝빌회원 사업자번호 ('-' 제외)
12franchiseTaxRegIDstring4N
가맹점 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
13franchiseCorpNamestring200N
가맹점 상호
14franchiseCEONamestring100N
가맹점 대표자 성명
15franchiseAddrstring400N
가맹점 주소
16franchiseTELstring20N
가맹점 전화번호
17identityNumstring19Y
식별번호
{tradeUsage} 값이 "소득공제용" 경우 주민등록/휴대폰/카드번호/자진발급용 번호(010-000-1234) 입력
{tradeUsage} 값이 "지출증빙용" 경우 사업자번호/휴대폰/카드번호 입력
주민등록번호 13자리, 휴대폰번호 10~11자리, 카드번호 13~19자리, 사업자번호 10자리 입력 가능
18customerNamestring70N
구매자(고객) 성명
19itemNamestring70N
주문 상품명
20orderNumberstring200N
주문번호
21emailstring100N
구매자(고객) 메일
22hpstring20N
구매자(고객) 휴대폰
23smssendYNboolean-N
구매자 알림문자 전송 여부
  • true 전송
  • false 미전송 : 기본값
수신자 : 구매자 휴대폰번호 {hp}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
24memostring200N
현금영수증 상태 이력을 관리하기 위한 메모
25emailSubjectstring300N
현금영수증 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목
요청 예시
curl --request POST \
--url 'https://{domain}/Cashbill' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--header 'X-HTTP-Method-Override: ISSUE' \
--data '{
"mgtKey": "TEST0001",
"tradeType": "승인거래",
"tradeUsage": "지출증빙용",
"taxationType": "과세",
"totalAmount": "11000",
"supplyCost": "10000",
"tax": "1000",
"serviceFee": "0",
"franchiseCorpNum": "1234567890",
"identityNum": "1234567890"
}'

Response

응답 본문
순번 변수명 타입 길이 설명
1codenumber-
API 처리에 대한 응답코드
  • 1 성공
2messagestring-
API 처리에 대한 응답메시지
3confirmNumstring9
국세청승인번호
현금영수증 발행 시점에 팝빌에서 자동으로 할당
4tradeDatestring8
거래일자
현금영수증 발행 시점에 팝빌에서 자동으로 할당
형식 : yyyyMMdd
응답 예시
{
"code": 1,
"message": "발행 완료",
"confirmNum": "TB0000032",
"tradeDate": "20251023"
}

2. RevokeRegistIssue - 취소 현금영수증 발행

섹션 제목: “2. RevokeRegistIssue - 취소 현금영수증 발행”
POST https://popbill-test.linkhub.co.kr/Cashbill
  • 당초 승인 현금영수증의 취소거래 발행 API 입니다.
  • 작성된 취소 현금영수증 데이터를 팝빌에 저장과 동시에 발행하여 “발행완료” 상태로 처리합니다. [참고] 팝빌 국세청 전송 정책
  • 부분 취소 현금영수증을 발행하는 경우 isPartCancel 값을 true 로 설정하여 주시기 바랍니다.
  • 당초 국세청승인번호와 거래일자는 [GetInfo – 상태확인]함수를 통해 확인 가능합니다.

당초 승인 현금영수증의 거래일시보다 과거의 거래일시를 입력할 수 없습니다.
취소 현금영수증의 거래금액의 합은 당초 승인 현금영수증의 거래금액을 넘을 수 없습니다.
취소 현금영수증 발행시 구매자 메일주소로 발행 안내 메일이 전송되니 유의하시기 바랍니다.

Request

요청 헤더
순번 변수명 필수 설명
1AuthorizationY
2Content-TypeY
요청 본문 형식
  • application/json
3Accept-LanguageN
응답 언어 설정
  • ko-KR 기본값
  • en-US
4Accept-EncodingN
응답 압축 방식
  • gzip
5X-HTTP-Method-OverrideY
요청 메서드 재정의
  • REVOKEISSUE
6X-PB-UserIDN
팝빌회원 아이디
요청 본문
순번 변수명 타입 길이 필수 설명
1mgtKeystring24Y
파트너가 할당한 문서번호
영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능
2orgConfirmNumstring9Y
당초 국세청승인번호
[GetInfo - 상태 확인] API의 리턴값 confirmNum을 통해 내용 확인 가능
3orgTradeDatestring8Y
당초 거래일자
[GetInfo - 상태 확인] API의 리턴값 tradeDate를 통해 내용 확인 가능
4smssendYNboolean-N
현금영수증 발행시 알림문자 전송 여부
  • true 전송
  • false 미전송 : 기본값
당초 승인 현금영수증의 구매자(고객)의 휴대폰번호 문자 전송
5memostring200N
현금영수증 상태 이력을 관리하기 위한 메모
6isPartCancelboolean-N
현금영수증 취소유형
  • true 부분 취소
  • false 전체 취소 : 기본값
7cancelTypenumber1N
현금영수증 취소사유
  • 1 거래취소 : 기본값
  • 2 오류발급취소
  • 3 기타
8supplyCoststring9조건부
부분 취소 공급가액
양수만 입력
9taxstring9조건부
부분 취소 부가세
양수 또는 0 입력
10serviceFeestring9조건부
부분 취소 봉사료
양수 또는 0 입력
11totalAmountstring9조건부
부분 취소 거래금액
양수만 입력
거래금액 = 공급가액 + 부가세 + 봉사료
12emailSubjectstring300N
현금영수증 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목
13tradeDTstring14N
거래일시
전일부터 당일까지 입력 가능
형식 : yyyyMMddHHmmss
기본값 : 발행일시 사용
요청 예시
curl --request POST \
--url 'https://{domain}/Cashbill' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--header 'X-HTTP-Method-Override: REVOKEISSUE' \
--data '{
"mgtKey": "TEST0002",
"orgConfirmNum": "TB0000032",
"orgTradeDate": "20251023"
}'

Response

응답 본문
순번 변수명 타입 길이 설명
1codenumber-
API 처리에 대한 응답코드
  • 1 성공
2messagestring-
API 처리에 대한 응답메시지
3confirmNumstring9
국세청승인번호
현금영수증 발행 시점에 팝빌에서 자동으로 할당
4tradeDatestring8
거래일자
현금영수증 발행 시점에 팝빌에서 자동으로 할당
형식 : yyyyMMdd
응답 예시
{
"code": 1,
"message": "발행 완료",
"confirmNum": "TB0000032",
"tradeDate": "20251023"
}
POST https://popbill-test.linkhub.co.kr/Cashbill
  • 최대 100건의 현금영수증 발행을 한번의 요청으로 접수합니다.

현금영수증 자진발급분은 소득공제 용도로만 발행 가능합니다. (자진발급 번호 : 010-000-1234)
현금영수증 발행시 구매자 메일주소로 발행 안내 메일이 전송되니 유의하시기 바랍니다.

Request

요청 헤더
순번 변수명 필수 설명
1AuthorizationY
2Content-TypeY
요청 본문 형식
  • application/json
3Accept-LanguageN
응답 언어 설정
  • ko-KR 기본값
  • en-US
4Accept-EncodingN
응답 압축 방식
  • gzip
5X-PB-Submit-IDY
제출아이디
영문, 숫자, '-' 조합으로 최대 36자 길이로 구성
6X-HTTP-Method-OverrideY
요청 메서드 재정의
  • BULKISSUE
7X-PB-Message-DigestY
Message Digest
요청 본문의 무결성을 검증하는데 사용
8X-PB-UserIDN
팝빌회원 아이디
요청 본문
순번 변수명 타입 길이 필수 설명
1array-Y
현금영수증 목록
최대 : 100건
cashbills
순번변수명타입길이필수설명
1mgtKeystring24Y
문서번호
문서 관리를 위해 파트너가 할당하는 식별번호
영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능
2tradeDTstring14N
거래일시
전일부터 당일까지 입력 가능
형식 : yyyyMMddHHmmss
기본값 : 발행일시 사용
3tradeTypestring4Y
문서형태
  • 승인거래
4tradeUsagestring-Y
거래구분 (택 1)
  • 소득공제용
  • 지출증빙용
5tradeOptstring4N
거래유형
  • 일반 기본값
  • 도서공연
  • 대중교통
도서공연 : 도서, 공연, 박물관, 미술관, 수영장, 체력단련장, 신문구독료(종이신문), 영화관람료
6taxationTypestring-Y
과세형태 (택 1)
  • 과세
  • 비과세
7totalAmountstring9Y
거래금액 (공급가액+부가세+봉사료)
양수만 입력
8supplyCoststring9Y
공급가액
양수만 입력
9taxstring9Y
부가세
양수 또는 0 입력
10serviceFeestring9Y
봉사료
양수 또는 0 입력
11franchiseCorpNumstring10Y
가맹점 사업자번호
팝빌회원 사업자번호 ('-' 제외)
12franchiseTaxRegIDstring4N
가맹점 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
13franchiseCorpNamestring200N
가맹점 상호
14franchiseCEONamestring100N
가맹점 대표자 성명
15franchiseAddrstring400N
가맹점 주소
16franchiseTELstring20N
가맹점 전화번호
17identityNumstring19Y
식별번호
{tradeUsage} 값이 "소득공제용" 경우 주민등록/휴대폰/카드번호/자진발급용 번호(010-000-1234) 입력
{tradeUsage} 값이 "지출증빙용" 경우 사업자번호/휴대폰/카드번호 입력
주민등록번호 13자리, 휴대폰번호 10~11자리, 카드번호 13~19자리, 사업자번호 10자리 입력 가능
18customerNamestring70N
구매자(고객) 성명
19itemNamestring70N
주문 상품명
20orderNumberstring200N
주문번호
21emailstring100N
구매자(고객) 메일
22hpstring20N
구매자(고객) 휴대폰
23smssendYNboolean-N
구매자 알림문자 전송 여부
  • true 전송
  • false 미전송 : 기본값
수신자 : 구매자 휴대폰번호 {hp}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
24memostring200N
현금영수증 상태 이력을 관리하기 위한 메모
25emailSubjectstring300N
현금영수증 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목
요청 예시
curl --request POST \
--url 'https://{domain}/Cashbill' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--header 'X-HTTP-Method-Override: BULKISSUE' \
--header 'X-PB-Submit-ID: {submitID}' \
--header 'X-PB-Message-Digest: {messageDigest}' \
--data '{
"cashbills": [
{
"mgtKey": "TEST0004",
"tradeType": "승인거래",
"tradeUsage": "지출증빙용",
"taxationType": "과세",
"totalAmount": "11000",
"supplyCost": "10000",
"tax": "1000",
"serviceFee": "0",
"franchiseCorpNum": "1234567890",
"identityNum": "1234567890"
}
]
}'

Response

응답 본문
순번 변수명 타입 길이 설명
1codenumber-
API 처리에 대한 응답코드
  • 1 성공
2messagestring-
API 처리에 대한 응답메시지
3receiptIDstring36
접수아이디
응답 예시
{
"code": 1,
"message": "접수 완료",
"receiptID": "0251024-f842ed73b6004518bf5bc73c1d9f"
}

4. GetBulkResult - 초대량 접수결과 확인

섹션 제목: “4. GetBulkResult - 초대량 접수결과 확인”
GET https://popbill-test.linkhub.co.kr/Cashbill/BULK/{submitID}/State
  • 접수시 기재한 SubmitID를 사용하여 현금영수증 접수결과를 확인합니다.
  • 개별 현금영수증 처리상태는 접수상태(txState)가 완료(2) 시 반환됩니다.

Request

요청 헤더
순번 변수명 필수 설명
1AuthorizationY
2Accept-LanguageN
응답 언어 설정
  • ko-KR 기본값
  • en-US
3Accept-EncodingN
응답 압축 방식
  • gzip
4X-PB-UserIDN
팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
1submitIDstring36Y
파트너가 할당한 제출아이디
요청 예시
curl --request GET \
--url 'https://{domain}/Cashbill/BULK/{submitID}/State' \
--header 'Authorization: Bearer {token}'

Response

응답 본문
순번 변수명 타입 길이 설명
1codenumber-
API 처리에 대한 응답코드
  • 1 성공
2messagestring-
API 처리에 대한 응답메시지
3submitIDstring36
접수 시점에 고객사에서 할당한 제출아이디
4submitCountnumber-
현금영수증 접수 건수
5successCountnumber-
현금영수증 발행 성공 건수
6failCountnumber-
현금영수증 발행 실패 건수
7txStatenumber1
접수상태
  • 0 접수
  • 1 처리중
  • 2 처리완료
8txResultCodenumber-
접수 결과코드
성공 : 1
실패 : 음의 정수 8자리 숫자값 [참고] 오류코드
9txStartDTstring14
발행처리 시작일시
형식 : yyyyMMddHHmmss
10txEndDTstring14
발행처리 완료일시
형식 : yyyyMMddHHmmss
11receiptIDstring36
접수아이디
접수 시점에 팝빌에서 자동으로 할당
12array-
발행결과
issueResult
순번변수명타입길이설명
1codenumber-
API 처리에 대한 응답코드
  • 1 성공
2messagestring-
API 처리에 대한 응답메시지
3mgtKeystring24
문서번호
4confirmNumstring9
국세청승인번호
현금영수증 발행 시점에 팝빌에서 자동으로 할당
5tradeDatestring8
거래일자
현금영수증 발행 시점에 팝빌에서 자동으로 할당
{tradeDT}의 yyyyMMdd
6issueDTstring14
발행일시
형식 : yyyyMMddHHmmss
13receiptDTstring14
접수일시
형식 : yyyyMMddHHmmss
응답 예시
{
"code": 1,
"message": "확인 완료",
"receiptID": "0251024-bf8026eae6d64e44854593e5fa82",
"submitID": "20251024-JAVA3",
"submitCount": 5,
"successCount": 5,
"failCount": 0,
"txState": 2,
"txStartDT": "20251024140659",
"txEndDT": "20251024140700",
"txResultCode": 1,
"issueResult": [
{
"mgtKey": "20251024-0",
"code": 1,
"confirmNum": "TB0000048",
"tradeDate": "20251024",
"issueDT": "20251024140659"
}
],
"receiptDT": "20251024140659"
}
POST https://popbill-test.linkhub.co.kr/Cashbill/{MgtKey}
  • 삭제 가능한 상태의 현금영수증을 삭제합니다.
    ※ 삭제 가능한 상태: “전송실패”

삭제 처리된 현금영수증의 문서번호는 재사용이 가능합니다.

Request

요청 헤더
순번 변수명 필수 설명
1AuthorizationY
2Accept-LanguageN
응답 언어 설정
  • ko-KR 기본값
  • en-US
3Accept-EncodingN
응답 압축 방식
  • gzip
4X-HTTP-Method-OverrideY
요청 메서드 재정의
  • DELETE
5X-PB-UserIDN
팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
1MgtKeystring24Y
파트너가 할당한 문서번호
요청 예시
curl --request POST \
--url 'https://{domain}/Cashbill/{MgtKey}' \
--header 'Authorization: Bearer {token}' \
--header 'X-HTTP-Method-Override: DELETE'

Response

응답 본문
순번 변수명 타입 길이 설명
1codenumber-
API 처리에 대한 응답코드
  • 1 성공
2messagestring-
API 처리에 대한 응답메시지
응답 예시
{
"code": 1,
"message": "삭제 완료"
}