# 현금영수증 관련 API

{% hint style="warning" %}
**Deprecated**

이 문서는 더 이상 관리되지 않습니다.

[PortOne 개발자센터](https://developers.portone.io/)를 이용해주세요.
{% endhint %}

## ⌨ 현금영수증 조회

## 현금영수증 조회

<mark style="color:blue;">`GET`</mark> `https://api.portone.io/v2/payments/{payment_id}/cash-receipt`

#### Path Parameters

| Name                                          | Type   | Description |
| --------------------------------------------- | ------ | ----------- |
| payment\_id<mark style="color:red;">\*</mark> | string | 결제 ID       |

#### Query Parameters

| Name      | Type   | Description                                                |
| --------- | ------ | ---------------------------------------------------------- |
| store\_id | string | 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. |

{% tabs %}
{% tab title="200 200 응답" %}
{% tabs %}
{% tab title="Response" %}
**`receipt`** <mark style="color:red;">**\***</mark> <mark style="color:red;">**object**</mark>

현금영수증 정보

<details>

<summary>CashReceiptDetail</summary>

**`pg_receipt_id`** <mark style="color:green;">**string**</mark>

PG사 현금영수증 발급 ID

***

**`issue_number`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

현금영수증 승인번호

***

**`type`** <mark style="color:green;">**CashReceiptType**</mark>

`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"`

***

**`amount`** <mark style="color:red;">**\***</mark> <mark style="color:blue;">**integer**</mark>

금액

***

**`tax_free_amount`** <mark style="color:blue;">**integer**</mark>

면세금액

***

**`status`** <mark style="color:green;">**CashReceiptStatus**</mark>

`"ISSUED"`, `"CANCELLED"`

***

**`issued_at`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

발급일시

***

**`cancelled_at`** <mark style="color:green;">**string**</mark>

취소일시 (`status`가 `CANCELLED`인 경우 제공)

***

**`receipt_url`** <mark style="color:green;">**string**</mark>

영수증 url

***

**`merchant_id`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

가맹점 ID

***

**`store_id`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

하위 상점 ID

***

**`payment_id`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

결제 ID

***

**`order_name`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

주문명

***

**`is_manual`** <mark style="color:red;">**\***</mark> <mark style="color:orange;">**boolean**</mark>

수동발급 여부

***

**`currency`** <mark style="color:green;">**Currency**</mark>

통화

`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"`

***

**`channel`** <mark style="color:red;">**Channel**</mark>

결제 채널 정보

***

</details>

***

{% endtab %}

{% tab title="Channel" %}
**`id`** <mark style="color:green;">**string**</mark>

채널 ID

***

**`name`** <mark style="color:green;">**string**</mark>

채널 이름

***

**`type`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**ChannelType**</mark>

채널 유형

`"LIVE"`, `"TEST"`

***

**`pg_provider`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**PgProvider**</mark>

결제대행사(PG사)

`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"`

***

**`pg_merchant_id`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

PG사에 등록된 가맹점 ID

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="401 인증 실패" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`"UNAUTHORIZED"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 세부사항

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="404 리소스를 찾을 수 없음" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`"PAYMENT_NOT_FOUND"`, `"CASH_RECEIPT_NOT_FOUND"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 세부사항

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="500 내부 서버 오류" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`"PORTONE_ERROR"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 세부사항

***

{% endtab %}
{% endtabs %}
{% endtab %}
{% endtabs %}

## ⌨ 현금영수증 발급

## 현금영수증 발급

<mark style="color:green;">`POST`</mark> `https://api.portone.io/v2/payments/{payment_id}/cash-receipt`

결제 건에 대한 수동 현금영수증 발급

#### Path Parameters

| Name                                          | Type   | Description |
| --------------------------------------------- | ------ | ----------- |
| payment\_id<mark style="color:red;">\*</mark> | string |             |

#### Request Body

| Name                                                   | Type            | Description                                                               |
| ------------------------------------------------------ | --------------- | ------------------------------------------------------------------------- |
| store\_id                                              | string          |                                                                           |
| channel\_name<mark style="color:red;">\*</mark>        | string          |                                                                           |
| customer\_identifier<mark style="color:red;">\*</mark> | string          |                                                                           |
| type<mark style="color:red;">\*</mark>                 | CashReceiptType | 현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스 |
| order\_name<mark style="color:red;">\*</mark>          | string          |                                                                           |
| currency<mark style="color:red;">\*</mark>             | Currency        | 화폐                                                                        |
| amount<mark style="color:red;">\*</mark>               | number          |                                                                           |
| tax\_free\_amount                                      | number          | <p>면세 금액 (기본값:</p><p><code>"0")</code></p>                                |
| product\_type                                          | ProductType     | 상품 유형                                                                     |
| customer\_name                                         | string          | 고객 성명                                                                     |
| customer\_email                                        | string          | 고객 이메일                                                                    |

{% tabs %}
{% tab title="200 현금영수증 발급 성공" %}
{% tabs %}
{% tab title="Response" %}
**`receipt_id`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

현금영수증 ID

***

**`pg_tx_id`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

PG사 거래ID

***

**`issue_number`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

***

**`receipt_url`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="400 잘못된 요청" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\
`CASH_RECEIPT_ALREADY_ISSUED`: 이미 발급된 현금영수증입니다.\\

`"INVALID_REQUEST"`, `"CASH_RECEIPT_ALREADY_ISSUED"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 상세 정보를 담은 파라미터 모음

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="401 인증 실패" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\

`"UNAUTHORIZED"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 상세 정보를 담은 파라미터 모음

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="403 권한 없음" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\\

`"PERMISSION_DENIED"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 상세 정보를 담은 파라미터 모음

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="404 하위 상점이나 결제 채널을 찾을 수 없습니다." %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\
`CHANNEL_NOT_FOUND`: 결제 채널을 찾을 수 없습니다.\\

`"STORE_NOT_FOUND"`, `"CHANNEL_NOT_FOUND"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 상세 정보를 담은 파라미터 모음

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="500 내부 서버 에러" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 상세 정보를 담은 파라미터 모음

***

{% endtab %}
{% endtabs %}
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="CashReceiptType" %}
현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스

`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"`
{% endtab %}

{% tab title="Currency" %}
화폐

`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"`
{% endtab %}

{% tab title="ProductType" %}
상품 유형

`"REAL"`, `"DIGITAL"`
{% endtab %}
{% endtabs %}

## ⌨ 현금영수증 발급 취소

## 현금영수증 발급 취소

<mark style="color:red;">`DELETE`</mark> `https://api.portone.io/v2/payments/{payment_id}/cash-receipt`

#### Path Parameters

| Name                                          | Type   | Description |
| --------------------------------------------- | ------ | ----------- |
| payment\_id<mark style="color:red;">\*</mark> | string | 결제 ID       |

#### Query Parameters

| Name      | Type   | Description                                                |
| --------- | ------ | ---------------------------------------------------------- |
| store\_id | string | 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. |

{% tabs %}
{% tab title="200 200 응답" %}
{% tabs %}
{% tab title="Response" %}
**`cancelled_amount`** <mark style="color:red;">**\***</mark> <mark style="color:blue;">**integer**</mark>

현금영수증 취소 금액

***

**`cancelled_at`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

현금영수증 취소 시각

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="400 400 에러 응답" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`"INVALID_REQUEST"`, `"CASH_RECEIPT_NOT_ISSUED"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 세부사항

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="401 인증 실패" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`"UNAUTHORIZED"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 세부사항

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="404 리소스를 찾을 수 없음" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`"PAYMENT_NOT_FOUND"`, `"CASH_RECEIPT_NOT_FOUND"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 세부사항

***

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="500 내부 서버 오류" %}
{% tabs %}
{% tab title="Response" %}
**`code`** <mark style="color:red;">**\***</mark> <mark style="color:green;">**string**</mark>

`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"`

***

**`params`** <mark style="color:red;">**object**</mark>

에러 세부사항

***

{% endtab %}
{% endtabs %}
{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://portone.gitbook.io/docs/api-v2/cash_receipt.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
