# nicepay-manual
**Repository Path**: reus_admin/nicepay-manual
## Basic Information
- **Project Name**: nicepay-manual
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-07
- **Last Updated**: 2025-09-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
๐ NicePay For Startups ๊ฐ๋ฐ์ ๊ฐ์ด๋
### ๊ณตํต
๊ฐ๋ฐ ์ ํ์ํ `๊ณตํต`์ ์ธ ๊ฐ์ด๋ ์
๋๋ค.
[๊ฐ๋ฐ ์ค๋น](common/preparations.md) | [APIยทJS SDK](common/api.md) | [TESTยท์ํ์ฝ๋](common/test.md) | [์ฝ๋์ง](common/code.md) | [๋ ์์๋ณด๊ธฐ](./common)
๐ ๊ฐ๋ฐ์ธ์ด๋ฅผ ํด๋ฆญํ๋ฉด ์์ค์ฝ๋๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
### ๋ฌธ์
`API ๋ช
์ธ`์ `์ฝ๋`๊ฐ ํฌํจ๋ ๊ธฐ์ ๋ฌธ์ ์
๋๋ค.
[๊ฒฐ์ ยท๋ฐ๊ธ](api/payment.md) | [์กฐํ](api/status.md) | [๊ฑฐ๋ยท์ ์ฐยท๋์ฌ](api/reconciliation.md) | [์ทจ์ยทํ๋ถยท๋ง์ทจ์](api/cancel.md) | [์นํ
](api/hook.md) | [APP](api/app.md) | [๋ ์์๋ณด๊ธฐ](./api)
### ์ด์
`์ด์`์ ํ์ํ ์ ๋ณด ์
๋๋ค.
[์ง์ํ๊ฒฝ](management/user.md) | [์ค๋ฅ๊ด๋ฆฌ](/management/user.md#์ค๋ฅ๊ด๋ฆฌ) | [๊ฐ๋ฐ์ ๋ณด](management/admin.md) | [๋ ์์๋ณด๊ธฐ](./management)
## โก Quick guide
### ์์ํ๊ธฐ
๋น ๋ฅธ ๊ฐ๋ฐ์ ์ํ โก Quick guide ์
๋๋ค.
๊ฐ์ด๋์ ๋ฐ๋ผ ์์๋๋ก ์งํํ๋ฉด โฑ๏ธ 10๋ถ ์ ๋์ ์๊ฐ์ผ๋ก TEST๊ฐ๋ฐ์ด ๊ฐ๋ฅ ํฉ๋๋ค.
๐ ์ฌ์ ์ค๋น ์ฌํญ
- [ํ์๊ฐ์
](common/preparations.md#ํ์๊ฐ์
)
- [์๋๋ฐ์ค ์ค๋น](common/test.md#์๋๋ฐ์ค-์ค๋น)
> #### โ ๏ธ ์ค์
> IP ์ ์ฝ์ด ์๋ ๋คํธ์ํฌ ํ๊ฒฝ์์ Test๋ฅผ ์งํํ๋ ๊ฒฝ์ฐ APIํธ์ถ์ ์ํด ๋ฐฉํ๋ฒฝ ์์
์ด ํ์ํ ์ ์์ต๋๋ค.
> ๐ [๋ฐฉํ๋ฒฝ ์ ์ฑ
ํ์ธํ๊ธฐ](common/preparations.md#๋ฐฉํ๋ฒฝ-์ ์ฑ
)
### Over-view
### ์ค๋ช
- ๊ฒฐ์ ์๊ฐ ๋ธ๋ผ์ฐ์ ์์ [JS SDK](/common/api.md#js-sdk-๋ชฉ๋ก)์ Method์ธ `AUTHNICE.requestPay()` ๋ฅผ ํตํด ๐ก ๊ฒฐ์ ์ฐฝ์ ํธ์ถํฉ๋๋ค.
- ์ดํ ๊ฒฐ์ ์๋ ๐ก ๊ฒฐ์ ์ฐฝ์์ ์นด๋์ฌ ๋ฐ ๊ฒฐ์ ์์ฒ์ฌ๋ก ์ ๊ทผํด ์ธ์ฆ์ ์งํํฉ๋๋ค.
- ๋์ด์คํ์ด๋ ๊ฒฐ์ ์์ ์ธ์ฆ๊ฒฐ๊ณผ๋ฅผ `AUTHNICE.requestPay()`์ object value๋ก ์ ๋ฌ๋ `returnUrl`๋ก POST ํฉ๋๋ค.
- ๊ฐ๋งน์ ์ POST ๋ฐ์ดํฐ์ ์๋ณ์กฐ ์ฌ๋ถ๋ฅผ ์ฒดํฌํ๊ณ , ์๋ต๋ tid๋ฅผ ์น์ธ API๋ก ์ ๋ฌํ๋ฉด ๐ณ ๊ฒฐ์ (์น์ธ)์์ฒญ์ด ์๋ฃ๋ฉ๋๋ค.
### ์๋๋ฐ์ค๋ฅผ ํตํ TEST ๊ฐ๋ฐ ์์
- `Server ์น์ธ` / `Basic` ์ธ์ฆ ๊ธฐ์ค์ผ๋ก ๊ฒฐ์ ์ฐฝ TEST ๊ฐ๋ฐํ๋ฆ ์์๋ฅผ ์ค๋ช
ํฉ๋๋ค.
#### JS Include
- `clientId`๋ ๊ฐ๋งน์ ๊ด๋ฆฌ์ TEST์์ ์์ ๋ฐ๊ธํ `ํด๋ผ์ด์ธํธํค`๋ฅผ ์ฌ์ฉ ํฉ๋๋ค.
- ํ
์คํธ์์ (์๋๋ฐ์ค)์์ `clientId`๋ฅผ ๋ฐ๊ธํ๋ฉด ์ฆ์ TEST๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
```bash
javascript
```
```javascript
```
> #### โ ๏ธ ์ค์
> ์๋๋ฐ์ค๋ฅผ ํตํ TEST๊ฐ ์๋ฃ๋์ด ์ด์๊ณ ๋ฐ์์ด ํ์ํ ๊ฒฝ์ฐ ์๋ 2๊ฐ์ง ์ฌํญ์ ์ฃผ์ํด์ฃผ์ธ์.
> 1) JS SDK, API ๋๋ฉ์ธ์ ์ด์๊ณ ๋๋ฉ์ธ์ผ๋ก ๋ณ๊ฒฝ ํฉ๋๋ค.
> 2) clientId, secretKey๋ฅผ ์ด์๊ณ๋ก ๋ณ๊ฒฝ ํฉ๋๋ค.
๊ฒฐ์ ์ฐฝ ์๋ต
- ์นด๋์ฌ ์ธ์ฆ์ ์ฑ๊ณตํ๋ฉด authResultCode๊ฐ `0000`์ผ๋ก ์๋ต ๋ฉ๋๋ค.
```bash
Accept: application/x-www-form-urlencoded
```
```javascript
{
authResultCode: '0000',
authResultMsg: '์ธ์ฆ ์ฑ๊ณต',
tid: 'UT0000113m01012111051714341073',
clientId: 'S2_af4543a0be4d49a98122e01ec2059a56',
orderId: 'c74a5960-830b-4cd8-82a9-fa1ce739a18f',
amount: '1004',
mallReserved: '',
authToken: 'NICEUNTTB06096FF8F653AA366E7EEED1101AAAE',
signature: '99ea68bf15681741e793ece56ab87891b9bdc94cd54abdcb55b2884f4336155a'
}
```
`authResultCode`๊ฐ `0000` ์ผ๋ก ์๋ต๋ ๊ฒฝ์ฐ ๊ฒฐ์ ์ฐฝ์ ํตํ ์ธ์ฆ๊ณผ์ ์ด ์ฑ๊ณต๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ธ์ฆ๊ณผ์ ์ด ์ฑ๊ณตํ ๊ฒฝ์ฐ `tid(๊ฑฐ๋key)๊ฐ`์ ์น์ธ(๊ฒฐ์ ) API๋ก ์ ๋ฌํ์ฌ ๐ณ ๊ฒฐ์ (์น์ธ)์ ์์ฒญ ํ ์ ์์ต๋๋ค.
#### ๊ฒฐ์ (์น์ธ) API ํธ์ถ
```bash
curl -X POST 'https://sandbox-api.nicepay.co.kr/v1/payments/UT0000113m01012111051714341073'
-H 'Content-Type: application/json'
-H 'Authorization: Basic UzJfYWY0NTQzYTBiZTRkNDlhOTgxMjJlMDFlYzIwNTlhNTY6OWViODU2MDcxMDM2NDZkYTlmOWMwMmIxMjhmMmU1ZWU='
-D '{
"amount" : 1004
}'
```
> #### โ ๏ธ ์ค์
> ์๋๋ฐ์ค๋ฅผ ํตํ TEST๊ฐ ์๋ฃ๋๋ฉด ์ด์๊ณ ๋๋ฉ์ธ์ผ๋ก ๋ณ๊ฒฝ ํด์ฃผ์ธ์.
> ์ด์๊ณ ex) api.nicepay.co.kr/v1/payments/UT0000113m01012111051714341073
### Authorization basic credentials ์๊ณ ๋ฆฌ์ฆ
```bash
Base64(`client-key`:`secret-key`)
```
API ํธ์ถ์ ์ํด `Authorization basic credentials` ์์ฑ์ ํด๋ผ์ด์ธํธํค + : + ์ํฌ๋ฆฟํค ๋ฌธ์์ด์ `Base64` ์ธ์ฝ๋ฉํ์ฌ ์์ฑ ํฉ๋๋ค.
```bash
clientKey = 'S2_af4543a0be4d49a98122e01ec2059a56'
secretKey = '9eb85607103646da9f9c02b128f2e5ee'
>> `S2_af4543a0be4d49a98122e01ec2059a56:9eb85607103646da9f9c02b128f2e5ee`
Base64('S2_af4543a0be4d49a98122e01ec2059a56:9eb85607103646da9f9c02b128f2e5ee')
>> `UzJfYWY0NTQzYTBiZTRkNDlhOTgxMjJlMDFlYzIwNTlhNTY6OWViODU2MDcxMDM2NDZkYTlmOWMwMmIxMjhmMmU1ZWU=`
```
์์์ฒ๋ผ ์ต์ข
์์ฑ๋ credentials์ API ํธ์ถ ์ ํ์ฉ ํฉ๋๋ค.
### ๊ฒฐ์ (์น์ธ) ์๋ต ์์
```bash
Content-type: application/json
```
```bash
{
resultCode: '0000',
resultMsg: '์ ์ ์ฒ๋ฆฌ๋์์ต๋๋ค.',
tid: 'UT0000113m01012111051714341073',
cancelledTid: null,
orderId: 'c74a5960-830b-4cd8-82a9-fa1ce739a18f',
ediDate: '2021-11-05T17:14:35.150+0900',
signature: '63b251b31c909eebef1a9f4fcc19e77bdcb8f64fc1066a29670f8627186865cd',
status: 'paid',
paidAt: '2021-11-05T17:14:35.000+0900',
failedAt: '0',
cancelledAt: '0',
payMethod: 'card',
amount: 1004,
balanceAmt: 1004,
goodsName: '๋์ด์คํ์ด-์ํ',
mallReserved: null,
useEscrow: false,
currency: 'KRW',
channel: 'pc',
approveNo: '000000',
buyerName: null,
buyerTel: null,
buyerEmail: null,
receiptUrl: 'https://npg.nicepay.co.kr/issue/IssueLoader.do?type=0&innerWin=Y&TID=UT0000113m01012111051714341073',
mallUserId: null,
issuedCashReceipt: false,
coupon: null,
card: {
// ์๋๋ฐ์ค ์๋ต๊ฒฐ๊ณผ๋ ๋ชจ๋ ์์๊ฐ์
๋๋ค. resultCode๊ฐ 0000 ์ด๋ฉด ์๋ต TEST ์ฑ๊ณต์
๋๋ค.
cardCode: '04',
cardName: '์ผ์ฑ', // (์๋๋ฐ์ค) ์๋ต ๊ฒฐ๊ณผ๋ ์ผ์ฑ์นด๋๋ก ๊ณ ์
cardNum: '123412******1234',
cardQuota: 0,
isInterestFree: false,
cardType: 'credit',
canPartCancel: true,
acquCardCode: '04',
acquCardName: '์ผ์ฑ'
},
vbank: null,
cancels: null,
cashReceipts: null
}
```
> #### โ ๏ธ ์ค์
> ์๋๋ฐ์ค๋ฅผ ํตํด TEST๋ฅผ ์งํํ๋ ๊ฒฝ์ฐ ์น์ธ(๊ฒฐ์ )๊ฐ ๋ฐ์๋์ง ์์ ํธ๋ฆฌํ๊ฒ TEST๋ฅผ ํ ์ ์์ต๋๋ค.
> ๋ํ ์ค์ ์น์ธ(๊ฒฐ์ )๊ฐ ๋ฐ์๋์ง ์๊ธฐ ๋๋ฌธ์ ์์ ๊ฐ์ด ์๋ต๋ฉ๋๋ค.
### ์ํ์ฝ๋
์์ด์ฝ์ ํด๋ฆญํ๋ฉด ์ธ์ด๋ณ ์ํ์ฝ๋๋ฅผ ํ์ธ ํ ์ ์์ต๋๋ค.
## ๋ ์์๋ณด๊ธฐ
๊ฒฐ์ ๊ฐ๋ฐ์ ์ํด ๋ ์์ธํ ์ ๋ณด๊ฐ ํ์ํ๋ค๋ฉด๐ `๊ณตํต` ํญ์ ์ ๋ณด๋ฅผ ํ์ฉํ๊ณ ,
API ๊ฐ๋ฐ์ ์ํ ๊ฐ ์ธํฐํ์ด์ค์ ๊ฐ๋ฐ ๋ช
์ธ๊ฐ ํ์ํ๋ค๋ฉด ๐ `๋ฌธ์` ํญ์ ์๋ฃ๋ฅผ ํ์ธ ํด์ฃผ์ธ์.
๊ฐ๋ฐ์ด ์๋ฃ๋์ด ์ด์์ ํ์ํ ์ ๋ณด์ Tip์ โธ๏ธ `์ด์` ํญ์ ์ ๋ณด๋ฅผ ํตํด ํ์ธ์ด ๊ฐ๋ฅ ํฉ๋๋ค.
### ๐ ๊ณตํต
๊ฐ๋ฐ ์ ํ์ํ `๊ณตํต`์ ์ธ ๊ฐ์ด๋ ์
๋๋ค.
- [๊ฐ๋ฐ ์ค๋น](/common/preparations.md) ๐ [ํ์๊ฐ์
](/common/preparations.md#ํ์๊ฐ์
) | [API KEYํ์ธ](/common/preparations.md#api-key-ํ์ธ) | [๋ฐฉํ๋ฒฝ ์ ์ฑ
](common/preparations.md#๋ฐฉํ๋ฒฝ-์ ์ฑ
) | [IP ๋ณด์๊ธฐ๋ฅ](/common/preparations.md#ip-๋ณด์-๊ธฐ๋ฅ) | [ํ์์์ ์ ๋ณด](/common/preparations.md#ํ์์์-์ ๋ณด)
- [APIยทJS SDK](/common/api.md) ๐ [URI ๋ชฉ๋ก](/common/api.md#uri-๋ชฉ๋ก) | [JS SDK๋ชฉ๋ก](/common/api.md#js-sdk-๋ชฉ๋ก) | [API KEY](/common/api.md#api-key) | [APIยทJS SDK์ธ์ฆ](/common/api.md#apijs-sdk์ธ์ฆ) | [Basic auth](/common/api.md#basic-auth) | [Bearer token](/common/api.md#bearer-token)
- [TESTยท์ํ์ฝ๋](/common/test.md) ๐ [์๋๋ฐ์ค TEST](/common/test.md#์๋๋ฐ์คtest) | [์๋๋ฐ์ค ํ์ฉ](/common/test.md#์๋๋ฐ์ค-ํ์ฉ) | [์น๋ก๊ทธ ๋๋ฒ๊น
](/common/test.md#์น๋ก๊ทธ-๋๋ฒ๊น
) | [์ํ์ฝ๋](/common/test.md#์ํ์ฝ๋)
- [์ฝ๋์ง](/common/code.md) ๐ [HTTP-์ํ์ฝ๋](/common/code.md#http-์ํ์ฝ๋) | [์นด๋์ฝ๋](/common/code.md#์นด๋์ฝ๋) | [์ํ์ฝ๋](/common/code.md#์ํ์ฝ๋) | [JS SDK ์๋ต์ฝ๋](/common/code.md#js-sdk-์๋ต์ฝ๋) | [API ์๋ต์ฝ๋](/common/code.md#api-์๋ต์ฝ๋)
### ๐ ๋ฌธ์
`API ๋ช
์ธ`์ `์ฝ๋`๊ฐ ํฌํจ๋ ๊ธฐ์ ๋ฌธ์ ์
๋๋ค.
- [๊ฒฐ์ ยท๋ฐ๊ธ](/api/payment.md#) ๐ [๊ฒฐ์ ์ฐฝ](/api/payment-window-server.md) | [๋น๋ง](/api/payment-subscribe.md) | [ํ๊ธ์์์ฆ](/api/payment-receipt.md) | [Access token](/api/payment-access-token.md)
- [์กฐํ](/api/status.md) ๐ [๊ฑฐ๋ ์กฐํ](/api/status-transaction.md) | [์ฝ๊ด ์กฐํ](/api/status-terms.md) | [์นด๋ ์ด๋ฒคํธ ์กฐํ](/api/status-event.md) | [์นด๋ ๋ฌด์ด์ ์กฐํ](/api/status-interest.md)
- [์ทจ์ยทํ๋ถยท๋ง์ทจ์](/api/cancel.md) ๐ [์ทจ์ยทํ๋ถ](/api/cancel.md#์ทจ์ํ๋ถ) | [๋ง ์ทจ์](/api/cancel.md#๋ง์ทจ์)
- [์นํ
](/api/hook.md) ๐ [์นํ
](/api/hook.md#์นํ
)
- [APP](/api/app.md) ๐ [iOS](/api/app-ios.md#ios) | [iOS Swift](/api/app-ios.md#ios-swift-์น๋ทฐweb-view๊ฐ๋ฐ-๊ฐ์ด๋) | [iOS Objective-c](/api/app-ios.md#ios-objective-c-์น๋ทฐweb-view๊ฐ๋ฐ-๊ฐ์ด๋) | [Android](/api/app-android.md#) | [Android java](/api/app-android.md#android-java-์น๋ทฐweb-view๊ฐ๋ฐ-๊ฐ์ด๋) | [Android kotlin](/api/app-android.md#android-kotlin-์น๋ทฐweb-view๊ฐ๋ฐ-๊ฐ์ด๋)
### โธ๏ธ ์ด์
`์ด์`์ ํ์ํ ์ ๋ณด ์
๋๋ค.
- [์ง์ํ๊ฒฝ](/management/user.md) ๐ [๊ฐ๋ฐํ๊ฒฝ](/management/user.md#๊ฐ๋ฐํ๊ฒฝ) | [์ง์ ๋ธ๋ผ์ฐ์ ](/management/user.md#๋ธ๋ผ์ฐ์ )
- [์ค๋ฅ๊ด๋ฆฌ](/management/user.md#์ค๋ฅ๊ด๋ฆฌ) ๐ [์ค๋ฅ๊ด๋ฆฌ](/management/user.md#์ค๋ฅ๊ด๋ฆฌ)
- [๊ฐ๋ฐ์ ๋ณด](/management/admin.md) ๐ [๊ธฐ๋ฅ ์์ฝ](/management/admin.md#๊ธฐ๋ฅ-์์ฝ) | [KEY ์ ๋ณด](/management/admin.md#key์ ๋ณด) | [ip๋ณด์(ip์ ๊ทผ์ ํ)](/management/admin.md#ip๋ณด์ip์ ๊ทผ-์ ํ) | [์นํ
](/management/admin.md#์นํ
) | [๋ก๊ทธ](/management/admin.md#๋ก๊ทธ)