# 현금영수증 관련 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 %}
