본문으로 건너뛰기
페이싱크 개발자센터
Esc
↑↓이동↵열기⌘J미리보기
이 페이지에서

현금영수증 발급

POST /v1/cash-receipts 로 주문과 관계없이 현금영수증 발급을 요청해요.

POST /v1/cash-receipts

현금영수증 발급을 요청해요. 주문이 결제 완료될 때 자동으로 발급하려면 이 API 대신 주문 생성에서 cashReceipt를 넣으세요.

발급은 현금영수증 발급 대행사(팝빌)를 거쳐 국세청으로 전달돼요. 요청 직후 status는 PENDING이고, 국세청 처리 결과가 오면 ISSUED나 FAILED로 바뀌어요. 결과는 현금영수증 단건 조회로 확인하세요.

요청 본문

필드 타입 필수 설명
type string 예 PERSONAL(소득공제용) 또는 CORPORATE(지출증빙용)예요.
identifier string 예 PERSONAL이면 휴대폰 번호나 현금영수증 카드 번호 숫자 10~18자리, CORPORATE이면 사업자등록번호 숫자 10자리예요. 하이픈과 공백은 빼고 검사해요.
amount integer 예 부가세를 포함한 거래 금액(원)이에요. 1원부터 999,999,999원까지예요.

과세 유형과 품목명은 대시보드 현금영수증 > 발급 설정을 따라요. 과세로 설정했다면 amount를 공급가액과 부가세로 나눠서 신고해요. 부가세는 amount의 11분의 1을 반올림한 값이에요.

팝빌이 발급 요청을 거절하면 POPBILL_API_FAILED가 와요. 거절된 현금영수증은 v1 API에서 보이지 않고, 대시보드 현금영수증에 실패 사유와 함께 남아요. 대시보드나 v2 재발급 API로 다시 발급할 수 있어요.

요청 예시

curl -X POST https://api.paysync.kr/v1/cash-receipts \
  -H "Authorization: Bearer $PAYSYNC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "PERSONAL",
    "identifier": "01012345678",
    "amount": 50000
  }'
const res = await fetch("https://api.paysync.kr/v1/cash-receipts", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.PAYSYNC_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ type: "PERSONAL", identifier: "01012345678", amount: 50000 }),
});
const { code, data } = await res.json();
import os
import requests

res = requests.post(
    "https://api.paysync.kr/v1/cash-receipts",
    headers={"Authorization": f"Bearer {os.environ['PAYSYNC_API_KEY']}"},
    json={"type": "PERSONAL", "identifier": "01012345678", "amount": 50000},
)
print(res.json())

응답

201 CREATED와 함께 현금영수증 객체가 와요.

{
  "code": "CREATED",
  "data": {
    "id": "crt_a1b2c3d4e5f6g7h8i9j0k1l2",
    "status": "PENDING",
    "issuerId": "acc_x9y8z7w6v5u4t3s2r1q0p9o8",
    "corpNum": "1234567890",
    "type": "PERSONAL",
    "identifier": "01012345678",
    "amount": 50000,
    "relatedInvoiceId": null,
    "ntsConfirmNum": "TB0000123",
    "ntsResultCode": null,
    "issuedAt": "2026-04-28T03:14:15.000+00:00",
    "revokedAt": null,
    "deletedAt": null
  }
}

오류

HTTP code 발생 조건
400 BAD_REQUEST JSON 본문을 읽을 수 없거나, 필수 필드가 없거나, type이 PERSONAL, CORPORATE가 아니에요.
401 NOT_AUTHORIZED API 키가 없거나 올바르지 않아요.
403 INSUFFICIENT_PERMISSIONS 읽기 전용 API 키예요.
404 BUSINESS_INFO_NOT_REGISTERED 사업자 정보를 등록하지 않았어요.
422 INVALID_CASH_RECEIPT_IDENTIFIER identifier가 type에 맞는 형식이 아니에요.
422 INVALID_CASH_RECEIPT_AMOUNT amount가 1원부터 999,999,999원 사이가 아니에요.
500 POPBILL_API_FAILED 팝빌이 발급 요청을 거절했거나 팝빌 호출이 실패했어요. 대시보드에서 실패 사유를 확인하세요.

이 페이지가 도움이 되었나요?