@nhnpayco-dev/mcp-devcenter 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -12
- package/dist/data/api-specs.json +257 -71
- package/dist/data/guides/online-extra.md +7 -17
- package/dist/data/guides/online-extra.meta.json +1 -1
- package/dist/data/guides/online-extradata.md +3 -3
- package/dist/data/guides/online-extradata.meta.json +1 -1
- package/dist/data/index.json +3 -3
- package/dist/tools.js +3 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
[](https://nodejs.org)
|
|
6
6
|
|
|
7
7
|
> PAYCO 개발자센터 가이드(온라인결제·자동결제·오프라인결제·오더클라우드·멤버십클라우드·결제정산대사)를
|
|
8
|
-
> AI
|
|
8
|
+
> AI 개발 도구(Claude·Cursor·VS Code 등)에서 바로 조회·검색할 수 있게 해주는
|
|
9
9
|
> MCP(Model Context Protocol) 서버.
|
|
10
10
|
|
|
11
11
|
외부 가맹점/제휴사 개발자가 PAYCO 결제 연동을 진행할 때, 가이드 페이지를 일일이 뒤지지 않고
|
|
12
|
-
AI
|
|
12
|
+
AI 개발 도구에 자연어로 물어 즉시 정확한 답을 받을 수 있게 해줍니다.
|
|
13
13
|
|
|
14
|
-
AI
|
|
14
|
+
AI 개발 도구에 이렇게 물어보면 됩니다.
|
|
15
15
|
|
|
16
16
|
- "PAYCO 자동결제 빌링키 발급부터 결제까지 흐름 알려줘"
|
|
17
17
|
- "결제 승인 API 에 필수로 보내야 하는 파라미터가 뭐야?"
|
|
@@ -23,7 +23,7 @@ AI 에디터에 이렇게 물어보면 됩니다.
|
|
|
23
23
|
## 요구사항
|
|
24
24
|
|
|
25
25
|
- **Node.js 20 LTS 이상** (`node --version` 으로 확인)
|
|
26
|
-
- 지원 클라이언트: Claude Desktop · Cursor · VS Code(Continue 등) · Windsurf 등 **MCP
|
|
26
|
+
- 지원 클라이언트: Claude Desktop · Cursor · VS Code(Continue 등) · Windsurf 등 **MCP 표준을 지원하는 AI 개발 도구**
|
|
27
27
|
|
|
28
28
|
설치는 자동입니다(`npx` 가 알아서 받습니다). 별도 빌드·환경 설정 불필요.
|
|
29
29
|
|
|
@@ -87,14 +87,14 @@ AI 에디터에 이렇게 물어보면 됩니다.
|
|
|
87
87
|
| `get_guide(slug)` | 특정 카테고리 가이드 전체를 Markdown 으로 반환 |
|
|
88
88
|
| `list_apis()` | 28개 카테고리 + 단계 목록 일람 |
|
|
89
89
|
| `get_api_spec(category)` | 특정 카테고리(easypay, autopay …)의 API 명세·파라미터 표가 담긴 가이드 반환 |
|
|
90
|
-
| `get_sample_code(slug, language?)` | 가이드
|
|
90
|
+
| `get_sample_code(slug, language?)` | 가이드 본문의 코드 블록(주로 요청·응답 JSON 예시)만 추출. 언어별 소스코드 샘플은 포함하지 않음 |
|
|
91
91
|
| `get_error_code(code)` | API 응답코드·결제수단·은행·카드사 등 모든 코드 카테고리에서 일치 항목 조회 |
|
|
92
92
|
|
|
93
93
|
### 자동 검수 (5개)
|
|
94
94
|
|
|
95
95
|
| 도구 이름 | 설명 |
|
|
96
96
|
|---|---|
|
|
97
|
-
| `list_validatable_apis()` | 자동 검증 가능한 API 슬러그
|
|
97
|
+
| `list_validatable_apis()` | 자동 검증 가능한 API 슬러그 34개 목록 (URL·메서드·파라미터 수 포함) |
|
|
98
98
|
| `get_checklist(service)` | 서비스별 사전 검수 체크리스트(자동 + 수동 항목). service: `online`/`offline`/`order`/`membership` |
|
|
99
99
|
| `validate_payload(api, payload)` | API 요청 페이로드 JSON을 검증 — (1) 필수 누락 / 명세 외 파라미터 / 타입 불일치 + (2) 자동 체크리스트(개인정보·URL 인코딩·공백·금액 합산·enum·날짜 형식·returnUrl) + (3) 수동 확인 항목 |
|
|
100
100
|
| `export_validation_excel(path?, clearAfter?)` | 누적된 검수 결과를 xlsx로 추출. **3개 시트**: 검수요약 / 항목별 상세 / 공통검수체크리스트 |
|
|
@@ -160,11 +160,12 @@ AI 에디터에 이렇게 물어보면 됩니다.
|
|
|
160
160
|
|
|
161
161
|
🆕 표시는 PAYCO 개발자센터에는 없는 사내 문서 기반 가이드입니다.
|
|
162
162
|
|
|
163
|
-
### 자동 검증 가능한 API 슬러그 (
|
|
163
|
+
### 자동 검증 가능한 API 슬러그 (34개)
|
|
164
164
|
|
|
165
165
|
**온라인 — reserve / 승인 / 취소**
|
|
166
|
-
`online-easypay-01`~`04` · `online-autopay-01`~`06` ·
|
|
167
|
-
`online-etc-01`/`03`/`04` · `online-extra-
|
|
166
|
+
`online-easypay-01`~`04` · `online-autopay-01`~`04`/`06` ·
|
|
167
|
+
`online-etc-01`/`03`/`04` · `online-extra-03`
|
|
168
|
+
(자동결제 ⑤ 결제 취소는 일반 결제 취소 API와 같아 `online-easypay-04`로 검증)
|
|
168
169
|
|
|
169
170
|
**온라인 — reserve 변형 (합성)**
|
|
170
171
|
`online-easypay-nonmember` (비회원결제) · `online-easypay-checkout` (바로구매) ·
|
|
@@ -195,15 +196,15 @@ VMEM (DLL) `membership-vmem-execasyncapproval` · `-execcomplete` · `-execcance
|
|
|
195
196
|
|
|
196
197
|
- 가이드 본문 카테고리: **28개** (devcenter 크롤 26개 + 사내 문서 2개)
|
|
197
198
|
- 에러코드/코드값 표 항목: **500+ 개** (4개 root 의 API 응답코드, 결제수단, 카드사, 은행, VAN사, 결제수단 코드 등 통합)
|
|
198
|
-
- 자동 검증 가능한 API 명세: **
|
|
199
|
-
- REST API
|
|
199
|
+
- 자동 검증 가능한 API 명세: **34개**
|
|
200
|
+
- REST API 24개 (easypay/autopay/etc/extra/offline-api/authapi 등)
|
|
200
201
|
- DLL 함수 7개 (offline-vcat, order-vorder, membership-vmem)
|
|
201
202
|
- 합성 변형 슬러그 3개 (`online-easypay-nonmember`/`-checkout`/`-ordersheet`)
|
|
202
203
|
|
|
203
204
|
**검증 가이드 사항 (자동 검증 한계):**
|
|
204
205
|
- 조건부 필수 파라미터 (예: `extraData.appUrl` — iOS App 호출 시에만 필수)는 단순 "필수"로 표시될 수 있음
|
|
205
206
|
- `returnUrl` 등 URL 검사는 prefix(`http://`/`https://`)만 확인. URL 내부 공백·인코딩 오류는 감지 불가
|
|
206
|
-
- 배열 안
|
|
207
|
+
- 배열 안 객체의 필수값은 원소 하나라도 값이 있으면 통과로 처리. 원소별 누락(예: 두 번째 원소의 `id` 누락)은 검출하지 못함
|
|
207
208
|
|
|
208
209
|
**제외 범위:**
|
|
209
210
|
- 보안사항 확인하기 (USERTrust 루트 인증서 설치 가이드)
|
package/dist/data/api-specs.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"source": "PAYCO 개발자센터 가이드 markdown 본문에서 자동 추출 + 변형 합성",
|
|
3
|
-
"api_count":
|
|
3
|
+
"api_count": 34,
|
|
4
4
|
"apis": [
|
|
5
5
|
{
|
|
6
6
|
"slug": "online-easypay-01",
|
|
@@ -1857,26 +1857,12 @@
|
|
|
1857
1857
|
"response_total": 3
|
|
1858
1858
|
}
|
|
1859
1859
|
},
|
|
1860
|
-
{
|
|
1861
|
-
"slug": "online-extra-02",
|
|
1862
|
-
"guide": "online-extra",
|
|
1863
|
-
"title": "iOS 앱 스킴(App Url Scheme) 추가하기",
|
|
1864
|
-
"url": "/outseller/payment/approval/getDetailForVerify",
|
|
1865
|
-
"method": "POST",
|
|
1866
|
-
"request_params": [],
|
|
1867
|
-
"response_params": [],
|
|
1868
|
-
"param_counts": {
|
|
1869
|
-
"request_total": 0,
|
|
1870
|
-
"request_required": 0,
|
|
1871
|
-
"response_total": 0
|
|
1872
|
-
}
|
|
1873
|
-
},
|
|
1874
1860
|
{
|
|
1875
1861
|
"slug": "online-extra-03",
|
|
1876
1862
|
"guide": "online-extra",
|
|
1877
1863
|
"title": "결제상세조회 API - REQUEST",
|
|
1878
|
-
"url":
|
|
1879
|
-
"method":
|
|
1864
|
+
"url": "/outseller/payment/approval/getDetailForVerify",
|
|
1865
|
+
"method": "POST",
|
|
1880
1866
|
"request_params": [
|
|
1881
1867
|
{
|
|
1882
1868
|
"name": "sellerKey",
|
|
@@ -1915,13 +1901,13 @@
|
|
|
1915
1901
|
"name": "includePaymentMethodCodes",
|
|
1916
1902
|
"required": false,
|
|
1917
1903
|
"type": "List<String>",
|
|
1918
|
-
"description": "가능한
|
|
1904
|
+
"description": "가능한 결제수단(online-code 가이드의 「결제수단 코드」 참고) - includePaymentMethodCodes 중 가능한 결제수단 제공 : 동일한 결제수단이 excludePaymentMethodCodes 에도 포함된 경우 결제수단에서 제외 | 예: \"includePaymentMethodCodes\" : [\"31, \"01\"]"
|
|
1919
1905
|
},
|
|
1920
1906
|
{
|
|
1921
1907
|
"name": "excludePaymentMethodCodes",
|
|
1922
1908
|
"required": false,
|
|
1923
1909
|
"type": "List<String>",
|
|
1924
|
-
"description": "제외 할
|
|
1910
|
+
"description": "제외 할 결제수단(online-code 가이드의 「결제수단 코드」 참고) - 가능한 결제수단 중 excludePaymentMethodCodes 제외 | 예: \"excludePaymentMethodCodes\" : [\"31, \"01\"]"
|
|
1925
1911
|
},
|
|
1926
1912
|
{
|
|
1927
1913
|
"name": "paymentMethodOptions",
|
|
@@ -1981,7 +1967,7 @@
|
|
|
1981
1967
|
"name": "paymentMethodOptions.paymentMethodCode",
|
|
1982
1968
|
"required": true,
|
|
1983
1969
|
"type": "String",
|
|
1984
|
-
"description": "
|
|
1970
|
+
"description": "결제수단(online-code 가이드의 「결제수단 코드」 참고)코드 | 예: 예 : 신용카드 간편결제의 경우-> 31"
|
|
1985
1971
|
},
|
|
1986
1972
|
{
|
|
1987
1973
|
"name": "paymentMethodOptions.message",
|
|
@@ -2095,6 +2081,12 @@
|
|
|
2095
2081
|
"type": "string",
|
|
2096
2082
|
"description": "사업자 등록번호, ‘-’ 문자 제거하여 전달"
|
|
2097
2083
|
},
|
|
2084
|
+
{
|
|
2085
|
+
"name": "vanCorpCode",
|
|
2086
|
+
"required": true,
|
|
2087
|
+
"type": "string",
|
|
2088
|
+
"description": "VAN사 코드"
|
|
2089
|
+
},
|
|
2098
2090
|
{
|
|
2099
2091
|
"name": "vanPosTid",
|
|
2100
2092
|
"required": true,
|
|
@@ -2147,8 +2139,8 @@
|
|
|
2147
2139
|
}
|
|
2148
2140
|
],
|
|
2149
2141
|
"param_counts": {
|
|
2150
|
-
"request_total":
|
|
2151
|
-
"request_required":
|
|
2142
|
+
"request_total": 7,
|
|
2143
|
+
"request_required": 4,
|
|
2152
2144
|
"response_total": 4
|
|
2153
2145
|
}
|
|
2154
2146
|
},
|
|
@@ -2189,6 +2181,12 @@
|
|
|
2189
2181
|
"type": "string",
|
|
2190
2182
|
"description": "PAYCO POS 터미널 번호"
|
|
2191
2183
|
},
|
|
2184
|
+
{
|
|
2185
|
+
"name": "vanCorpCode",
|
|
2186
|
+
"required": true,
|
|
2187
|
+
"type": "string",
|
|
2188
|
+
"description": "VAN사 코드"
|
|
2189
|
+
},
|
|
2192
2190
|
{
|
|
2193
2191
|
"name": "vanPosTid",
|
|
2194
2192
|
"required": true,
|
|
@@ -2261,6 +2259,12 @@
|
|
|
2261
2259
|
"type": "string",
|
|
2262
2260
|
"description": "상품명. 예)아메리카노 외 1건"
|
|
2263
2261
|
},
|
|
2262
|
+
{
|
|
2263
|
+
"name": "productInfoList",
|
|
2264
|
+
"required": false,
|
|
2265
|
+
"type": "list",
|
|
2266
|
+
"description": "상품 목록"
|
|
2267
|
+
},
|
|
2264
2268
|
{
|
|
2265
2269
|
"name": "installmentPeriod",
|
|
2266
2270
|
"required": false,
|
|
@@ -2291,6 +2295,18 @@
|
|
|
2291
2295
|
"type": "string",
|
|
2292
2296
|
"description": "단말기 타입. 예) KIOSK, POS, CAT"
|
|
2293
2297
|
},
|
|
2298
|
+
{
|
|
2299
|
+
"name": "extras",
|
|
2300
|
+
"required": false,
|
|
2301
|
+
"type": "object",
|
|
2302
|
+
"description": "추가정보"
|
|
2303
|
+
},
|
|
2304
|
+
{
|
|
2305
|
+
"name": "sign",
|
|
2306
|
+
"required": true,
|
|
2307
|
+
"type": "object",
|
|
2308
|
+
"description": "van 사별 sign 정보(5만원 초과결제시 필수)"
|
|
2309
|
+
},
|
|
2294
2310
|
{
|
|
2295
2311
|
"name": "productInfoList.productCode",
|
|
2296
2312
|
"required": true,
|
|
@@ -2581,6 +2597,18 @@
|
|
|
2581
2597
|
"type": "double",
|
|
2582
2598
|
"description": "컵보증금"
|
|
2583
2599
|
},
|
|
2600
|
+
{
|
|
2601
|
+
"name": "approvalResultList",
|
|
2602
|
+
"required": false,
|
|
2603
|
+
"type": "list",
|
|
2604
|
+
"description": "결제 승인 시 결제수단별 정보"
|
|
2605
|
+
},
|
|
2606
|
+
{
|
|
2607
|
+
"name": "extras",
|
|
2608
|
+
"required": false,
|
|
2609
|
+
"type": "object",
|
|
2610
|
+
"description": "추가정보"
|
|
2611
|
+
},
|
|
2584
2612
|
{
|
|
2585
2613
|
"name": "membershipCardNo",
|
|
2586
2614
|
"required": false,
|
|
@@ -2599,6 +2627,12 @@
|
|
|
2599
2627
|
"type": "string",
|
|
2600
2628
|
"description": "주 오프라인 결제수단코드"
|
|
2601
2629
|
},
|
|
2630
|
+
{
|
|
2631
|
+
"name": "approvalResultList.paymentMethodCode",
|
|
2632
|
+
"required": false,
|
|
2633
|
+
"type": "string",
|
|
2634
|
+
"description": "오프라인 결제수단코드"
|
|
2635
|
+
},
|
|
2602
2636
|
{
|
|
2603
2637
|
"name": "approvalResultList.paymentMethodName",
|
|
2604
2638
|
"required": false,
|
|
@@ -2623,6 +2657,12 @@
|
|
|
2623
2657
|
"type": "double",
|
|
2624
2658
|
"description": "승인금액"
|
|
2625
2659
|
},
|
|
2660
|
+
{
|
|
2661
|
+
"name": "approvalResultList.approvalCompanyCode",
|
|
2662
|
+
"required": false,
|
|
2663
|
+
"type": "string",
|
|
2664
|
+
"description": "승인사코드"
|
|
2665
|
+
},
|
|
2626
2666
|
{
|
|
2627
2667
|
"name": "approvalResultList.approvalCompanyName",
|
|
2628
2668
|
"required": false,
|
|
@@ -2635,6 +2675,12 @@
|
|
|
2635
2675
|
"type": "string",
|
|
2636
2676
|
"description": "승인카드번호 예시) 490620******6536"
|
|
2637
2677
|
},
|
|
2678
|
+
{
|
|
2679
|
+
"name": "approvalResultList.sourcePaymentMethdCode",
|
|
2680
|
+
"required": false,
|
|
2681
|
+
"type": "string",
|
|
2682
|
+
"description": "결제수단코드"
|
|
2683
|
+
},
|
|
2638
2684
|
{
|
|
2639
2685
|
"name": "approvalResultList.taxfreeAmount",
|
|
2640
2686
|
"required": false,
|
|
@@ -2709,9 +2755,9 @@
|
|
|
2709
2755
|
}
|
|
2710
2756
|
],
|
|
2711
2757
|
"param_counts": {
|
|
2712
|
-
"request_total":
|
|
2713
|
-
"request_required":
|
|
2714
|
-
"response_total":
|
|
2758
|
+
"request_total": 65,
|
|
2759
|
+
"request_required": 47,
|
|
2760
|
+
"response_total": 35
|
|
2715
2761
|
}
|
|
2716
2762
|
},
|
|
2717
2763
|
{
|
|
@@ -2787,6 +2833,12 @@
|
|
|
2787
2833
|
"type": "string",
|
|
2788
2834
|
"description": "PAYCO POS 터미널 번호"
|
|
2789
2835
|
},
|
|
2836
|
+
{
|
|
2837
|
+
"name": "vanCorpCode",
|
|
2838
|
+
"required": true,
|
|
2839
|
+
"type": "string",
|
|
2840
|
+
"description": "VAN사 코드"
|
|
2841
|
+
},
|
|
2790
2842
|
{
|
|
2791
2843
|
"name": "vanPosTid",
|
|
2792
2844
|
"required": true,
|
|
@@ -2840,13 +2892,153 @@
|
|
|
2840
2892
|
"required": false,
|
|
2841
2893
|
"type": "string",
|
|
2842
2894
|
"description": "단말기 타입. 예) KIOSK, POS, CAT"
|
|
2895
|
+
},
|
|
2896
|
+
{
|
|
2897
|
+
"name": "extras",
|
|
2898
|
+
"required": false,
|
|
2899
|
+
"type": "object",
|
|
2900
|
+
"description": "추가정보"
|
|
2901
|
+
},
|
|
2902
|
+
{
|
|
2903
|
+
"name": "sign",
|
|
2904
|
+
"required": true,
|
|
2905
|
+
"type": "object",
|
|
2906
|
+
"description": "van 사별 sign 정보(5만원 초과결제시 필수)"
|
|
2907
|
+
}
|
|
2908
|
+
],
|
|
2909
|
+
"response_params": [
|
|
2910
|
+
{
|
|
2911
|
+
"name": "tradeNo",
|
|
2912
|
+
"required": false,
|
|
2913
|
+
"type": "string",
|
|
2914
|
+
"description": "PG/VAN사 거래번호"
|
|
2915
|
+
},
|
|
2916
|
+
{
|
|
2917
|
+
"name": "tradeDatetime",
|
|
2918
|
+
"required": false,
|
|
2919
|
+
"type": "string",
|
|
2920
|
+
"description": "PG/VAN사 거래일시(yyyyMMddHHmmss)"
|
|
2921
|
+
},
|
|
2922
|
+
{
|
|
2923
|
+
"name": "totalTaxfreeAmount",
|
|
2924
|
+
"required": false,
|
|
2925
|
+
"type": "double",
|
|
2926
|
+
"description": "면세금액"
|
|
2927
|
+
},
|
|
2928
|
+
{
|
|
2929
|
+
"name": "totalTaxableAmount",
|
|
2930
|
+
"required": false,
|
|
2931
|
+
"type": "double",
|
|
2932
|
+
"description": "과세금액"
|
|
2933
|
+
},
|
|
2934
|
+
{
|
|
2935
|
+
"name": "totalVatAmount",
|
|
2936
|
+
"required": false,
|
|
2937
|
+
"type": "double",
|
|
2938
|
+
"description": "부가세"
|
|
2939
|
+
},
|
|
2940
|
+
{
|
|
2941
|
+
"name": "totalServiceAmount",
|
|
2942
|
+
"required": false,
|
|
2943
|
+
"type": "double",
|
|
2944
|
+
"description": "봉사료"
|
|
2945
|
+
},
|
|
2946
|
+
{
|
|
2947
|
+
"name": "totalGreenDepositAmount",
|
|
2948
|
+
"required": false,
|
|
2949
|
+
"type": "double",
|
|
2950
|
+
"description": "컵보증금"
|
|
2951
|
+
},
|
|
2952
|
+
{
|
|
2953
|
+
"name": "cancelResultList",
|
|
2954
|
+
"required": false,
|
|
2955
|
+
"type": "list",
|
|
2956
|
+
"description": "취소 결과 목록"
|
|
2957
|
+
},
|
|
2958
|
+
{
|
|
2959
|
+
"name": "extras",
|
|
2960
|
+
"required": false,
|
|
2961
|
+
"type": "object",
|
|
2962
|
+
"description": "추가정보"
|
|
2963
|
+
},
|
|
2964
|
+
{
|
|
2965
|
+
"name": "originalPinCode",
|
|
2966
|
+
"required": false,
|
|
2967
|
+
"type": "string",
|
|
2968
|
+
"description": "실제 결제에 사용된 OTC(협의 시 정보 전달)"
|
|
2969
|
+
},
|
|
2970
|
+
{
|
|
2971
|
+
"name": "cancelResultList.paymentMethodCode",
|
|
2972
|
+
"required": false,
|
|
2973
|
+
"type": "string",
|
|
2974
|
+
"description": "오프라인 결제수단코드"
|
|
2975
|
+
},
|
|
2976
|
+
{
|
|
2977
|
+
"name": "cancelResultList.paymentMethodName",
|
|
2978
|
+
"required": false,
|
|
2979
|
+
"type": "string",
|
|
2980
|
+
"description": "결제수단명"
|
|
2981
|
+
},
|
|
2982
|
+
{
|
|
2983
|
+
"name": "cancelResultList.cancelAmount",
|
|
2984
|
+
"required": false,
|
|
2985
|
+
"type": "double",
|
|
2986
|
+
"description": "취소금액"
|
|
2987
|
+
},
|
|
2988
|
+
{
|
|
2989
|
+
"name": "cancelResultList.cancelDatetime",
|
|
2990
|
+
"required": false,
|
|
2991
|
+
"type": "string",
|
|
2992
|
+
"description": "취소일시(yyyyMMddHHmmss)"
|
|
2993
|
+
},
|
|
2994
|
+
{
|
|
2995
|
+
"name": "cancelResultList.sourcePaymentMethdCode",
|
|
2996
|
+
"required": false,
|
|
2997
|
+
"type": "string",
|
|
2998
|
+
"description": "결제수단코드"
|
|
2999
|
+
},
|
|
3000
|
+
{
|
|
3001
|
+
"name": "cancelResultList.taxfreeAmount",
|
|
3002
|
+
"required": false,
|
|
3003
|
+
"type": "double",
|
|
3004
|
+
"description": "면세금액"
|
|
3005
|
+
},
|
|
3006
|
+
{
|
|
3007
|
+
"name": "cancelResultList.taxableAmount",
|
|
3008
|
+
"required": false,
|
|
3009
|
+
"type": "double",
|
|
3010
|
+
"description": "과세금액"
|
|
3011
|
+
},
|
|
3012
|
+
{
|
|
3013
|
+
"name": "cancelResultList.vatAmount",
|
|
3014
|
+
"required": false,
|
|
3015
|
+
"type": "double",
|
|
3016
|
+
"description": "부가세"
|
|
3017
|
+
},
|
|
3018
|
+
{
|
|
3019
|
+
"name": "cancelResultList.serviceAmount",
|
|
3020
|
+
"required": false,
|
|
3021
|
+
"type": "double",
|
|
3022
|
+
"description": "봉사료"
|
|
3023
|
+
},
|
|
3024
|
+
{
|
|
3025
|
+
"name": "cancelResultList.greenDepositAmount",
|
|
3026
|
+
"required": false,
|
|
3027
|
+
"type": "double",
|
|
3028
|
+
"description": "컵보증금"
|
|
3029
|
+
},
|
|
3030
|
+
{
|
|
3031
|
+
"name": "cancelResultList.nocvmYN",
|
|
3032
|
+
"required": false,
|
|
3033
|
+
"type": "string",
|
|
3034
|
+
"description": "NoCVM 거래 여부"
|
|
2843
3035
|
}
|
|
2844
3036
|
],
|
|
2845
|
-
"response_params": [],
|
|
2846
3037
|
"param_counts": {
|
|
2847
|
-
"request_total":
|
|
2848
|
-
"request_required":
|
|
2849
|
-
"response_total": 0
|
|
3038
|
+
"request_total": 23,
|
|
3039
|
+
"request_required": 14,
|
|
3040
|
+
"response_total": 0,
|
|
3041
|
+
"response": 21
|
|
2850
3042
|
}
|
|
2851
3043
|
},
|
|
2852
3044
|
{
|
|
@@ -2906,12 +3098,30 @@
|
|
|
2906
3098
|
"type": "double",
|
|
2907
3099
|
"description": "컵보증금"
|
|
2908
3100
|
},
|
|
3101
|
+
{
|
|
3102
|
+
"name": "cancelResultList",
|
|
3103
|
+
"required": false,
|
|
3104
|
+
"type": "list",
|
|
3105
|
+
"description": "취소 결과 목록"
|
|
3106
|
+
},
|
|
3107
|
+
{
|
|
3108
|
+
"name": "extras",
|
|
3109
|
+
"required": false,
|
|
3110
|
+
"type": "object",
|
|
3111
|
+
"description": "추가정보"
|
|
3112
|
+
},
|
|
2909
3113
|
{
|
|
2910
3114
|
"name": "originalPinCode",
|
|
2911
3115
|
"required": false,
|
|
2912
3116
|
"type": "string",
|
|
2913
3117
|
"description": "실제 결제에 사용된 OTC(협의 시 정보 전달)"
|
|
2914
3118
|
},
|
|
3119
|
+
{
|
|
3120
|
+
"name": "cancelResultList.paymentMethodCode",
|
|
3121
|
+
"required": false,
|
|
3122
|
+
"type": "string",
|
|
3123
|
+
"description": "오프라인 결제수단코드"
|
|
3124
|
+
},
|
|
2915
3125
|
{
|
|
2916
3126
|
"name": "cancelResultList.paymentMethodName",
|
|
2917
3127
|
"required": false,
|
|
@@ -2930,6 +3140,12 @@
|
|
|
2930
3140
|
"type": "string",
|
|
2931
3141
|
"description": "취소일시(yyyyMMddHHmmss)"
|
|
2932
3142
|
},
|
|
3143
|
+
{
|
|
3144
|
+
"name": "cancelResultList.sourcePaymentMethdCode",
|
|
3145
|
+
"required": false,
|
|
3146
|
+
"type": "string",
|
|
3147
|
+
"description": "결제수단코드"
|
|
3148
|
+
},
|
|
2933
3149
|
{
|
|
2934
3150
|
"name": "cancelResultList.taxfreeAmount",
|
|
2935
3151
|
"required": false,
|
|
@@ -2970,7 +3186,7 @@
|
|
|
2970
3186
|
"param_counts": {
|
|
2971
3187
|
"request_total": 1,
|
|
2972
3188
|
"request_required": 1,
|
|
2973
|
-
"response_total":
|
|
3189
|
+
"response_total": 21
|
|
2974
3190
|
}
|
|
2975
3191
|
},
|
|
2976
3192
|
{
|
|
@@ -2980,12 +3196,6 @@
|
|
|
2980
3196
|
"url": "SetPaycoData",
|
|
2981
3197
|
"method": "DLL",
|
|
2982
3198
|
"request_params": [
|
|
2983
|
-
{
|
|
2984
|
-
"name": "KEY",
|
|
2985
|
-
"required": false,
|
|
2986
|
-
"type": "unknown",
|
|
2987
|
-
"description": "설명"
|
|
2988
|
-
},
|
|
2989
3199
|
{
|
|
2990
3200
|
"name": "RegistrationNumber",
|
|
2991
3201
|
"required": true,
|
|
@@ -3052,6 +3262,12 @@
|
|
|
3052
3262
|
"type": "unknown",
|
|
3053
3263
|
"description": "대표 상품명 입니다. 고객에게 상품정보 노출하기 위해 값을 설정해 주세요. 상품이 2건 이상인 경우 대표상품명 외 @건으로 표기해 주세요. ex) 아메리카노 외1건"
|
|
3054
3264
|
},
|
|
3265
|
+
{
|
|
3266
|
+
"name": "ProductList",
|
|
3267
|
+
"required": true,
|
|
3268
|
+
"type": "unknown",
|
|
3269
|
+
"description": "상품 상세 LIST 입니다.(시작 구분 값:0x02, 상품 구분 값:0x01, 종료 구분 값:0x03 ex) (0x02)20124(0x01)라떼(0x01)3500(0x01)2(0x01)Y(0x03)"
|
|
3270
|
+
},
|
|
3055
3271
|
{
|
|
3056
3272
|
"name": "ProductListFieldCount",
|
|
3057
3273
|
"required": true,
|
|
@@ -3142,12 +3358,6 @@
|
|
|
3142
3358
|
"type": "unknown",
|
|
3143
3359
|
"description": "취소거래 시 포인트 및 쿠폰 금액을 제외한 신용카드 결제금액을 설정해 주세요. ex) 500"
|
|
3144
3360
|
},
|
|
3145
|
-
{
|
|
3146
|
-
"name": "KEY",
|
|
3147
|
-
"required": false,
|
|
3148
|
-
"type": "unknown",
|
|
3149
|
-
"description": "설명"
|
|
3150
|
-
},
|
|
3151
3361
|
{
|
|
3152
3362
|
"name": "MerchantCode",
|
|
3153
3363
|
"required": false,
|
|
@@ -3160,12 +3370,6 @@
|
|
|
3160
3370
|
"type": "unknown",
|
|
3161
3371
|
"description": "PEM ex) 0"
|
|
3162
3372
|
},
|
|
3163
|
-
{
|
|
3164
|
-
"name": "KEY",
|
|
3165
|
-
"required": false,
|
|
3166
|
-
"type": "unknown",
|
|
3167
|
-
"description": "설명"
|
|
3168
|
-
},
|
|
3169
3373
|
{
|
|
3170
3374
|
"name": "MerchantPosNo",
|
|
3171
3375
|
"required": false,
|
|
@@ -3175,8 +3379,8 @@
|
|
|
3175
3379
|
],
|
|
3176
3380
|
"response_params": [],
|
|
3177
3381
|
"param_counts": {
|
|
3178
|
-
"request_total":
|
|
3179
|
-
"request_required":
|
|
3382
|
+
"request_total": 30,
|
|
3383
|
+
"request_required": 15,
|
|
3180
3384
|
"response_total": 0
|
|
3181
3385
|
}
|
|
3182
3386
|
},
|
|
@@ -3187,12 +3391,6 @@
|
|
|
3187
3391
|
"url": "GetPaycoData",
|
|
3188
3392
|
"method": "DLL",
|
|
3189
3393
|
"request_params": [
|
|
3190
|
-
{
|
|
3191
|
-
"name": "KEY",
|
|
3192
|
-
"required": false,
|
|
3193
|
-
"type": "unknown",
|
|
3194
|
-
"description": "설명"
|
|
3195
|
-
},
|
|
3196
3394
|
{
|
|
3197
3395
|
"name": "ResCd",
|
|
3198
3396
|
"required": false,
|
|
@@ -3460,7 +3658,7 @@
|
|
|
3460
3658
|
],
|
|
3461
3659
|
"response_params": [],
|
|
3462
3660
|
"param_counts": {
|
|
3463
|
-
"request_total":
|
|
3661
|
+
"request_total": 44,
|
|
3464
3662
|
"request_required": 0,
|
|
3465
3663
|
"response_total": 0
|
|
3466
3664
|
}
|
|
@@ -5069,12 +5267,6 @@
|
|
|
5069
5267
|
"url": "SetData",
|
|
5070
5268
|
"method": "DLL",
|
|
5071
5269
|
"request_params": [
|
|
5072
|
-
{
|
|
5073
|
-
"name": "KEY",
|
|
5074
|
-
"required": false,
|
|
5075
|
-
"type": "unknown",
|
|
5076
|
-
"description": "설명"
|
|
5077
|
-
},
|
|
5078
5270
|
{
|
|
5079
5271
|
"name": "registernumber",
|
|
5080
5272
|
"required": false,
|
|
@@ -5096,7 +5288,7 @@
|
|
|
5096
5288
|
],
|
|
5097
5289
|
"response_params": [],
|
|
5098
5290
|
"param_counts": {
|
|
5099
|
-
"request_total":
|
|
5291
|
+
"request_total": 3,
|
|
5100
5292
|
"request_required": 0,
|
|
5101
5293
|
"response_total": 0
|
|
5102
5294
|
}
|
|
@@ -5108,12 +5300,6 @@
|
|
|
5108
5300
|
"url": "SendData",
|
|
5109
5301
|
"method": "DLL",
|
|
5110
5302
|
"request_params": [
|
|
5111
|
-
{
|
|
5112
|
-
"name": "KEY",
|
|
5113
|
-
"required": false,
|
|
5114
|
-
"type": "unknown",
|
|
5115
|
-
"description": "설명"
|
|
5116
|
-
},
|
|
5117
5303
|
{
|
|
5118
5304
|
"name": "ACCEPTED",
|
|
5119
5305
|
"required": false,
|
|
@@ -5165,7 +5351,7 @@
|
|
|
5165
5351
|
],
|
|
5166
5352
|
"response_params": [],
|
|
5167
5353
|
"param_counts": {
|
|
5168
|
-
"request_total":
|
|
5354
|
+
"request_total": 8,
|
|
5169
5355
|
"request_required": 0,
|
|
5170
5356
|
"response_total": 0
|
|
5171
5357
|
}
|
|
@@ -165,26 +165,16 @@ PAYCO App 결제 연동 시 유의 해야 될 내용을 확인 해보세요.
|
|
|
165
165
|
|
|
166
166
|
### 영수증
|
|
167
167
|
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
고객 영수증을 보여줄 수 있어요.
|
|
169
|
+
영수증 조회를 위해서는 PAYCO 로그인이 필요하며, 이용자 본인인 경우에만 조회할 수 있습니다.
|
|
170
170
|
|
|
171
171
|
앱 스킴 리스트
|
|
172
172
|
|
|
173
173
|
| | |
|
|
174
174
|
| --- | --- |
|
|
175
|
-
|
|
|
176
|
-
|
|
|
175
|
+
| URL | /outseller/receipt/{orderNo} * orderNo: PAYCO 주문번호 |
|
|
176
|
+
| Method | GET |
|
|
177
177
|
|
|
178
|
-
|
|
179
|
-
-
|
|
180
|
-
|
|
181
|
-
▶ 신용카드 매출전표: URL?receiptKind=card
|
|
182
|
-
▶ 온라인 영수증: URL?receiptKind=online
|
|
183
|
-
▶ 가맹점용 Sample URL: https://bill.payco.com/seller/receipt/DEMO_REAL/mallseq1639976172184/202112202536599429
|
|
184
|
-
▶ 고객용 Sample URL: https://bill.payco.com/outseller/receipt/202112202536599429
|
|
185
|
-
|
|
186
|
-
- ##### 가맹점용 영수증
|
|
187
|
-
|
|
188
|
-

|
|
189
|
-
|
|
190
|
-

|
|
178
|
+
영수증 형식을 지정하려는 경우 "receiptKind" 파라미터를 추가하여 호출합니다.
|
|
179
|
+
- 신용카드 매출전표: URL?receiptKind=card
|
|
180
|
+
- 온라인 영수증: URL?receiptKind=online
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
| | | | | |
|
|
34
34
|
| --- | --- | --- | --- | --- |
|
|
35
35
|
| **Column** | **Java Type** | **필수여부** | **Description** | **example** |
|
|
36
|
-
| includePayment MethodCodes | List<String> | N | 가능한
|
|
37
|
-
| excludePayment MethodCodes | List<String> | N | 제외 할
|
|
36
|
+
| includePayment MethodCodes | List<String> | N | 가능한 결제수단(online-code 가이드의 「결제수단 코드」 참고) - includePaymentMethodCodes 중 가능한 결제수단 제공 : 동일한 결제수단이 excludePaymentMethodCodes 에도 포함된 경우 결제수단에서 제외 | "includePaymentMethodCodes" : ["31, "01"] |
|
|
37
|
+
| excludePayment MethodCodes | List<String> | N | 제외 할 결제수단(online-code 가이드의 「결제수단 코드」 참고) - 가능한 결제수단 중 excludePaymentMethodCodes 제외 | "excludePaymentMethodCodes" : ["31, "01"] |
|
|
38
38
|
| **paymentMetho dOptions** | List<payme ntMethodO ption> | N | 결제수단별 결제옵션 | "paymentMethodOptions" : [ { "paymentMethodCode": "05", "message": "핸드폰으로 결제하시면 수수료가 부과됩니다." }, { "paymentMethodCode": "31", "useCardList" : ["CCBC", "CCSS"] }, { "paymentMethodCode": "02", "message": "추가 무통장 입금취소 시 결제 불가 합니다." }, |
|
|
39
39
|
|
|
40
40
|
시 총
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
| | | | | |
|
|
67
67
|
| --- | --- | --- | --- | --- |
|
|
68
68
|
| **Column** | **Java Type** | **필수여 부** | **Description** | **example** |
|
|
69
|
-
| paymentMethodCode | String | Y |
|
|
69
|
+
| paymentMethodCode | String | Y | 결제수단(online-code 가이드의 「결제수단 코드」 참고)코드 | 예 : 신용카드 간편결제의 경우-> 31 |
|
|
70
70
|
| message | String | N | 해당 결제수단을 선택했을 때 노출할 메시지 (결제창 내에 노출됨) | |
|
|
71
71
|
| useCardList | | N | 사용카드 목록 | ["CCBC", "CCSS"] |
|
|
72
72
|
| compositePaymentPos sibleYn | String | N | 복합결제 가능 여부 (기본값: Y) - 일반결제수단만 적용 가능(신용카드, 휴대폰, 무통장입금...) | Y |
|
package/dist/data/index.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schema_version": "1.0",
|
|
3
3
|
"source_site": "https://devcenter.payco.com",
|
|
4
4
|
"scope": "PAYCO 가이드 전체 (온라인결제·자동결제·오프라인결제·오더클라우드·멤버십클라우드·결제정산대사)",
|
|
5
|
-
"generated_at": "2026-
|
|
5
|
+
"generated_at": "2026-10-13T07:16:43+00:00",
|
|
6
6
|
"category_count": 28,
|
|
7
7
|
"categories": [
|
|
8
8
|
{
|
|
@@ -589,7 +589,7 @@
|
|
|
589
589
|
],
|
|
590
590
|
"table_count": 5,
|
|
591
591
|
"code_block_count": 3,
|
|
592
|
-
"text_length":
|
|
592
|
+
"text_length": 4151
|
|
593
593
|
},
|
|
594
594
|
{
|
|
595
595
|
"slug": "online-extradata",
|
|
@@ -625,7 +625,7 @@
|
|
|
625
625
|
],
|
|
626
626
|
"table_count": 56,
|
|
627
627
|
"code_block_count": 0,
|
|
628
|
-
"text_length":
|
|
628
|
+
"text_length": 6586
|
|
629
629
|
},
|
|
630
630
|
{
|
|
631
631
|
"slug": "online-sample",
|
package/dist/tools.js
CHANGED
|
@@ -447,7 +447,7 @@ export function registerAllTools(server, store) {
|
|
|
447
447
|
// 1) search_devcenter ----------------------------------------------------
|
|
448
448
|
server.registerTool("search_devcenter", {
|
|
449
449
|
title: "개발자센터 검색",
|
|
450
|
-
description: "PAYCO 개발자센터 가이드(
|
|
450
|
+
description: "PAYCO 개발자센터 가이드 28개(온라인·오프라인·오더·멤버십·결제정산)를 키워드로 검색. " +
|
|
451
451
|
"제목·섹션·본문 텍스트에서 매칭되는 가이드와 발췌를 반환.",
|
|
452
452
|
inputSchema: {
|
|
453
453
|
query: z.string().min(1).describe("검색어 (예: '결제 승인', 'orderProducts')"),
|
|
@@ -533,7 +533,7 @@ export function registerAllTools(server, store) {
|
|
|
533
533
|
// 5) get_sample_code ----------------------------------------------------
|
|
534
534
|
server.registerTool("get_sample_code", {
|
|
535
535
|
title: "샘플 코드 조회",
|
|
536
|
-
description: "특정 가이드의 코드
|
|
536
|
+
description: "특정 가이드의 코드 블록(주로 요청·응답 JSON 예시)만 추출해 반환. 언어별 소스코드 샘플은 포함하지 않음.",
|
|
537
537
|
inputSchema: {
|
|
538
538
|
slug: z
|
|
539
539
|
.string()
|
|
@@ -541,7 +541,7 @@ export function registerAllTools(server, store) {
|
|
|
541
541
|
language: z
|
|
542
542
|
.string()
|
|
543
543
|
.optional()
|
|
544
|
-
.describe("필터할 언어
|
|
544
|
+
.describe("필터할 언어 태그. 현재 가이드 코드 블록 대부분에 언어 표시가 없어 지정해도 결과가 거의 같음. 미지정 시 모든 코드 블록 반환."),
|
|
545
545
|
},
|
|
546
546
|
}, async ({ slug, language }) => {
|
|
547
547
|
const md = store.guides.get(slug);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nhnpayco-dev/mcp-devcenter",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "PAYCO 개발자센터 가이드 전체(온라인·오프라인·오더·멤버십·결제정산) 를 AI
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"description": "PAYCO 개발자센터 가이드 전체(온라인·오프라인·오더·멤버십·결제정산) 를 AI 개발 도구에서 바로 조회·검색할 수 있게 해주는 MCP 서버 (PAYCO Developer Center integration guide MCP server for Claude, Cursor and AI agents)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"payco-mcp-devcenter": "dist/index.js"
|