@portone/mcp-server 0.15.0-alpha.0 → 0.15.0-alpha.1
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/assets/docs/help/content61.md +0 -2
- package/assets/docs/help/core-service/channel-setting/eximbay.md +216 -15
- package/assets/docs/help/core-service/how-to-use/eximbay-contract.md +1 -1
- package/assets/docs/help/core-service/how-to-use/high-risk-industry.md +1 -1
- package/assets/docs/help/core-service/how-to-use/information-pg.md +0 -6
- package/assets/docs/help/core-service/how-to-use/kakao-contract.md +2 -2
- package/assets/docs/help/core-service/how-to-use/nice-contract.md +1 -1
- package/assets/docs/help/core-service/how-to-use/shopify-guide.md +1 -1
- package/assets/docs/help/core-service/payment-type/payletter-international.md +3 -2
- package/assets/docs/help/core-service/payment-type/paypal-payment-status.md +3 -3
- package/assets/docs/help/faq/console-faq/change-console-url.md +2 -0
- package/assets/docs/help/notice-v1-api-2025-11-24.md +78 -0
- package/assets/docs/help/notice-v1-api-2025-11-25.md +59 -0
- package/assets/docs/help/pricing/pg/domestic-and-oversea-fees.md +1 -1
- package/assets/docs/help/pricing/portone/portone-pricing.md +1 -1
- package/assets/docs/help/procedure/recommendation/package.md +10 -4
- package/assets/docs/opi/ko/etc/recon.md +1 -1
- package/assets/docs/opi/ko/extra/smart-routing/intro.md +0 -1
- package/assets/docs/opi/ko/integration/pg/v1/danal.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/daou/readme.md +2 -2
- package/assets/docs/opi/ko/integration/pg/v1/inicis.md +2 -2
- package/assets/docs/opi/ko/integration/pg/v1/ksnet/readme.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/newtoss/readme.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp.md +37 -10
- package/assets/docs/opi/ko/integration/pg/v1/nice-v2/billing-api-caution.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/nice.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/payletter-global.md +7 -2
- package/assets/docs/opi/ko/integration/pg/v1/readme.md +0 -2
- package/assets/docs/opi/ko/integration/pg/v1/rt/readme.md +3 -3
- package/assets/docs/opi/ko/integration/pg/v1/rt/warning.md +2 -2
- package/assets/docs/opi/ko/integration/pg/v1/settle/readme.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/smartro-v2/caution.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/tosspay-v2/readme.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v2/eximbay-v2.md +2 -0
- package/assets/docs/opi/ko/integration/pg/v2/hyphen.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v2/payletter-global.md +8 -1
- package/assets/docs/opi/ko/integration/pg/v2/paypal-v2.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v2/readme.md +0 -8
- package/assets/docs/opi/ko/integration/pg/v2/tosspayments.md +1 -1
- package/assets/docs/opi/ko/integration/ready/readme.md +18 -32
- package/assets/docs/opi/ko/integration/start/v2/readme.md +0 -1
- package/assets/docs/opi/ko/integration/webhook/readme-v2.md +2 -2
- package/assets/docs/opi/ko/quick-guide/payment.md +9 -61
- package/assets/docs/release-notes/api-sdk/2024-09-27.md +3 -3
- package/assets/docs/schema/browser-sdk.schema.json +510 -0
- package/assets/docs/schema/v1.openapi.json +694 -683
- package/assets/docs/schema/v1.openapi.yml +940 -1550
- package/assets/docs/schema/v2.openapi.json +2795 -1928
- package/assets/docs/schema/v2.openapi.yml +2647 -1237
- package/assets/docs/sdk/ko/v2-mobile-sdk/android.md +1 -1
- package/assets/docs/v1-docs-full.md +46 -259
- package/assets/docs/v2-docs-full.md +44 -321
- package/assets/docs/website-links.md +1 -3
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server/index.js +1 -1
- package/assets/docs/api/rest-v1/_components/v1auth.md +0 -103
- package/assets/docs/help/core-service/payment-type/tosspayments-easypay-hub-fee.md +0 -42
- package/assets/docs/opi/ko/integration/ready/_components/integration-guide/hyphen.md +0 -27
- package/assets/docs/opi/ko/integration/ready/_components/integration-guide/inicis.md +0 -64
- package/assets/docs/opi/ko/integration/ready/_components/integration-guide/kcp-v2.md +0 -70
- package/assets/docs/opi/ko/integration/ready/_components/integration-guide/paypal-v2.md +0 -25
- package/assets/docs/opi/ko/integration/ready/_components/integration-guide/tosspayments.md +0 -15
- package/assets/docs/opi/ko/integration/start/_components/sdk-installation.md +0 -71
- package/assets/docs/sdk/ko/v2-sdk/_components/sdk-installation.md +0 -71
|
@@ -17,7 +17,6 @@ searchTags:
|
|
|
17
17
|
- 카카오페이
|
|
18
18
|
- 다날
|
|
19
19
|
- 추천
|
|
20
|
-
- 토스페이먼츠
|
|
21
20
|
- 많이쓰는PG
|
|
22
21
|
- PG추천
|
|
23
22
|
- PG사 추천
|
|
@@ -25,6 +24,11 @@ searchTags:
|
|
|
25
24
|
- 전자결제신청방법
|
|
26
25
|
- 추천PG
|
|
27
26
|
- 추천패키지
|
|
27
|
+
- 네이버페이
|
|
28
|
+
- 이니시스
|
|
29
|
+
- KPN
|
|
30
|
+
- 무료
|
|
31
|
+
- 가입비
|
|
28
32
|
---
|
|
29
33
|
|
|
30
34
|
### **신용카드 일반결제**
|
|
@@ -33,7 +37,9 @@ searchTags:
|
|
|
33
37
|
|
|
34
38
|
쇼핑몰에서 가장 일반적으로 사용되는 방식이며 결제대행사(PG사)의 결제창을 띄운 뒤 원하는 카드사를 선택하여 앱 카드 · ISP 등으로 인증 과정을 거치는 방식입니다. 사업자는 고객의 결제정보를 보관하지 않기 때문에 고객은 구매를 원할 때마다 결제를 시도해야합니다.
|
|
35
39
|
|
|
36
|
-
신용카드 일반결제 를 지원하는 결제대행사 중
|
|
40
|
+
신용카드 일반결제 를 지원하는 결제대행사 중
|
|
41
|
+
|
|
42
|
+
포트원에서 추천드리는 곳은 <Highlight text=""KG이니시스" 와 "한국결제네트웍스(KPN)"" /> 입니다.
|
|
37
43
|
|
|
38
44
|
<Callout icon="" title="일반결제 가이드 자세히 보러가기↗" />
|
|
39
45
|
|
|
@@ -55,7 +61,7 @@ searchTags:
|
|
|
55
61
|
|
|
56
62
|
### **본인인증**
|
|
57
63
|
|
|
58
|
-
본인임을 확인할 수 있는 인증서비스로 결제와 무관하게 인증절차가 필요할 때 사용되며 별도 가입이 필요한 서비스입니다. 보통 회원가입을 진행하는 단계에 도입하거나, 나이 제한 등의 서비스 제한이 필요할 경우 연동하여 사용합니다. 포트원에서 추천드리는 PG
|
|
64
|
+
본인임을 확인할 수 있는 인증서비스로 결제와 무관하게 인증절차가 필요할 때 사용되며 별도 가입이 필요한 서비스입니다. 보통 회원가입을 진행하는 단계에 도입하거나, 나이 제한 등의 서비스 제한이 필요할 경우 연동하여 사용합니다. 포트원에서 추천드리는 PG사는<Highlight text=""다날"" /> 입니다.\
|
|
59
65
|
※ 결제대행사 다날에서 제공하는 휴대폰 본인인증과 인증서비스가 상이하오니 자세한 사항은 아래 서비스 상세가이드를 참조해주시기 바랍니다.
|
|
60
66
|
|
|
61
67
|
<Callout icon="" title="본인인증 가이드 자세히 보러가기↗" />
|
|
@@ -89,7 +95,7 @@ searchTags:
|
|
|
89
95
|
|
|
90
96
|
- 우측 ‘전자결제 직접 선택하기’ 버튼 > 일반결제에서 해외결제를 지원하는 결제대행사 선택 후 ‘신용카드 일반결제’로 신청 가능합니다. 이후, 결제대행사사측에 ‘해외카드’서비스 이용을 별도 요청하시어 계약 진행을 하시기 바랍니다.
|
|
91
97
|
|
|
92
|
-
5
|
|
98
|
+
**5. 추천패키지 신청 고객사에 제공되는 제휴혜택이 있나요?**
|
|
93
99
|
|
|
94
100
|
- 포트원이 추천해드리는 결제대행사 추천패키지를 선택하시면 해당 결제대행사와 계약을 맺으실 때 보다 빠르게 진행 될 수 있습니다.
|
|
95
101
|
- 포트원 추천패키지를 통해 결제대행사(PG사) 계약을 완료한 고객사에는 Salesfroce(세일즈포스) 특별할인가, 메일링 서비스 Stibee(스티비) 요금제 할인코드 서비스까지 특별 제휴혜택을 제공합니다.
|
|
@@ -10,7 +10,7 @@ description: >-
|
|
|
10
10
|
- 포트원을 통해 연동된 아래 12개의 PG사 내역을 조회할 수 있습니다.
|
|
11
11
|
- 지원 PG : **KCP, KG이니시스, 나이스정보통신, 토스페이, 네이버페이, 다날, 페이코, (구)토스페이먼츠, 토스페이먼츠, 카카오페이, 엑심베이, 헥토파이낸셜**
|
|
12
12
|
- 고객사가 포트원을 통하지 않고 PG 직연동한 경우 지원 불가
|
|
13
|
-
- 9/26 이후 지원 예정 PG사 : KPN,
|
|
13
|
+
- 9/26 이후 지원 예정 PG사 : KPN, KSNET
|
|
14
14
|
|
|
15
15
|
- 고객사 주문번호를 정확하게 확인하기 위해서는 **실제 사용하시는 주문번호의 연동**이 필요합니다.
|
|
16
16
|
|
|
@@ -93,7 +93,7 @@ IMP.request_pay(
|
|
|
93
93
|
- payco (페이코)
|
|
94
94
|
- samsung (삼성페이)
|
|
95
95
|
- applepay (애플페이)
|
|
96
|
-
- cultureland (문화상품권)
|
|
96
|
+
- cultureland (컬쳐랜드 문화상품권)
|
|
97
97
|
- smartculture (스마트문화상품권)
|
|
98
98
|
- booknlife (도서문화상품권)
|
|
99
99
|
|
|
@@ -193,7 +193,7 @@ curl -H "Content-Type: application/json" \
|
|
|
193
193
|
|
|
194
194
|
**빌링키로 결제 요청하기**
|
|
195
195
|
|
|
196
|
-
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서
|
|
196
|
+
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서 빌링키 결제([**POST /subscribe/payments/again**](https://developers.portone.io/api/rest-v1/nonAuthPayment?v=v1#post%20%2Fsubscribe%2Fpayments%2Fagain)) REST API를 다음과 같이 호출합니다.
|
|
197
197
|
|
|
198
198
|
```sh
|
|
199
199
|
curl -H "Content-Type: application/json" \
|
|
@@ -110,7 +110,7 @@ IMP.request_pay(
|
|
|
110
110
|
- `trans` (실시간 계좌이체)
|
|
111
111
|
- `vbank`(가상계좌)
|
|
112
112
|
- `phone` (휴대폰소액결제)
|
|
113
|
-
- `cultureland` (문화상품권)
|
|
113
|
+
- `cultureland` (컬쳐랜드 문화상품권)
|
|
114
114
|
- `smartculture` (스마트문상)
|
|
115
115
|
- `booknlife`(도서문화상품권)
|
|
116
116
|
|
|
@@ -275,7 +275,7 @@ curl -H "Content-Type: application/json" \
|
|
|
275
275
|
|
|
276
276
|
**빌링키로 결제 요청하기**
|
|
277
277
|
|
|
278
|
-
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서
|
|
278
|
+
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서 빌링키 결제([**POST /subscribe/payments/again**](https://developers.portone.io/api/rest-v1/nonAuthPayment?v=v1#post%20%2Fsubscribe%2Fpayments%2Fagain)) REST API를 다음과 같이 호출합니다.
|
|
279
279
|
|
|
280
280
|
```sh
|
|
281
281
|
curl -H "Content-Type: application/json" \
|
|
@@ -289,7 +289,7 @@ curl -H "Content-Type: application/json" \
|
|
|
289
289
|
|
|
290
290
|
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다.
|
|
291
291
|
보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서
|
|
292
|
-
|
|
292
|
+
빌링키 결제([**POST /subscribe/payments/again**](https://developers.portone.io/api/rest-v1/nonAuthPayment#post%20%2Fsubscribe%2Fpayments%2Fagain)) REST API를 다음과 같이 호출합니다.
|
|
293
293
|
|
|
294
294
|
```sh
|
|
295
295
|
curl -H "Content-Type: application/json" \
|
|
@@ -334,7 +334,7 @@ curl -H "Content-Type: application/json" \
|
|
|
334
334
|
|
|
335
335
|
**빌링키로 결제 요청하기**
|
|
336
336
|
|
|
337
|
-
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서
|
|
337
|
+
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서 빌링키 결제([**POST /subscribe/payments/again**](https://developers.portone.io/api/rest-v1/nonAuthPayment?v=v1#post%20%2Fsubscribe%2Fpayments%2Fagain)) REST API를 다음과 같이 호출합니다.
|
|
338
338
|
|
|
339
339
|
```sh
|
|
340
340
|
curl -H "Content-Type: application/json" \
|
|
@@ -667,7 +667,7 @@ IMP.request_pay(
|
|
|
667
667
|
kcpQuick: {
|
|
668
668
|
//KCP퀵페이 설정 정보
|
|
669
669
|
actionType: "Register", //결제수단 등록
|
|
670
|
-
|
|
670
|
+
encryptedCI: "encrypted_ci", // 본인인증 후 전달받은 CI를 암호화한 값
|
|
671
671
|
memeberID: "use_your_unique_id", //사용자에 대한 고유 식별값
|
|
672
672
|
},
|
|
673
673
|
},
|
|
@@ -702,7 +702,7 @@ IMP.request_pay(
|
|
|
702
702
|
kcpQuick: {
|
|
703
703
|
//KCP퀵페이 설정 정보
|
|
704
704
|
actionType: "Deregister", //결제수단 삭제
|
|
705
|
-
|
|
705
|
+
encryptedCI: "encrypted_ci", // 본인인증 후 전달받은 CI를 암호화한 값
|
|
706
706
|
memeberID: "use_your_unique_id", //사용자에 대한 고유 식별값
|
|
707
707
|
},
|
|
708
708
|
},
|
|
@@ -741,7 +741,7 @@ IMP.request_pay(
|
|
|
741
741
|
kcpQuick: {
|
|
742
742
|
//KCP퀵페이 설정 정보
|
|
743
743
|
actionType: "Pay", //결제 요청
|
|
744
|
-
|
|
744
|
+
encryptedCI: "encrypted_ci", // 본인인증 후 전달받은 CI를 암호화한 값
|
|
745
745
|
memeberID: "use_your_unique_id", //사용자에 대한 고유 식별값
|
|
746
746
|
},
|
|
747
747
|
},
|
|
@@ -780,7 +780,7 @@ IMP.request_pay(
|
|
|
780
780
|
kcpQuick: {
|
|
781
781
|
//KCP퀵페이 설정 정보
|
|
782
782
|
actionType: "PinChange", //PIN번호 변경
|
|
783
|
-
|
|
783
|
+
encryptedCI: "encrypted_ci", // 본인인증 후 전달받은 CI를 암호화한 값
|
|
784
784
|
memeberID: "use_your_unique_id", //사용자에 대한 고유 식별값
|
|
785
785
|
},
|
|
786
786
|
},
|
|
@@ -815,7 +815,7 @@ IMP.request_pay(
|
|
|
815
815
|
kcpQuick: {
|
|
816
816
|
//KCP퀵페이 설정 정보
|
|
817
817
|
actionType: "PinReset", //PIN번호 초기화
|
|
818
|
-
|
|
818
|
+
encryptedCI: "encrypted_ci", // 본인인증 후 전달받은 CI를 암호화한 값
|
|
819
819
|
memeberID: "use_your_unique_id", //사용자에 대한 고유 식별값
|
|
820
820
|
},
|
|
821
821
|
},
|
|
@@ -854,7 +854,7 @@ IMP.request_pay(
|
|
|
854
854
|
kcpQuick: {
|
|
855
855
|
//KCP퀵페이 설정 정보
|
|
856
856
|
actionType: "PhoneChange", //등록된 휴대폰 번호 변경
|
|
857
|
-
|
|
857
|
+
encryptedCI: "encrypted_ci", // 본인인증 후 전달받은 CI를 암호화한 값
|
|
858
858
|
memeberID: "use_your_unique_id", //사용자에 대한 고유 식별값
|
|
859
859
|
},
|
|
860
860
|
},
|
|
@@ -893,7 +893,7 @@ IMP.request_pay(
|
|
|
893
893
|
kcpQuick: {
|
|
894
894
|
//KCP퀵페이 설정 정보
|
|
895
895
|
actionType: "Terminate", //유저 및 결제수단 삭제
|
|
896
|
-
|
|
896
|
+
encryptedCI: "encrypted_ci", // 본인인증 후 전달받은 CI를 암호화한 값
|
|
897
897
|
memeberID: "use_your_unique_id", //사용자에 대한 고유 식별값
|
|
898
898
|
},
|
|
899
899
|
},
|
|
@@ -997,9 +997,9 @@ IMP.request_pay(
|
|
|
997
997
|
- PhoneChange : 전화번호 변경
|
|
998
998
|
- Terminate : 결제 수단 해지
|
|
999
999
|
|
|
1000
|
-
-
|
|
1000
|
+
- encryptedCI: string
|
|
1001
1001
|
|
|
1002
|
-
|
|
1002
|
+
**암호화된 본인인증 CI**
|
|
1003
1003
|
|
|
1004
1004
|
- memberID: string
|
|
1005
1005
|
|
|
@@ -1051,6 +1051,33 @@ IMP.request_pay(
|
|
|
1051
1051
|
|
|
1052
1052
|
<details>
|
|
1053
1053
|
|
|
1054
|
+
<summary>`encryptedCI` 파라미터 안내</summary>
|
|
1055
|
+
|
|
1056
|
+
본인인증 후 전달받은 CI 값을 아래 방법으로 암호화하여 입력해야합니다.
|
|
1057
|
+
|
|
1058
|
+
포트원 계정의 [REST API Secret](https://developers.portone.io/api/rest-v1/auth?v=v1) 을 SHA-256 해시 알고리즘으로 처리하여 암호화 키를 생성한 후, 해당 키를 사용해 CI 데이터를 AES-256-ECB 방식으로 암호화해야 합니다.
|
|
1059
|
+
암호화된 결과는 Base64로 인코딩하여 encryptedCI 파라미터 값으로 전달합니다.
|
|
1060
|
+
|
|
1061
|
+
```pseudo
|
|
1062
|
+
FUNCTION encryptCi(ci, apiSecret):
|
|
1063
|
+
# Step 1: SHA-256으로 API Secret을 해시하여 암호화 키 생성
|
|
1064
|
+
key = SHA256(apiSecret)
|
|
1065
|
+
|
|
1066
|
+
# Step 2: AES-256-ECB 알고리즘으로 CI 데이터를 암호화
|
|
1067
|
+
encryptedData = AES256Encrypt(data = ci, key = key, mode = ECB)
|
|
1068
|
+
|
|
1069
|
+
# Step 3: 암호화된 데이터를 Base64로 인코딩
|
|
1070
|
+
base64EncodedData = Base64Encode(encryptedData)
|
|
1071
|
+
|
|
1072
|
+
# Step 4: Base64 인코딩된 결과 반환
|
|
1073
|
+
RETURN base64EncodedData
|
|
1074
|
+
END FUNCTION
|
|
1075
|
+
```
|
|
1076
|
+
|
|
1077
|
+
</details>
|
|
1078
|
+
|
|
1079
|
+
<details>
|
|
1080
|
+
|
|
1054
1081
|
<summary>결제수단을 여러개 등록할 수 있습니다.</summary>
|
|
1055
1082
|
|
|
1056
1083
|
한 고객에게 여러개의 결제수단을 등록할 수 있습니다.
|
|
@@ -1063,7 +1090,7 @@ IMP.request_pay(
|
|
|
1063
1090
|
|
|
1064
1091
|
<summary>결제수단 삭제 요청시 등록할 때 입력한 정보를 동일하게 입력해야 합니다.</summary>
|
|
1065
1092
|
|
|
1066
|
-
결제수단 삭제(actionType:Deregister) 요청시 결제수단 등록할 때 사용된 `customer_uid` + `
|
|
1093
|
+
결제수단 삭제(actionType:Deregister) 요청시 결제수단 등록할 때 사용된 `customer_uid` + `encryptedCI` + `memberID` + `deviceID` + `noAuth` 조합을
|
|
1067
1094
|
동일하게 전송해야 합니다.
|
|
1068
1095
|
|
|
1069
1096
|
</details>
|
|
@@ -22,7 +22,7 @@ targetVersions:
|
|
|
22
22
|
|
|
23
23
|
## 비인증 결제
|
|
24
24
|
|
|
25
|
-
(신) 나이스정보통신은 발급 된 빌링키로
|
|
25
|
+
(신) 나이스정보통신은 발급 된 빌링키로 결제(`POST /subscribe/payments/again`),
|
|
26
26
|
키인 결제(`POST /subscribe/payments/onetime`) 그리고 스케줄 결제(`POST /subscribe/payments/schedule`)를
|
|
27
27
|
모두 지원하며 기본 파라미터 외에 아래 3개의 파라미터를 추가로 지원합니다.
|
|
28
28
|
|
|
@@ -169,7 +169,7 @@ curl -H "Content-Type: application/json" \
|
|
|
169
169
|
|
|
170
170
|
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다.
|
|
171
171
|
보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서
|
|
172
|
-
|
|
172
|
+
빌링키 결제([**POST /subscribe/payments/again**](https://developers.portone.io/api/rest-v1/nonAuthPayment?v=v1#post%20%2Fsubscribe%2Fpayments%2Fagain)) REST API를 다음과 같이 호출합니다.
|
|
173
173
|
|
|
174
174
|
```sh
|
|
175
175
|
curl -H "Content-Type: application/json" \
|
|
@@ -78,9 +78,14 @@ SDK 스크립트의 주소가 `https://cdn.iamport.kr/v1/iamport.js` 인지 확
|
|
|
78
78
|
|
|
79
79
|
</div>
|
|
80
80
|
|
|
81
|
+
## 결제수단별 승인 가능 통화
|
|
82
|
+
|
|
83
|
+
- 카드: `KRW`, `USD`, `JPY`
|
|
84
|
+
- Alipay: `USD`, `CNY`
|
|
85
|
+
- WeChatPay: `KRW`, `USD`, `CNY`
|
|
86
|
+
|
|
81
87
|
## 유의사항
|
|
82
88
|
|
|
83
89
|
- `merchant_uid` 에는 영문, 숫자만으로 이루어진 문자열만 입력할 수 있습니다.
|
|
84
|
-
- 페이레터의 경우 구매자 이메일을 필수로
|
|
85
|
-
- 해외결제시 카드는 `KRW`, `USD`, `JPY`, 알리페이⋅위챗페이는 `CNY`를 지원합니다.
|
|
90
|
+
- 페이레터의 경우 구매자 이메일을 필수로 받고 있어,`buyer_email`을 필수로 입력하셔야 합니다.
|
|
86
91
|
- WeChatPay, Alipay 결제 시 `bypass.payletter_global.servicename` 파라미터를 필수로 입력하셔야 합니다.
|
|
@@ -58,8 +58,6 @@ versionVariants:
|
|
|
58
58
|
|
|
59
59
|
[토스페이먼츠 브랜드페이](https://developers.portone.io/opi/ko/integration/pg/v1/toss-brandpay/readme)
|
|
60
60
|
|
|
61
|
-
[하이픈](https://developers.portone.io/opi/ko/integration/pg/v1/hyphen)
|
|
62
|
-
|
|
63
61
|
## 해외결제
|
|
64
62
|
|
|
65
63
|
[엑심베이](https://developers.portone.io/opi/ko/integration/pg/v1/eximbay)
|
|
@@ -240,10 +240,10 @@ status가 cancelled 이고 cancel\_history에 취소 요청 내역이 있는 경
|
|
|
240
240
|
|
|
241
241
|
페이팔은 이상 거래를 줄이기 위해 Risk Data Acquisition 정책을 시행하고 있습니다.
|
|
242
242
|
일반 결제나 빌링키 발급은 페이팔 버튼을 통해 진행되기 때문에 페이팔이 이상 거래 판단을 위한 구매자 접속 정보를 얻을 수 있지만,
|
|
243
|
-
발급 된 빌링키로
|
|
243
|
+
발급 된 빌링키로 결제 (again API 호출) 할때는 고객사 서버에서 포트원 API를 통해 페이팔 API가 호출되는 구조이기 때문에
|
|
244
244
|
이상 거래 판단을 위한 구매자 접속 정보를 얻을 수 없습니다.
|
|
245
245
|
|
|
246
|
-
따라서 발급 된 빌링키로
|
|
246
|
+
따라서 발급 된 빌링키로 결제를 할때는 구매자의 브라우저/디바이스 접속 정보를 페이팔에 전달할 수 있도록
|
|
247
247
|
**again API가 호출되는 고객사 클라이언트 페이지에 반드시 페이팔 Fraudnet 스크립트/Magnes SDK를 아래와 같이 추가해야** 합니다.
|
|
248
248
|
|
|
249
249
|
**페이팔 정기결제를 통한 again API 호출시에는 Magnes & Fraudnet 조치가
|
|
@@ -333,7 +333,7 @@ STC 기능을 사용하시기 위해 다음 정보를 확인하셔야 합니다.
|
|
|
333
333
|
|
|
334
334
|
1. 페이팔 Business 계정 가입시 산업 종류(Industry)를 결정하는데, 계정의 산업 종류를 확인해야 합니다.
|
|
335
335
|
|
|
336
|
-
2. 계정의 산업 종류를 확인하신 뒤, loadUI 호출 해 빌링키를 발급 받을때 그리고 발급 된 빌링키로
|
|
336
|
+
2. 계정의 산업 종류를 확인하신 뒤, loadUI 호출 해 빌링키를 발급 받을때 그리고 발급 된 빌링키로 결제(again API 호출)할 때
|
|
337
337
|
모두 bypass.paypal\_v2 객체에 아래와 같은 형식으로 전달해주셔야 합니다.
|
|
338
338
|
|
|
339
339
|
<details>
|
|
@@ -36,10 +36,10 @@ GET /subscribe/customers/{customer_uid}
|
|
|
36
36
|
페이팔은 이상 거래를 줄이기 위해 Risk Data Acquisition 정책을 시행하고 있습니다.
|
|
37
37
|
일반 결제나 빌링키 발급은 페이팔 버튼을 통해 진행되기 때문에
|
|
38
38
|
페이팔이 이상 거래 판단을 위한 구매자 접속 정보를 얻을 수 있지만,
|
|
39
|
-
브라우저에서 발급 된 빌링키로
|
|
39
|
+
브라우저에서 발급 된 빌링키로 결제 (again API 호출) 할때는 고객사 브라우저에서 포트원 API를 통해
|
|
40
40
|
페이팔 API가 호출되는 구조이기 때문에 이상 거래 판단을 위한 구매자 접속 정보를 얻을 수 없습니다.
|
|
41
41
|
|
|
42
|
-
따라서 발급 된 빌링키로
|
|
42
|
+
따라서 발급 된 빌링키로 결제를 할때는 구매자의 브라우저/디바이스 접속 정보를
|
|
43
43
|
페이팔에 전달할 수 있도록 **again API가 호출되는 고객사 클라이언트 페이지에
|
|
44
44
|
반드시 페이팔 Fraudnet 스크립트/Magnes SDK를 아래와 같이 추가해야** 합니다.
|
|
45
45
|
|
|
@@ -168,7 +168,7 @@ curl -H "Content-Type: application/json" \
|
|
|
168
168
|
|
|
169
169
|
**빌링키로 결제 요청하기**
|
|
170
170
|
|
|
171
|
-
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서
|
|
171
|
+
빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서 빌링키 결제([**POST /subscribe/payments/again**](https://developers.portone.io/api/rest-v1/nonAuthPayment?v=v1#post%20%2Fsubscribe%2Fpayments%2Fagain)) REST API를 다음과 같이 호출합니다.
|
|
172
172
|
|
|
173
173
|
```sh
|
|
174
174
|
curl -H "Content-Type: application/json" \
|
|
@@ -309,7 +309,7 @@ PortOne.requestPayment({
|
|
|
309
309
|
### 주문 번호에 특수문자 입력 불가능
|
|
310
310
|
|
|
311
311
|
스마트로는 주문 번호(`merchant_uid`)에 특수문자를 허용하고 있지 않습니다.
|
|
312
|
-
따라서 결제창에서 일반결제를 할 때와 발급된 빌링키로 API를 통해
|
|
312
|
+
따라서 결제창에서 일반결제를 할 때와 발급된 빌링키로 API를 통해 결제를 하는 경우
|
|
313
313
|
숫자, 문자(알파벳 소문자와 대문자) 또는 그 조합으로 이루어진 주문 번호를 사용해주세요.
|
|
314
314
|
|
|
315
315
|
### 주문 번호 40자 길이 제한
|
|
@@ -257,7 +257,7 @@ IMP.request_pay(
|
|
|
257
257
|
|
|
258
258
|
**빌링키로 결제 요청하기**
|
|
259
259
|
|
|
260
|
-
빌링키 발급 시 전달한 `customer_uid`를 이용해서
|
|
260
|
+
빌링키 발급 시 전달한 `customer_uid`를 이용해서 빌링키 결제([**POST /subscribe/payments/again**](https://developers.portone.io/api/rest-v1/nonAuthPayment?v=v1#post%20%2Fsubscribe%2Fpayments%2Fagain)) REST API를 다음과 같이 호출합니다.
|
|
261
261
|
|
|
262
262
|
```ts
|
|
263
263
|
await fetch("https://api.iamport.kr/subscribe/payments/again", {
|
|
@@ -1078,3 +1078,5 @@ const response = await axios({
|
|
|
1078
1078
|
- Klarna(`P197`) : 엑심베이 정책에 따라 신규 결제 사용 불가
|
|
1079
1079
|
|
|
1080
1080
|
- 모바일 앱 내에서 결제를 연동할 경우 `appScheme` 파라미터를 설정하고 `bypass.eximbay_v2.settings.call_from_app` 파라미터를 "Y"로 설정해야 합니다.
|
|
1081
|
+
|
|
1082
|
+
- 엑심베이의 경우 결제창을 닫은 이후에 결제가 성공 처리될 수 있습니다. 웹훅을 연동하여 결제 실패 상태에서 결제 성공 상태로 바뀌는 경우를 처리해야 합니다.
|
|
@@ -61,9 +61,16 @@ targetVersions:
|
|
|
61
61
|
빌링키 발급 및 결제 요청 시에는 [requestIssueBillingKeyAndPay](https://developers.portone.io/sdk/ko/v2-sdk/billing-key-and-pay-request?v=v2) 함수를 호출해야 합니다.
|
|
62
62
|
`channelKey` 파라미터에 결제 채널 연동 후 생성된 채널 키값을 지정하여 페이레터 해외결제 채널 사용을 명시해주세요.
|
|
63
63
|
|
|
64
|
+
## 결제수단별 승인 가능 통화
|
|
65
|
+
|
|
66
|
+
- 카드: `KRW`, `USD`, `JPY`
|
|
67
|
+
- Alipay: `USD`, `CNY`
|
|
68
|
+
- Alipay+: `USD`
|
|
69
|
+
- WeChatPay: `KRW`, `USD`, `CNY`
|
|
70
|
+
|
|
64
71
|
## 유의사항
|
|
65
72
|
|
|
66
73
|
- `paymentId` 에는 영문, 숫자만으로 이루어진 문자열만 입력할 수 있습니다.
|
|
67
74
|
- 페이레터의 경우 구매자 이메일을 필수로 받고있어,`customer.email`을 필수로 입력하셔야 합니다.
|
|
68
|
-
- 해외결제시 카드는 `KRW`, `USD`, `JPY`, 알리페이⋅위챗페이는 `CNY`를 지원합니다.
|
|
69
75
|
- WeChatPay, Alipay, Alipay+ 결제 시 `bypass.payletter_global.servicename` 파라미터를 필수로 입력하셔야 합니다.
|
|
76
|
+
- 페이레터의 경우 결제창을 닫은 이후에 결제가 성공 처리될 수 있습니다. 웹훅을 연동하여 결제 실패 상태에서 결제 성공 상태로 바뀌는 경우를 처리해야 합니다.
|
|
@@ -1760,7 +1760,7 @@ Pay Later(할부) 기능을 여러 국가에 제공하기 위해서는 **페이
|
|
|
1760
1760
|
페이팔은 이상 거래를 줄이기 위해 Risk Data Acquisition 정책을 시행하고 있습니다.
|
|
1761
1761
|
일반적으로 페이팔 창에서 진행되는 결제나 빌링키 발급은 페이팔이 구매자 접속 정보를 직접 확인하여 이상 거래를 판단합니다.
|
|
1762
1762
|
|
|
1763
|
-
하지만 발급된 빌링키로 브라우저에서
|
|
1763
|
+
하지만 발급된 빌링키로 브라우저에서 결제하는 경우 \[고객사 브라우저]에서 \[포트원 API]를 통해 \[페이팔 API]가 호출되는 구조로 페이팔이 구매자 접속 정보를 직접 확인할 수 없어 이상거래를 판단하기 어렵습니다.
|
|
1764
1764
|
따라서 구매자의 브라우저/디바이스 접속 정보를 페이팔에 전달해야 합니다.
|
|
1765
1765
|
때문에 브라우저에서 발급된 빌링키를 이용하여 결제를 호출하는 경우 **고객사 클라이언트 페이지에 페이팔 Fraudnet 스크립트/Magnes SDK를 반드시 추가해야** 합니다.
|
|
1766
1766
|
|
|
@@ -218,7 +218,7 @@ async function schedulePayment() {
|
|
|
218
218
|
- 상품권 결제 요청 시, 사용하고자 하는 상품권 종류에 따라 아래 목록을 참고하여 `giftCertificateType` 파라미터를 입력해야 합니다.
|
|
219
219
|
- 도서문화상품권 : `BOOKNLIFE`
|
|
220
220
|
- 스마트문상 ((구)게임문화상품권) : `SMART_MUNSANG`
|
|
221
|
-
- 문화상품권 : `CULTURELAND`
|
|
221
|
+
- 컬쳐랜드 문화상품권 : `CULTURELAND`
|
|
222
222
|
|
|
223
223
|
- `paymentId`
|
|
224
224
|
- 토스페이먼츠를 사용하는 경우 영문 대소문자, 숫자, 특수문자(-,\_)만 허용되며, 6자 이상 64자 이하만 가능합니다.
|
|
@@ -840,38 +840,6 @@ DI\_CODE는 12자리로 고객사에서 자체적으로 사이트(서비스)를
|
|
|
840
840
|
|
|
841
841
|
<!-- VERSION-SPECIFIC: V1 ONLY CONTENT END -->
|
|
842
842
|
|
|
843
|
-
<!-- VERSION-SPECIFIC: V2 ONLY CONTENT START -->
|
|
844
|
-
|
|
845
|
-
<details>
|
|
846
|
-
|
|
847
|
-
<summary>하이픈</summary>
|
|
848
|
-
|
|
849
|
-
1. [HYPHEN PAY & 바로계좌결제 운영 백오피스](http://payadmin.hyphen.im/) 접속 후 **바로계좌결제** 선택 후
|
|
850
|
-
로그인을 합니다.
|
|
851
|
-
|
|
852
|
-
(이미지 첨부: HYPHEN 백오피스 로그인 화면)
|
|
853
|
-
|
|
854
|
-
2. \[상점관리]→\[바로계좌결제 상점정보관리]를 클릭합니다.
|
|
855
|
-
|
|
856
|
-
3. 상점명을 클릭합니다.
|
|
857
|
-
|
|
858
|
-
(이미지 첨부: HYPHEN \[상점관리] - \[상점정보관리] 예시 화면)
|
|
859
|
-
|
|
860
|
-
4. \[상점 기본정보]에서 \[상점번호]를 확인합니다.
|
|
861
|
-
|
|
862
|
-
(이미지 첨부: HYPHEN \[상점 기본정보] 예시 화면)
|
|
863
|
-
|
|
864
|
-
5. \[암호화 키, 토큰]에서 \[암호화 키]와 \[암호화 토큰]을 확인합니다.
|
|
865
|
-
|
|
866
|
-
(이미지 첨부: HYPHEN \[암호화 키, 토큰] 예시 화면)
|
|
867
|
-
|
|
868
|
-
6. 포트원 콘솔에서 채널 추가 시 \[PG상점아이디(상점 번호)], \[암호화 키], \[암호화 토큰]을
|
|
869
|
-
입력한 후 \[저장]을 클릭합니다.
|
|
870
|
-
|
|
871
|
-
</details>
|
|
872
|
-
|
|
873
|
-
<!-- VERSION-SPECIFIC: V2 ONLY CONTENT END -->
|
|
874
|
-
|
|
875
843
|
#### 해외 결제대행사
|
|
876
844
|
|
|
877
845
|
<details>
|
|
@@ -909,6 +877,24 @@ PG 거래대사 메뉴를 사용하시는 경우 \[대사 시크릿 키] 항목
|
|
|
909
877
|
|
|
910
878
|
3. 포트원 콘솔에서 채널 추가 시 \[Project Key], \[Secret Key]를 입력한 후 `저장`을 클릭합니다.
|
|
911
879
|
|
|
880
|
+
#### 핑백(Pingback) URL 설정하기
|
|
881
|
+
|
|
882
|
+
페이먼트월에서 포트원으로 결제 결과를 전달받기 위해 핑백 URL을 설정해야 합니다.
|
|
883
|
+
|
|
884
|
+
1. [페이먼트월](https://api.paymentwall.com/developers/applications) 페이지에서 \[My Projects]를 클릭합니다.
|
|
885
|
+
|
|
886
|
+
(이미지 첨부: 페이먼트월 My Projects 메뉴)
|
|
887
|
+
|
|
888
|
+
2. 사용할 프로젝트의 \[Settings] 탭을 클릭합니다.
|
|
889
|
+
|
|
890
|
+
(이미지 첨부: 페이먼트월 프로젝트 setting 탭)
|
|
891
|
+
|
|
892
|
+
3. \[Pingback type]을 `URL`로 선택합니다.
|
|
893
|
+
4. \[Pingback URL]에 `https://service.iamport.kr/paymentwall/webhook`를 입력합니다.
|
|
894
|
+
5. \[Pingback signature version]을 `3`으로 설정합니다.
|
|
895
|
+
|
|
896
|
+
(이미지 첨부: 페이먼트월 Pingback 설정 화면)
|
|
897
|
+
|
|
912
898
|
</details>
|
|
913
899
|
|
|
914
900
|
<!-- VERSION-SPECIFIC: V1 ONLY CONTENT END -->
|
|
@@ -46,7 +46,7 @@ Webhook을 활용하면 커스텀 기능이나 다른 애플리케이션과 연
|
|
|
46
46
|
- `Transaction.PartialCancelled`: **결제가 부분 취소**되었을 때
|
|
47
47
|
- `Transaction.Cancelled`: **결제가 완전 취소**되었을 때
|
|
48
48
|
- `Transaction.Failed`: **결제(예약 결제 포함)가 실패**했을 때
|
|
49
|
-
- `Transaction.PayPending`: **결제 승인 대기** 상태가 되었을 때 (
|
|
49
|
+
- `Transaction.PayPending`: **결제 승인 대기** 상태가 되었을 때 (페이팔에서 발생 가능)
|
|
50
50
|
- `Transaction.CancelPending`: (결제 취소가 비동기로 수행되는 경우) **결제 취소를 요청**했을 때
|
|
51
51
|
- `Transaction.DisputeCreated`: **분쟁이 발생**되었을 때
|
|
52
52
|
- `Transaction.DisputeResolved`: **분쟁이 해소**되었을 때
|
|
@@ -127,7 +127,7 @@ Webhook을 활용하면 커스텀 기능이나 다른 애플리케이션과 연
|
|
|
127
127
|
- `PartialCancelled`: **결제가 부분 취소**되었을 때
|
|
128
128
|
- `Cancelled`: **결제가 완전 취소**되었을 때
|
|
129
129
|
- `Failed`: **결제(예약 결제 포함)가 실패**했을 때
|
|
130
|
-
- `PayPending`: **결제 승인 대기** 상태가 되었을 때 (
|
|
130
|
+
- `PayPending`: **결제 승인 대기** 상태가 되었을 때 (페이팔에서 발생 가능)
|
|
131
131
|
- `CancelPending`: (결제 취소가 비동기로 수행되는 경우) **결제 취소를 요청**했을 때
|
|
132
132
|
|
|
133
133
|
웹훅 payload 예시:
|