@portone/mcp-server 0.15.0-alpha.5 → 0.16.0

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.
Files changed (182) hide show
  1. package/assets/docs/blog/posts/2025-12/portone-chatbot.md +116 -0
  2. package/assets/docs/help/admin-console/analytics/content32.md +0 -32
  3. package/assets/docs/help/admin-console/console-account/content31.md +2 -10
  4. package/assets/docs/help/admin-console/console_home/content34.md +5 -44
  5. package/assets/docs/help/admin-console/integration/content28.md +9 -21
  6. package/assets/docs/help/admin-console/payment-service/content29.md +7 -153
  7. package/assets/docs/help/admin-console/pg-settlement/content30.md +2 -13
  8. package/assets/docs/help/admin-console/pg-settlement-history/content35.md +2 -9
  9. package/assets/docs/help/admin-console-2025-10-17.md +47 -0
  10. package/assets/docs/help/content61.md +1 -1
  11. package/assets/docs/help/core-service/channel-setting/danal.md +5 -5
  12. package/assets/docs/help/core-service/channel-setting/daou.md +5 -0
  13. package/assets/docs/help/core-service/channel-setting/galaxia.md +93 -0
  14. package/assets/docs/help/core-service/channel-setting/inicis.md +32 -49
  15. package/assets/docs/help/core-service/channel-setting/kcp_channel.md +60 -41
  16. package/assets/docs/help/core-service/channel-setting/kicc.md +57 -3
  17. package/assets/docs/help/core-service/channel-setting/kpn.md +3 -2
  18. package/assets/docs/help/core-service/channel-setting/mobilians.md +22 -27
  19. package/assets/docs/help/core-service/channel-setting/nice.md +8 -6
  20. package/assets/docs/help/core-service/channel-setting/payco.md +5 -3
  21. package/assets/docs/help/core-service/channel-setting/payletter.md +3 -3
  22. package/assets/docs/help/core-service/how-to-use/additional-galaxia.md +36 -0
  23. package/assets/docs/help/core-service/how-to-use/additional-mobilians.md +15 -21
  24. package/assets/docs/help/core-service/how-to-use/content200009.md +10 -9
  25. package/assets/docs/help/core-service/how-to-use/galaxia-contract.md +67 -0
  26. package/assets/docs/help/core-service/how-to-use/high-risk-industry.md +38 -46
  27. package/assets/docs/help/core-service/how-to-use/information-pg.md +3 -3
  28. package/assets/docs/help/core-service/how-to-use/kcp-contract.md +5 -1
  29. package/assets/docs/help/core-service/how-to-use/kicc-contract.md +38 -7
  30. package/assets/docs/help/core-service/how-to-use/mobilians-contract.md +26 -21
  31. package/assets/docs/help/core-service/how-to-use/requirements.md +5 -1
  32. package/assets/docs/help/core-service/how-to-use/shopify-guide.md +2 -2
  33. package/assets/docs/help/core-service/how-to-use/test-mode-cancel.md +6 -4
  34. package/assets/docs/help/core-service/how-to-use/wordpress-setting.md +2 -1
  35. package/assets/docs/help/core-service/payment-type/content200007.md +1 -1
  36. package/assets/docs/help/core-service/payment-type/content200047.md +28 -42
  37. package/assets/docs/help/core-service/payment-type/content200052.md +8 -1
  38. package/assets/docs/help/core-service/payment-type/hub-service-fee.md +1 -1
  39. package/assets/docs/help/core-service/payment-type/internationl-high-risk-industry.md +67 -26
  40. package/assets/docs/help/core-service/payment-type/internationl-pg.md +3 -1
  41. package/assets/docs/help/core-service/payment-type/schedule-requirement.md +1 -4
  42. package/assets/docs/help/faq/general-inquiry/confirm-process.md +5 -11
  43. package/assets/docs/help/faq/general-inquiry/portone-security.md +59 -0
  44. package/assets/docs/help/faq/general-inquiry/real-channel-info.md +1 -1
  45. package/assets/docs/help/faq/payment-faq/pg-max-min-amount.md +3 -3
  46. package/assets/docs/help/faq/payment-faq/vbank-service-detail.md +1 -1
  47. package/assets/docs/help/faq/payment-faq/vbank-test-guide.md +1 -8
  48. package/assets/docs/help/faq/platform-faq/platform_definition_partner.md +1 -1
  49. package/assets/docs/help/faq/platform-faq/platform_definition_settlement.md +1 -1
  50. package/assets/docs/help/faq/platform-faq/platform_definition_tax.md +24 -0
  51. package/assets/docs/help/faq/platform-faq/platform_introduction.md +1 -1
  52. package/assets/docs/help/faq/platform-faq/platform_introduction_conditions.md +19 -5
  53. package/assets/docs/help/faq/platform-faq/platform_nocode_hosting.md +1 -1
  54. package/assets/docs/help/faq/platform-faq/platform_nocode_use.md +1 -1
  55. package/assets/docs/help/faq/tax-invoice-faq/account_management_guide.md +37 -0
  56. package/assets/docs/help/faq/tax-invoice-faq/bulk_registration_account.md +16 -0
  57. package/assets/docs/help/faq/tax-invoice-faq/difference_account_partner.md +25 -0
  58. package/assets/docs/help/faq/{platform-faq → tax-invoice-faq}/platform_partnerships.md +1 -1
  59. package/assets/docs/help/faq/{platform-faq → tax-invoice-faq}/taxinvoice_bulk_issuance.md +1 -1
  60. package/assets/docs/help/faq/{platform-faq → tax-invoice-faq}/taxinvoice_cancel.md +1 -1
  61. package/assets/docs/help/faq/{platform-faq → tax-invoice-faq}/taxinvoice_delayed.md +1 -1
  62. package/assets/docs/help/faq/{platform-faq → tax-invoice-faq}/taxinvoice_forward_issuance.md +1 -1
  63. package/assets/docs/help/faq/{platform-faq → tax-invoice-faq}/taxinvoice_guide_atoz.md +1 -1
  64. package/assets/docs/help/faq/{platform-faq → tax-invoice-faq}/taxinvoice_partner_peristalsis.md +1 -1
  65. package/assets/docs/help/faq/{platform-faq → tax-invoice-faq}/taxinvoice_reverse_issuance_definition.md +1 -1
  66. package/assets/docs/help/faq/{platform-faq → tax-invoice-faq}/taxinvoice_reverse_issuance_partner_signup.md +1 -1
  67. package/assets/docs/help/notice-tosspayments-2026-01-15.md +62 -0
  68. package/assets/docs/help/notice-vape-2026-02-19.md +52 -0
  69. package/assets/docs/help/platform-2025-07-23.md +76 -0
  70. package/assets/docs/help/platform-2025-08-13.md +92 -0
  71. package/assets/docs/help/platform-2025-08-21.md +51 -0
  72. package/assets/docs/help/platform-2025-08-28.md +51 -0
  73. package/assets/docs/help/platform-2025-10-02.md +90 -0
  74. package/assets/docs/help/pricing/pg/domestic-and-oversea-fees.md +4 -2
  75. package/assets/docs/help/pricing/portone/portone-pricing.md +3 -1
  76. package/assets/docs/help/procedure/pg-application/content54.md +2 -0
  77. package/assets/docs/help/procedure/pg-application/start.md +8 -24
  78. package/assets/docs/help/procedure/recommendation/package.md +4 -2
  79. package/assets/docs/help/procedure/service-addition/add-service.md +2 -0
  80. package/assets/docs/help/service/identity-verification/identity-verification.md +2 -4
  81. package/assets/docs/help/service/integration-type/integration-type.md +1 -2
  82. package/assets/docs/help/service/pg/pg-service-list.md +29 -6
  83. package/assets/docs/opi/ko/console/guide/reg.md +1 -1
  84. package/assets/docs/opi/ko/extra/confirm-process/readme-v1.md +5 -7
  85. package/assets/docs/opi/ko/extra/confirm-process/readme-v2.md +2 -2
  86. package/assets/docs/opi/ko/extra/identity-verification/readme-v2.md +1 -1
  87. package/assets/docs/opi/ko/extra/link-pay/readme-v1.md +36 -4
  88. package/assets/docs/opi/ko/extra/manual-confirm/readme-v2.md +1 -1
  89. package/assets/docs/opi/ko/extra/mobile-payment/readme-v2.md +610 -0
  90. package/assets/docs/opi/ko/extra/smart-routing/intro.md +1 -1
  91. package/assets/docs/opi/ko/integration/cancel/v1/virtual-account.md +4 -1
  92. package/assets/docs/opi/ko/integration/cancel/v2/readme.md +4 -1
  93. package/assets/docs/opi/ko/integration/pg/v1/blue.md +36 -0
  94. package/assets/docs/opi/ko/integration/pg/v1/danal.md +134 -4
  95. package/assets/docs/opi/ko/integration/pg/v1/daou/readme.md +203 -28
  96. package/assets/docs/opi/ko/integration/pg/v1/eximbay.md +121 -19
  97. package/assets/docs/opi/ko/integration/pg/v1/galaxia.md +591 -0
  98. package/assets/docs/opi/ko/integration/pg/v1/inicis-jp.md +517 -0
  99. package/assets/docs/opi/ko/integration/pg/v1/inicis.md +177 -0
  100. package/assets/docs/opi/ko/integration/pg/v1/kakaopay.md +145 -2
  101. package/assets/docs/opi/ko/integration/pg/v1/kcp-v2-identity-verification.md +2 -0
  102. package/assets/docs/opi/ko/integration/pg/v1/kg-mobilians-v2.md +29 -18
  103. package/assets/docs/opi/ko/integration/pg/v1/kg.md +65 -12
  104. package/assets/docs/opi/ko/integration/pg/v1/kicc-v2.md +275 -0
  105. package/assets/docs/opi/ko/integration/pg/v1/kicc.md +117 -4
  106. package/assets/docs/opi/ko/integration/pg/v1/ksnet/readme.md +22 -2
  107. package/assets/docs/opi/ko/integration/pg/v1/naver.md +60 -0
  108. package/assets/docs/opi/ko/integration/pg/v1/newtoss/readme.md +117 -7
  109. package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp/kcp-quickpay.md +24 -32
  110. package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp/readme.md +164 -3
  111. package/assets/docs/opi/ko/integration/pg/v1/nice-v2/billing-api-caution.md +6 -6
  112. package/assets/docs/opi/ko/integration/pg/v1/nice-v2/readme.md +177 -2
  113. package/assets/docs/opi/ko/integration/pg/v1/nice.md +124 -5
  114. package/assets/docs/opi/ko/integration/pg/v1/payco.md +87 -3
  115. package/assets/docs/opi/ko/integration/pg/v1/payletter-global.md +142 -1
  116. package/assets/docs/opi/ko/integration/pg/v1/paymentwall.md +45 -1
  117. package/assets/docs/opi/ko/integration/pg/v1/paypal.md +38 -2
  118. package/assets/docs/opi/ko/integration/pg/v1/readme.md +9 -3
  119. package/assets/docs/opi/ko/integration/pg/v1/rt/readme.md +52 -16
  120. package/assets/docs/opi/ko/integration/pg/v1/settle/mybank.md +138 -56
  121. package/assets/docs/opi/ko/integration/pg/v1/settle/readme.md +50 -0
  122. package/assets/docs/opi/ko/integration/pg/v1/smartro-v2/readme.md +126 -0
  123. package/assets/docs/opi/ko/integration/pg/v1/smartro.md +78 -0
  124. package/assets/docs/opi/ko/integration/pg/v1/smilepay.md +49 -3
  125. package/assets/docs/opi/ko/integration/pg/v1/spb/readme.md +96 -25
  126. package/assets/docs/opi/ko/integration/pg/v1/toss-brandpay/module.md +1 -1
  127. package/assets/docs/opi/ko/integration/pg/v1/toss-brandpay/readme.md +34 -2
  128. package/assets/docs/opi/ko/integration/pg/v1/toss.md +114 -1
  129. package/assets/docs/opi/ko/integration/pg/v1/tosspay-v2/readme.md +74 -15
  130. package/assets/docs/opi/ko/integration/pg/v1/tosspay.md +41 -1
  131. package/assets/docs/opi/ko/integration/pg/v1/welcome/readme.md +12 -0
  132. package/assets/docs/opi/ko/integration/pg/v2/galaxia.md +662 -0
  133. package/assets/docs/opi/ko/integration/pg/v2/inicis-jp.md +6 -18
  134. package/assets/docs/opi/ko/integration/pg/v2/inicis-unified-identity-verification.md +0 -4
  135. package/assets/docs/opi/ko/integration/pg/v2/inicis-v2.md +2 -2
  136. package/assets/docs/opi/ko/integration/pg/v2/kcp-v2-identity-verification.md +1 -1
  137. package/assets/docs/opi/ko/integration/pg/v2/kcp-v2.md +2 -2
  138. package/assets/docs/opi/ko/integration/pg/v2/kicc-v2.md +316 -0
  139. package/assets/docs/opi/ko/integration/pg/v2/kpn.md +3 -3
  140. package/assets/docs/opi/ko/integration/pg/v2/ksnet.md +8 -0
  141. package/assets/docs/opi/ko/integration/pg/v2/paymentwall.md +171 -0
  142. package/assets/docs/opi/ko/integration/pg/v2/readme.md +16 -0
  143. package/assets/docs/opi/ko/integration/pg/v2/smartro-v2.md +1 -1
  144. package/assets/docs/opi/ko/integration/pg/v2/triple-a.md +342 -0
  145. package/assets/docs/opi/ko/integration/pg/v2/welcome.md +1 -1
  146. package/assets/docs/opi/ko/integration/ready/readme.md +113 -164
  147. package/assets/docs/opi/ko/integration/start/v1/non-auth.md +1 -1
  148. package/assets/docs/opi/ko/integration/start/v2/checkout.md +59 -29
  149. package/assets/docs/opi/ko/integration/using-ai-tools.md +42 -0
  150. package/assets/docs/opi/ko/quick-guide/payment.md +5 -5
  151. package/assets/docs/opi/ko/readme.md +2 -2
  152. package/assets/docs/opi/ko/support/code-info/pg-2.md +2 -2
  153. package/assets/docs/opi/ko/support/code-info/pg-3.md +3 -3
  154. package/assets/docs/opi/ko/support/code-info/pg.md +1 -1
  155. package/assets/docs/platform/ko/guides/dictionary.md +47 -0
  156. package/assets/docs/release-notes/api-sdk/2023-07-03.md +3 -3
  157. package/assets/docs/release-notes/platform/2023-08-31.md +2 -2
  158. package/assets/docs/release-notes/platform/2024-08-22.md +5 -5
  159. package/assets/docs/release-notes/platform/2024-10-21.md +9 -9
  160. package/assets/docs/release-notes/platform/2025-02-10.md +2 -2
  161. package/assets/docs/release-notes/platform/2026-02-19.md +55 -0
  162. package/assets/docs/release-notes/platform/2026-03-06.md +198 -0
  163. package/assets/docs/schema/browser-sdk.yml +390 -11
  164. package/assets/docs/schema/v1.openapi.json +297 -72
  165. package/assets/docs/schema/v1.openapi.yml +228 -112
  166. package/assets/docs/schema/v2.openapi.json +16438 -21985
  167. package/assets/docs/schema/v2.openapi.yml +8669 -12670
  168. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/payrq.md +10 -2
  169. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/payrt.md +1 -1
  170. package/assets/docs/sdk/ko/v2-mobile-sdk/android.md +62 -24
  171. package/assets/docs/sdk/ko/v2-mobile-sdk/react-native.md +82 -95
  172. package/assets/docs/sdk/ko/v2-mobile-sdk/readme.md +5 -4
  173. package/assets/docs/v1-docs-full.md +5249 -753
  174. package/assets/docs/v2-docs-full.md +2855 -265
  175. package/assets/docs/website-links.md +18 -7
  176. package/manifest.json +1 -1
  177. package/package.json +12 -12
  178. package/server/index.js +12 -12
  179. package/assets/docs/opi/ko/integration/pg/v1/hyphen.md +0 -196
  180. package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp.md +0 -1152
  181. package/assets/docs/opi/ko/integration/pg/v2/hyphen.md +0 -205
  182. package/assets/docs/schema/browser-sdk.schema.json +0 -510
@@ -43,7 +43,7 @@ versionVariants:
43
43
  - `kcp_billing`(NHN KCP 결제창 정기결제)
44
44
  - `kicc`(이지페이(한국정보통신) 결제창 일반/정기결제)
45
45
  - `ksnet`(KSNET 결제창 일반결제 및 API 수기/정기결제)
46
- - `mobilians`(모빌리언스 결제창 일반/정기결제)
46
+ - `mobilians`(KG파이낸셜 결제창 일반/정기결제)
47
47
  - `nice`(나이스정보통신(구모듈) 결제창 일반결제 및 API 수기/정기결제)
48
48
  - `nice_v2`(나이스페이(신모듈) 결제창 일반결제 및 API 수기/정기결제)
49
49
  - `settle`(헥토파이낸셜 결제창 일반결제 및 API 수기/정기결제)
@@ -361,7 +361,7 @@ versionVariants:
361
361
  ```json
362
362
  {
363
363
  "display": {
364
- "card_quota": [6] // 할부개월 6개월만 활성화
364
+ "card_quota": [6]
365
365
  }
366
366
  }
367
367
  ```
@@ -384,6 +384,14 @@ versionVariants:
384
384
 
385
385
  </div>
386
386
 
387
+ <div class="hint" data-style="danger">
388
+
389
+ PG사 별로 지원 여부 및 이용 방법이 상이할 수 있습니다.
390
+
391
+ PG사 별 이용 방법은 결제대행사 선택하여 연동하기를 참고해주세요.
392
+
393
+ </div>
394
+
387
395
  ### 카드사 결제모듈 바로(direct) 호출하기
388
396
 
389
397
  ```ts
@@ -137,7 +137,7 @@ PG사 또는 결제수단에 따라서 반환되는 속성들이 상이합니다
137
137
  - `kakaopay`(카카오페이)
138
138
  - `danal`(다날 휴대폰 소액결제)
139
139
  - `danal_tpay`(다날 일반결제)
140
- - `mobilians`(모빌리언스)
140
+ - `mobilians`(KG파이낸셜)
141
141
  - `payco`(페이코)
142
142
  - `paypal`((구) 페이팔)
143
143
  - `eximbay`(엑심베이)
@@ -131,25 +131,34 @@ targetVersions:
131
131
 
132
132
  ### 일반 결제(PortOne.requestPayment)
133
133
 
134
- 결제 요청 시 필요한 자세한 파라미터에 대한 내용은 PaymentRequest.kt 파일에 기술되어 있습니다.
134
+ 결제 요청 시 필요한 자세한 파라미터에 대한 내용은 `PaymentRequest.kt` 파일에 기술되어 있습니다.
135
135
 
136
136
  ```kotlin
137
+ import io.portone.sdk.android.PortOne
138
+ import io.portone.sdk.android.payment.PaymentCallback
139
+ import io.portone.sdk.android.type.request.PaymentRequest
140
+ import io.portone.sdk.android.type.response.PaymentResponse
141
+ import io.portone.sdk.android.type.entity.Currency
142
+ import io.portone.sdk.android.type.entity.PaymentPayMethod
143
+
137
144
  class MainActivity : AppCompatActivity() {
138
145
  // 결제 완료/실패 이후 응답을 처리 하기 위한 ResultLauncher 생성
139
146
  private val paymentActivityResultLauncher =
140
147
  PortOne.registerForPaymentActivity(this, callback = object :
141
148
  PaymentCallback {
142
- override fun onSuccess(response: PaymentResponse.Success) {
149
+ override fun onSuccess(response: PaymentResponse) {
150
+ // code가 null이면 결제 성공
143
151
  AlertDialog.Builder(this@MainActivity)
144
152
  .setTitle("결제 성공")
145
- .setMessage(response.toString())
153
+ .setMessage("결제 ID: ${response.paymentId}")
146
154
  .show()
147
155
  }
148
156
 
149
- override fun onFail(response: PaymentResponse.Fail) {
157
+ override fun onFail(response: PaymentResponse) {
158
+ // code가 null이 아니면 결제 실패
150
159
  AlertDialog.Builder(this@MainActivity)
151
160
  .setTitle("결제 실패")
152
- .setMessage(response.toString())
161
+ .setMessage("오류 코드: ${response.code}\n오류 메시지: ${response.message}")
153
162
  .show()
154
163
  }
155
164
 
@@ -162,11 +171,12 @@ class MainActivity : AppCompatActivity() {
162
171
  this,
163
172
  request = PaymentRequest(
164
173
  storeId = "상점 아이디",
165
- channelKey = "채널 키",
166
174
  paymentId = "결제 건 ID",
167
175
  orderName = "주문 명",
168
- amount = Amount(total = 1000, currency = Currency.KRW), // 금액
169
- method = PaymentMethod.Card() // 결제수단 관련 정보
176
+ channelKey = "채널 키",
177
+ totalAmount = 1000, // 결제 금액 (Long)
178
+ currency = Currency.KRW, // 화폐 단위
179
+ payMethod = PaymentPayMethod.CARD, // 결제수단 (enum)
170
180
  ),
171
181
  resultLauncher = paymentActivityResultLauncher
172
182
  )
@@ -175,25 +185,33 @@ class MainActivity : AppCompatActivity() {
175
185
 
176
186
  ### 빌링키 발급(PortOne.requestIssueBillingKey)
177
187
 
178
- 빌링키 발급 시 필요한 자세한 파라미터에 대한 내용은 IssueBillingKeyRequest.kt 파일에 기술되어 있습니다.
188
+ 빌링키 발급 시 필요한 자세한 파라미터에 대한 내용은 `IssueBillingKeyRequest.kt` 파일에 기술되어 있습니다.
179
189
 
180
190
  ```kotlin
191
+ import io.portone.sdk.android.PortOne
192
+ import io.portone.sdk.android.issuebillingkey.IssueBillingKeyCallback
193
+ import io.portone.sdk.android.type.request.IssueBillingKeyRequest
194
+ import io.portone.sdk.android.type.response.IssueBillingKeyResponse
195
+ import io.portone.sdk.android.type.entity.BillingKeyMethod
196
+
181
197
  class MainActivity : AppCompatActivity() {
182
198
  // 빌링키 발급 완료/실패 이후 응답을 처리 하기 위한 ResultLauncher 생성
183
199
  private val issueBillingKeyActivityResultLauncher =
184
200
  PortOne.registerForIssueBillingKeyActivity(this, callback = object :
185
201
  IssueBillingKeyCallback {
186
- override fun onSuccess(response: IssueBillingKeyResponse.Success) {
187
- AlertDialog.Builder(this@IssueBillingKeyTestActivity)
202
+ override fun onSuccess(response: IssueBillingKeyResponse) {
203
+ // code가 null이면 빌링키 발급 성공
204
+ AlertDialog.Builder(this@MainActivity)
188
205
  .setTitle("빌링키 발급 성공")
189
- .setMessage(response.toString())
206
+ .setMessage("빌링키: ${response.billingKey}")
190
207
  .show()
191
208
  }
192
209
 
193
- override fun onFail(response: IssueBillingKeyResponse.Fail) {
194
- AlertDialog.Builder(this@IssueBillingKeyTestActivity)
210
+ override fun onFail(response: IssueBillingKeyResponse) {
211
+ // code가 null이 아니면 빌링키 발급 실패
212
+ AlertDialog.Builder(this@MainActivity)
195
213
  .setTitle("빌링키 발급 실패")
196
- .setMessage(response.toString())
214
+ .setMessage("오류 코드: ${response.code}\n오류 메시지: ${response.message}")
197
215
  .show()
198
216
  }
199
217
 
@@ -208,7 +226,7 @@ class MainActivity : AppCompatActivity() {
208
226
  request = IssueBillingKeyRequest(
209
227
  storeId = "상점 아이디",
210
228
  channelKey = "채널 키",
211
- method = BillingKeyMethod.Card() // 빌링키 발급 수단
229
+ billingKeyMethod = BillingKeyMethod.CARD // 빌링키 발급 수단 (enum)
212
230
  ),
213
231
  resultLauncher = issueBillingKeyActivityResultLauncher
214
232
  )
@@ -217,25 +235,32 @@ class MainActivity : AppCompatActivity() {
217
235
 
218
236
  ### 본인인증 (PortOne.requestIdentityVerification)
219
237
 
220
- 본인인증 시 필요한 자세한 파라미터에 대한 내용은 IdentityVerificationRequest.kt 파일에 기술되어 있습니다.
238
+ 본인인증 시 필요한 자세한 파라미터에 대한 내용은 `IdentityVerificationRequest.kt` 파일에 기술되어 있습니다.
221
239
 
222
240
  ```kotlin
241
+ import io.portone.sdk.android.PortOne
242
+ import io.portone.sdk.android.identityverification.IdentityVerificationCallback
243
+ import io.portone.sdk.android.type.request.IdentityVerificationRequest
244
+ import io.portone.sdk.android.type.response.IdentityVerificationResponse
245
+
223
246
  class MainActivity : AppCompatActivity() {
224
247
  // 본인인증 완료/실패 이후 응답을 처리 하기 위한 ResultLauncher 생성
225
248
  private val identityVerificationActivityResultLauncher =
226
249
  PortOne.registerForIdentityVerificationActivity(this, callback = object :
227
250
  IdentityVerificationCallback {
228
- override fun onSuccess(response: IdentityVerificationResponse.Success) {
229
- AlertDialog.Builder(this@IdentityVerificationTestActivity)
251
+ override fun onSuccess(response: IdentityVerificationResponse) {
252
+ // code가 null이면 본인인증 성공
253
+ AlertDialog.Builder(this@MainActivity)
230
254
  .setTitle("본인인증 성공")
231
- .setMessage(response.toString())
255
+ .setMessage("본인인증 ID: ${response.identityVerificationId}")
232
256
  .show()
233
257
  }
234
258
 
235
- override fun onFail(response: IdentityVerificationResponse.Fail) {
236
- AlertDialog.Builder(this@IdentityVerificationTestActivity)
259
+ override fun onFail(response: IdentityVerificationResponse) {
260
+ // code가 null이 아니면 본인인증 실패
261
+ AlertDialog.Builder(this@MainActivity)
237
262
  .setTitle("본인인증 실패")
238
- .setMessage(response.toString())
263
+ .setMessage("오류 코드: ${response.code}\n오류 메시지: ${response.message}")
239
264
  .show()
240
265
  }
241
266
 
@@ -248,7 +273,7 @@ class MainActivity : AppCompatActivity() {
248
273
  PortOne.requestIdentityVerification(
249
274
  this,
250
275
  request = IdentityVerificationRequest(
251
- storeId = "상정 아이디",
276
+ storeId = "상점 아이디",
252
277
  identityVerificationId = "본인인증 요청 ID",
253
278
  channelKey = "채널 키"
254
279
  ),
@@ -257,6 +282,19 @@ class MainActivity : AppCompatActivity() {
257
282
 
258
283
  ```
259
284
 
285
+ ### 응답 처리
286
+
287
+ 모든 응답(PaymentResponse, IssueBillingKeyResponse, IdentityVerificationResponse)은 `code` 필드를 통해 성공/실패를 판단합니다.
288
+
289
+ - `code == null`: 성공
290
+ - `code != null`: 실패 (오류 코드와 메시지 포함)
291
+
292
+ 실패 시 응답에 포함되는 필드:
293
+ - `code`: 오류 코드
294
+ - `message`: 오류 메시지
295
+ - `pgCode`: PG사에서 전달한 원본 오류 코드 (있는 경우)
296
+ - `pgMessage`: PG사에서 전달한 원본 오류 메시지 (있는 경우)
297
+
260
298
  ## 버전
261
299
 
262
300
  [유의적 버전 2.0.0](https://semver.org/spec/v2.0.0.html)을 사용합니다.
@@ -20,11 +20,10 @@ Node.js v18을 지원하며, Expo 51.0.38과 react-native-webview 13.8.6 환경
20
20
 
21
21
  ## 설치 (Expo 사용)
22
22
 
23
- 1. Expo CLI를 사용해 @portone/react-native-sdk와 의존성인 react-native-webview,
24
- expo-intent-launcher을 설치합니다.
23
+ 1. Expo CLI를 사용해 @portone/react-native-sdk와 의존성인 react-native-webview를 설치합니다.
25
24
 
26
25
  ```shell
27
- npx expo install @portone/react-native-sdk react-native-webview expo-intent-launcher
26
+ npx expo install @portone/react-native-sdk react-native-webview
28
27
  ```
29
28
 
30
29
  2. TypeScript를 사용하시는 경우 @portone/browser-sdk를 devDependencies에
@@ -37,6 +36,10 @@ yarn add -D @portone/browser-sdk
37
36
 
38
37
  3. app.json의 plugin 항목으로 `@portone/react-native-sdk/plugin`를 추가합니다.
39
38
 
39
+ 이 플러그인은 앱 링크를 사용하기 위한 AndroidManifest.xml 및 Info.plist 설정을 자동으로 추가합니다.
40
+ 단, iOS 15 이상 버전에서 Info.plist 설정에는 최대 50개의 LSApplicationQueriesSchemes 항목만이 적용되므로
41
+ 일부 앱 링크만이 열리지 않는 등의 문제가 발생하실 경우 플러그인을 제거하고 필요한 항목만을 골라 직접 설정해주세요.
42
+
40
43
  ```json
41
44
  {
42
45
  "expo": {
@@ -57,12 +60,11 @@ yarn add -D @portone/browser-sdk
57
60
 
58
61
  ## 설치 (Expo 미사용)
59
62
 
60
- 1. @portone/react-native-sdk와 의존성인 react-native-webview,
61
- expo-intent-launcher을 설치합니다.
63
+ 1. @portone/react-native-sdk와 의존성인 react-native-webview를 설치합니다.
62
64
 
63
65
  ```shell
64
- npm install --save @portone/react-native-sdk react-native-webview expo-intent-launcher
65
- yarn add @portone/react-native-sdk react-native-webview expo-intent-launcher
66
+ npm install --save @portone/react-native-sdk react-native-webview
67
+ yarn add @portone/react-native-sdk react-native-webview
66
68
  ```
67
69
 
68
70
  2. ios 서브디렉토리에서 pod를 사용해 react-native-webview에 필요한 네이티브
@@ -97,39 +99,45 @@ yarn add -D @portone/browser-sdk
97
99
  <manifest xmlns:android="http://schemas.android.com/apk/res/android">
98
100
  <!-- 중략 -->
99
101
  <queries>
100
- <package android:name="com.kftc.bankpay.android" />
101
- <package android:name="kvp.jjy.MispAndroid320" />
102
- <package android:name="com.hyundaicard.appcard" />
103
- <package android:name="com.shcard.smartpay" />
104
- <package android:name="com.shinhan.smartcaremgr" />
105
- <package android:name="com.kbcard.cxh.appcard" />
106
- <package android:name="com.kbstar.kbbank" />
107
- <package android:name="com.kbstar.reboot" />
108
- <package android:name="kr.co.samsungcard.mpocket" />
109
- <package android:name="kr.co.shiftworks.vguardweb" />
110
- <package android:name="net.ib.android.smcard" />
111
- <package android:name="com.lcacApp" />
112
- <package android:name="com.lottemembers.android" />
113
- <package android:name="com.hanaskcard.paycla" />
114
- <package android:name="nh.smart.card" />
115
- <package android:name="nh.smart.nhallonepay" />
116
- <package android:name="kr.co.citibank.citimobile" />
117
- <package android:name="com.kakao.talk" />
118
- <package android:name="com.nhnent.payapp" />
119
- <package android:name="com.wooricard.smartapp" />
120
- <package android:name="com.wooribank.smart.npib" />
121
- <package android:name="viva.republica.toss" />
122
- <package android:name="com.nhn.android.search" />
123
- <package android:name="com.kakaobank.channel" />
124
- <package android:name="com.ahnlab.v3mobileplus" />
125
- <package android:name="com.samsung.android.spay" />
126
- <package android:name="jp.naver.line.android" />
127
- <package android:name="com.eg.android.AlipayGphone" />
128
- <package android:name="com.tencent.mm" />
129
- <package android:name="com.sktelecom.tauth" />
130
- <package android:name="com.kt.ktauth" />
131
- <package android:name="com.lguplus.smartotp" />
132
- <package android:name="com.shinhan.sbanking" />
102
+ <package android:name="com.kftc.bankpay.android" /> <!-- 뱅크페이 -->
103
+ <package android:name="kvp.jjy.MispAndroid320" /> <!-- ISP / 페이북 -->
104
+ <package android:name="com.hyundaicard.appcard" /> <!-- 현대카드 -->
105
+ <package android:name="com.shcard.smartpay" /> <!-- 신한 SOL페이 -->
106
+ <package android:name="com.shinhan.smartcaremgr" /> <!-- 신한 슈퍼SOL -->
107
+ <package android:name="com.shinhan.sbanking" /> <!-- 신한 SOL뱅크 -->
108
+ <package android:name="com.kbcard.cxh.appcard" /> <!-- KB Pay -->
109
+ <package android:name="com.kbstar.kbbank" /> <!-- KB스타뱅킹 -->
110
+ <package android:name="kr.co.samsungcard.mpocket" /> <!-- 삼성카드 -->
111
+ <package android:name="com.samsung.android.spay" /> <!-- Samsung Wallet -->
112
+ <package android:name="net.ib.android.smcard" /> <!-- monimo -->
113
+ <package android:name="com.lcacApp" /> <!-- 디지로카 (롯데카드) -->
114
+ <package android:name="com.lottemembers.android" /> <!-- L.POINT with L.PAY -->
115
+ <package android:name="com.hanaskcard.paycla" /> <!-- 하나Pay (하나카드) -->
116
+ <package android:name="nh.smart.nhallonepay" /> <!-- NH Pay -->
117
+ <package android:name="kr.co.citibank.citimobile" /> <!-- 씨티모바일 -->
118
+ <package android:name="com.kakao.talk" /> <!-- 카카오톡 (카카오페이) -->
119
+ <package android:name="com.nhnent.payapp" /> <!-- PAYCO -->
120
+ <package android:name="com.wooricard.smartapp" /> <!-- 우리카드 우리WON카드 -->
121
+ <package android:name="com.wooribank.smart.npib" /> <!-- 우리은행 우리WON뱅킹 -->
122
+ <package android:name="viva.republica.toss" /> <!-- 토스 -->
123
+ <package android:name="com.nhn.android.search" /> <!-- 네이버 (네이버페이) -->
124
+ <package android:name="com.kakaobank.channel" /> <!-- 카카오뱅크 -->
125
+ <package android:name="com.ahnlab.v3mobileplus" /> <!-- V3 Mobile Plus -->
126
+ <package android:name="com.TouchEn.mVaccine.webs" /> <!-- 터치엔 엠백신 -->
127
+ <package android:name="com.sktelecom.tauth" /> <!-- PASS by SKT -->
128
+ <package android:name="com.kt.ktauth" /> <!-- PASS by KT -->
129
+ <package android:name="com.lguplus.smartotp" /> <!-- PASS by U+ -->
130
+ <package android:name="com.mysmilepay.app" /> <!-- 스마일페이 -->
131
+ <package android:name="com.ssg.serviceapp.android.egiftcertificate" /> <!-- SSGPAY -->
132
+ <package android:name="com.hanabank.mzplatform" /> <!-- 아이부자 -->
133
+ <package android:name="com.knb.psb" /> <!-- BNK경남은행 -->
134
+ <package android:name="kr.ac.yonsei.idcard" /> <!-- 연세대학교 모바일 학생증/신분증 (연세페이) -->
135
+ <package android:name="jp.naver.line.android" /> <!-- LINE (LINE Pay) -->
136
+ <package android:name="com.eg.android.AlipayGphone" /> <!-- Alipay -->
137
+ <package android:name="hk.alipay.wallet" /> <!-- AlipayHK -->
138
+ <package android:name="com.tencent.mm" /> <!-- WeChat -->
139
+ <package android:name="com.globe.gcash.android" /> <!-- GCash -->
140
+ <package android:name="th.co.truemoney.wallet" /> <!-- TrueMoney -->
133
141
  <intent>
134
142
  <action android:name="android.intent.action.VIEW" />
135
143
  <category android:name="android.intent.category.BROWSABLE" />
@@ -139,67 +147,46 @@ yarn add -D @portone/browser-sdk
139
147
  </manifest>
140
148
  ```
141
149
 
142
- 6. 앱 링크를 사용하기 위해 ios/(프로젝트 이름)/Info.plist 파일에 아래 내용을
143
- 추가합니다.
150
+ 6. 앱 링크를 사용하기 위해 ios/(프로젝트 이름)/Info.plist 파일에 아래 내용을 추가합니다.
151
+
152
+ iOS 15 이상 버전에서는 최대 50개의 항목만이 적용되므로, 필요한 항목만을 추가합니다.
144
153
 
145
154
  ```xml
146
155
  <dict>
147
156
  <!-- 중략 -->
148
157
  <key>LSApplicationQueriesSchemes</key>
149
158
  <array>
150
- <string>kftc-bankpay</string>
151
- <string>ispmobile</string>
152
- <string>hdcardappcardansimclick</string>
153
- <string>smhyundaiansimclick</string>
154
- <string>hyundaicardappcardid</string>
155
- <string>shinhan-sr-ansimclick</string>
156
- <string>shinhan-sr-ansimclick-naverpay</string>
157
- <string>shinhan-sr-ansimclick-payco</string>
158
- <string>shinhan-sr-ansimclick-lpay</string>
159
- <string>shinhan-sr-ansimclick-mola</string>
160
- <string>smshinhanansimclick</string>
161
- <string>smailapp</string>
162
- <string>kb-acp</string>
163
- <string>kb-auth</string>
164
- <string>kb-screen</string>
165
- <string>kbbank</string>
166
- <string>liivbank</string>
167
- <string>newliiv</string>
168
- <string>mpocket.online.ansimclick</string>
169
- <string>ansimclickscard</string>
170
- <string>ansimclickipcollect</string>
171
- <string>vguardstart</string>
172
- <string>samsungpay</string>
173
- <string>scardcertiapp</string>
174
- <string>monimopay</string>
175
- <string>monimopayauth</string>
176
- <string>lottesmartpay</string>
177
- <string>lotteappcard</string>
178
- <string>lmslpay</string>
179
- <string>lpayapp</string>
180
- <string>cloudpay</string>
181
- <string>hanawalletmembers</string>
182
- <string>nhappcardansimclick</string>
183
- <string>nonghyupcardansimclick</string>
184
- <string>nhallonepayansimclick</string>
185
- <string>citispay</string>
186
- <string>citicardappkr</string>
187
- <string>citimobileapp</string>
188
- <string>kakaotalk</string>
189
- <string>payco</string>
190
- <string>com.wooricard.wcard</string>
191
- <string>newsmartpib</string>
192
- <string>NewSmartPib</string>
193
- <string>supertoss</string>
194
- <string>naversearchthirdlogin</string>
195
- <string>kakaobank</string>
196
- <string>v3mobileplusweb</string>
197
- <string>line</string>
198
- <string>alipays</string>
199
- <string>weixin</string>
200
- <string>tauthlink</string>
201
- <string>ktauthexternalcall</string>
202
- <string>upluscorporation</string>
159
+ <string>kftc-bankpay</string> <!-- 뱅크페이 -->
160
+ <string>ispmobile</string> <!-- ISP / 페이북 -->
161
+ <string>hdcardappcardansimclick</string> <!-- 현대카드 -->
162
+ <string>shinhan-sr-ansimclick</string> <!-- 신한 SOL페이 -->
163
+ <string>shinhan-sr-ansimclick-payco</string> <!-- 신한 SOL페이 (PAYCO) -->
164
+ <string>shinhan-sr-ansimclick-lpay</string> <!-- 신한 SOL페이 (L.PAY) -->
165
+ <string>kb-acp</string> <!-- KB Pay -->
166
+ <string>kbbank</string> <!-- KB스타뱅킹 -->
167
+ <string>mpocket.online.ansimclick</string> <!-- 삼성카드 -->
168
+ <string>lotteappcard</string> <!-- 디지로카 (롯데카드) -->
169
+ <string>lmslpay</string> <!-- L.POINT with L.PAY -->
170
+ <string>cloudpay</string> <!-- 하나Pay (하나카드) -->
171
+ <string>nhallonepayansimclick</string> <!-- NH Pay -->
172
+ <string>citimobileapp</string> <!-- 씨티모바일 (씨티카드) -->
173
+ <string>kakaotalk</string> <!-- 카카오톡 (카카오페이) -->
174
+ <string>payco</string> <!-- PAYCO -->
175
+ <string>com.wooricard.wcard</string> <!-- 우리카드 우리WON카드 -->
176
+ <string>newsmartpib</string> <!-- 우리은행 우리WON뱅킹 -->
177
+ <string>supertoss</string> <!-- 토스 -->
178
+ <string>naversearchthirdlogin</string> <!-- 네이버 (네이버페이) -->
179
+ <string>kakaobank</string> <!-- 카카오뱅크 -->
180
+ <string>tauthlink</string> <!-- PASS by SKT -->
181
+ <string>ktauthexternalcall</string> <!-- PASS by KT -->
182
+ <string>upluscorporation</string> <!-- PASS by U+ -->
183
+ <string>kn-bankpay</string> <!-- BNK경남은행 -->
184
+ <string>yonseipay</string> <!-- 연세대학교 모바일 학생증/신분증 (연세페이) -->
185
+ <string>line</string> <!-- LINE (LINE Pay) -->
186
+ <string>alipays</string> <!-- Alipay -->
187
+ <string>alipayhk</string> <!-- AlipayHK -->
188
+ <string>weixin</string> <!-- WeChat -->
189
+ <string>ascendmoney</string> <!-- TrueMoney -->
203
190
  </array>
204
191
  </dict>
205
192
  ```
@@ -9,7 +9,7 @@ versionVariants:
9
9
 
10
10
  포트원 모바일 SDK는 Javascript로 작성된 포트원 V2 SDK를 모바일 환경에서 모바일 플랫폼 네이티브 코드(Kotlin, Swift 등) 으로 사용 가능하도록 만들어진 SDK입니다.
11
11
 
12
- 현재는 Android, iOS, React Native를 지원하고 있으며, Flutter 등 다른 플랫폼에 대해서도 지원 예정입니다.
12
+ 현재는 Android, iOS, React Native, Flutter를 지원하고 있습니다.
13
13
 
14
14
  ## Android SDK
15
15
 
@@ -29,8 +29,9 @@ React Native 환경에서 사용 가능한 SDK입니다. 해당 Git 레포지토
29
29
 
30
30
  - [GitHub 링크](https://github.com/portone-io/react-native-sdk)
31
31
 
32
- ## Flutter
32
+ ## Flutter SDK
33
33
 
34
- Flutter 환경에서 사용 가능한 SDK 제공하고 있지 않으나, Flutter을 사용하여 직접 연동하는 방법에 참고가 되도록 샘플 프로젝트를 제공하고 있습니다.
34
+ Flutter 환경에서 사용 가능한 SDK입니다. V1 V2 결제/본인인증을 지원하며, 해당 Git 레포지토리의 README.md 파일을 참고하여 사용하실 있습니다.
35
35
 
36
- - [GitHub 링크](https://github.com/portone-io/portone-sample/tree/main/flutter)
36
+ - [GitHub 링크](https://github.com/portone-io/portone_flutter)
37
+ - [pub.dev 링크](https://pub.dev/packages/portone_flutter)