---
title: 현금영수증 발급
description: POST /v1/cash-receipts 로 주문과 관계없이 현금영수증 발급을 요청해요.
sidebar:
  order: 1
  badge: POST
---

```http
POST /v1/cash-receipts
```

현금영수증 발급을 요청해요. 주문이 결제 완료될 때 자동으로 발급하려면 이 API 대신 [주문 생성](/api-reference/invoices/issue)에서 `cashReceipt`를 넣으세요.

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

:::note
먼저 대시보드 **현금영수증** 메뉴에서 사업자 정보를 등록해야 해요. 등록하지 않으면 `BUSINESS_INFO_NOT_REGISTERED`가 와요.
:::

## 요청 본문

| 필드 | 타입 | 필수 | 설명 |
| --- | --- | --- | --- |
| `type` | string | 예 | `PERSONAL`(소득공제용) 또는 `CORPORATE`(지출증빙용)예요. |
| `identifier` | string | 예 | `PERSONAL`이면 휴대폰 번호 숫자 10~11자리, `CORPORATE`이면 사업자등록번호 숫자 10자리예요. 하이픈 없이 입력해요. |
| `amount` | integer | 예 | 부가세를 포함한 거래 금액(원)이에요. 0보다 커야 해요. |

페이싱크는 `amount`를 과세 거래로 보고 공급가액과 부가세(10%)를 나눠서 신고해요.

## 요청 예시

```bash cURL
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
  }'
```

```js Node.js
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();
```

```python Python
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`와 함께 [현금영수증 객체](/api-reference/cash-receipts/get#현금영수증-객체)가 와요.

```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.926Z",
    "revokedAt": null,
    "deletedAt": null
  }
}
```

## 오류

| HTTP | `code` | 발생 조건 |
| --- | --- | --- |
| 401 | `NOT_AUTHORIZED` | API 키가 없거나 올바르지 않아요. |
| 404 | `BUSINESS_INFO_NOT_REGISTERED` | 사업자 정보를 등록하지 않았어요. |
| 422 | `INVALID_CASH_RECEIPT_IDENTIFIER` | `identifier`가 `type`에 맞는 형식이 아니에요. |
| 422 | `INVALID_CASH_RECEIPT_AMOUNT` | `amount`가 0 이하예요. |
| 500 | `POPBILL_API_FAILED` | 팝빌 호출이 실패했어요. 잠시 뒤 다시 시도하세요. |
