@portone/mcp-server 0.13.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 (576) hide show
  1. package/LICENSE-APACHE +201 -0
  2. package/LICENSE-MIT +21 -0
  3. package/README.md +165 -0
  4. package/assets/docs/README.md +27 -0
  5. package/assets/docs/api/backward-compatibility.md +40 -0
  6. package/assets/docs/blog/posts/2024-02/v2-oom.md +341 -0
  7. package/assets/docs/blog/posts/2024-02/v2-webhook.md +314 -0
  8. package/assets/docs/blog/posts/2024-02/v2-zio.md +529 -0
  9. package/assets/docs/blog/posts/2024-03/tgs.md +238 -0
  10. package/assets/docs/blog/posts/2024-04/gcp-datastream.md +307 -0
  11. package/assets/docs/blog/posts/2024-04/solid.md +558 -0
  12. package/assets/docs/blog/posts/2024-07/v2-event-sourcing-basic.md +231 -0
  13. package/assets/docs/help/admin-console/analytics/content32.md +270 -0
  14. package/assets/docs/help/admin-console/console-account/content31.md +94 -0
  15. package/assets/docs/help/admin-console/console_home/content34.md +82 -0
  16. package/assets/docs/help/admin-console/integration/content28.md +79 -0
  17. package/assets/docs/help/admin-console/payment-service/content29.md +260 -0
  18. package/assets/docs/help/admin-console/pg-settlement/content30.md +352 -0
  19. package/assets/docs/help/admin-console/platform-settlement/content33-1.md +201 -0
  20. package/assets/docs/help/api-sdk-2024-12-19.md +64 -0
  21. package/assets/docs/help/api-sdk-2025-01-15.md +84 -0
  22. package/assets/docs/help/applepay.md +46 -0
  23. package/assets/docs/help/content100000.md +46 -0
  24. package/assets/docs/help/content100002.md +52 -0
  25. package/assets/docs/help/content100004.md +29 -0
  26. package/assets/docs/help/content100014.md +50 -0
  27. package/assets/docs/help/content100015.md +20 -0
  28. package/assets/docs/help/content100016.md +28 -0
  29. package/assets/docs/help/content100020.md +28 -0
  30. package/assets/docs/help/content100022.md +40 -0
  31. package/assets/docs/help/content100023.md +21 -0
  32. package/assets/docs/help/content100024.md +25 -0
  33. package/assets/docs/help/content100025.md +40 -0
  34. package/assets/docs/help/content100026.md +20 -0
  35. package/assets/docs/help/content100027.md +24 -0
  36. package/assets/docs/help/content100029.md +29 -0
  37. package/assets/docs/help/content100030.md +82 -0
  38. package/assets/docs/help/content100033.md +44 -0
  39. package/assets/docs/help/content100035.md +34 -0
  40. package/assets/docs/help/content100036.md +14 -0
  41. package/assets/docs/help/content100037.md +16 -0
  42. package/assets/docs/help/content100038.md +32 -0
  43. package/assets/docs/help/content100039.md +28 -0
  44. package/assets/docs/help/content100040.md +31 -0
  45. package/assets/docs/help/content100041.md +37 -0
  46. package/assets/docs/help/content100044.md +15 -0
  47. package/assets/docs/help/content100045.md +21 -0
  48. package/assets/docs/help/content100046.md +34 -0
  49. package/assets/docs/help/content100047.md +32 -0
  50. package/assets/docs/help/content100048.md +25 -0
  51. package/assets/docs/help/content100049.md +20 -0
  52. package/assets/docs/help/content100052.md +147 -0
  53. package/assets/docs/help/content100053.md +40 -0
  54. package/assets/docs/help/content100054.md +18 -0
  55. package/assets/docs/help/content100055.md +37 -0
  56. package/assets/docs/help/content100056.md +15 -0
  57. package/assets/docs/help/content100057.md +28 -0
  58. package/assets/docs/help/content100058.md +36 -0
  59. package/assets/docs/help/content100059.md +23 -0
  60. package/assets/docs/help/content100060.md +43 -0
  61. package/assets/docs/help/content200001.md +21 -0
  62. package/assets/docs/help/content200002.md +38 -0
  63. package/assets/docs/help/content200005.md +30 -0
  64. package/assets/docs/help/content200012.md +91 -0
  65. package/assets/docs/help/content200013.md +52 -0
  66. package/assets/docs/help/content200015.md +41 -0
  67. package/assets/docs/help/content200016.md +30 -0
  68. package/assets/docs/help/content200017.md +39 -0
  69. package/assets/docs/help/content200018.md +105 -0
  70. package/assets/docs/help/content200019.md +59 -0
  71. package/assets/docs/help/content200020.md +42 -0
  72. package/assets/docs/help/content200023.md +54 -0
  73. package/assets/docs/help/content200024.md +49 -0
  74. package/assets/docs/help/content200025.md +68 -0
  75. package/assets/docs/help/content200027.md +34 -0
  76. package/assets/docs/help/content200028.md +70 -0
  77. package/assets/docs/help/content200029.md +71 -0
  78. package/assets/docs/help/content200030.md +67 -0
  79. package/assets/docs/help/content200032.md +39 -0
  80. package/assets/docs/help/content200033.md +21 -0
  81. package/assets/docs/help/content200034.md +34 -0
  82. package/assets/docs/help/content200037.md +38 -0
  83. package/assets/docs/help/content200038.md +50 -0
  84. package/assets/docs/help/content200039.md +45 -0
  85. package/assets/docs/help/content200040.md +15 -0
  86. package/assets/docs/help/content200043.md +23 -0
  87. package/assets/docs/help/content200044.md +33 -0
  88. package/assets/docs/help/content200045.md +25 -0
  89. package/assets/docs/help/content200046.md +104 -0
  90. package/assets/docs/help/content200048.md +34 -0
  91. package/assets/docs/help/content200049.md +54 -0
  92. package/assets/docs/help/content200050.md +43 -0
  93. package/assets/docs/help/content200051.md +81 -0
  94. package/assets/docs/help/content51.md +38 -0
  95. package/assets/docs/help/content61.md +165 -0
  96. package/assets/docs/help/core-service/channel-setting/danal.md +170 -0
  97. package/assets/docs/help/core-service/channel-setting/daou.md +118 -0
  98. package/assets/docs/help/core-service/channel-setting/eximbay.md +136 -0
  99. package/assets/docs/help/core-service/channel-setting/inicis.md +340 -0
  100. package/assets/docs/help/core-service/channel-setting/kakaopay.md +107 -0
  101. package/assets/docs/help/core-service/channel-setting/kcp_channel.md +235 -0
  102. package/assets/docs/help/core-service/channel-setting/kicc.md +114 -0
  103. package/assets/docs/help/core-service/channel-setting/kpn.md +93 -0
  104. package/assets/docs/help/core-service/channel-setting/ksnet.md +116 -0
  105. package/assets/docs/help/core-service/channel-setting/mobilians.md +107 -0
  106. package/assets/docs/help/core-service/channel-setting/naverpay.md +179 -0
  107. package/assets/docs/help/core-service/channel-setting/nice.md +210 -0
  108. package/assets/docs/help/core-service/channel-setting/payco.md +124 -0
  109. package/assets/docs/help/core-service/channel-setting/paymentwall.md +107 -0
  110. package/assets/docs/help/core-service/channel-setting/paypal.md +247 -0
  111. package/assets/docs/help/core-service/channel-setting/settle.md +123 -0
  112. package/assets/docs/help/core-service/channel-setting/smartro.md +164 -0
  113. package/assets/docs/help/core-service/channel-setting/smilepay.md +83 -0
  114. package/assets/docs/help/core-service/channel-setting/tosspay.md +168 -0
  115. package/assets/docs/help/core-service/channel-setting/tosspayments.md +232 -0
  116. package/assets/docs/help/core-service/channel-setting/welcome.md +110 -0
  117. package/assets/docs/help/core-service/how-to-use/additional-danal.md +71 -0
  118. package/assets/docs/help/core-service/how-to-use/additional-daou.md +65 -0
  119. package/assets/docs/help/core-service/how-to-use/additional-eximbay.md +54 -0
  120. package/assets/docs/help/core-service/how-to-use/additional-inicis.md +97 -0
  121. package/assets/docs/help/core-service/how-to-use/additional-kakaopay.md +56 -0
  122. package/assets/docs/help/core-service/how-to-use/additional-kcp.md +53 -0
  123. package/assets/docs/help/core-service/how-to-use/additional-kicc.md +67 -0
  124. package/assets/docs/help/core-service/how-to-use/additional-ksnet.md +68 -0
  125. package/assets/docs/help/core-service/how-to-use/additional-mobilians.md +71 -0
  126. package/assets/docs/help/core-service/how-to-use/additional-naverpay-order.md +69 -0
  127. package/assets/docs/help/core-service/how-to-use/additional-naverpay.md +72 -0
  128. package/assets/docs/help/core-service/how-to-use/additional-nice.md +112 -0
  129. package/assets/docs/help/core-service/how-to-use/additional-payco.md +68 -0
  130. package/assets/docs/help/core-service/how-to-use/additional-settle.md +70 -0
  131. package/assets/docs/help/core-service/how-to-use/additional-smartro.md +70 -0
  132. package/assets/docs/help/core-service/how-to-use/additional-tosspay.md +57 -0
  133. package/assets/docs/help/core-service/how-to-use/additional-tosspayments.md +47 -0
  134. package/assets/docs/help/core-service/how-to-use/additional-welcome.md +72 -0
  135. package/assets/docs/help/core-service/how-to-use/cancel-deadline-by-paymethod.md +68 -0
  136. package/assets/docs/help/core-service/how-to-use/cancel-guide-using-admin-console.md +49 -0
  137. package/assets/docs/help/core-service/how-to-use/cancel-reversal.md +114 -0
  138. package/assets/docs/help/core-service/how-to-use/cellphone-identity-verification.md +62 -0
  139. package/assets/docs/help/core-service/how-to-use/content200000.md +72 -0
  140. package/assets/docs/help/core-service/how-to-use/content200009.md +83 -0
  141. package/assets/docs/help/core-service/how-to-use/danal-contract.md +82 -0
  142. package/assets/docs/help/core-service/how-to-use/daou-contract.md +82 -0
  143. package/assets/docs/help/core-service/how-to-use/eximbay-contract.md +75 -0
  144. package/assets/docs/help/core-service/how-to-use/high-risk-industry.md +554 -0
  145. package/assets/docs/help/core-service/how-to-use/identity-verification-value.md +61 -0
  146. package/assets/docs/help/core-service/how-to-use/impossible-partial-cancel.md +53 -0
  147. package/assets/docs/help/core-service/how-to-use/information-pg.md +151 -0
  148. package/assets/docs/help/core-service/how-to-use/inicis-contract.md +95 -0
  149. package/assets/docs/help/core-service/how-to-use/inicis-vat.md +45 -0
  150. package/assets/docs/help/core-service/how-to-use/inicis-vbank-refund.md +45 -0
  151. package/assets/docs/help/core-service/how-to-use/kakao-contract.md +73 -0
  152. package/assets/docs/help/core-service/how-to-use/kakaopay-contract.md +41 -0
  153. package/assets/docs/help/core-service/how-to-use/kcp-contract.md +82 -0
  154. package/assets/docs/help/core-service/how-to-use/kcp-vat.md +39 -0
  155. package/assets/docs/help/core-service/how-to-use/kcp-vbank-refund.md +46 -0
  156. package/assets/docs/help/core-service/how-to-use/kicc-contract.md +81 -0
  157. package/assets/docs/help/core-service/how-to-use/ksnet-contract.md +78 -0
  158. package/assets/docs/help/core-service/how-to-use/mobilians-contract.md +81 -0
  159. package/assets/docs/help/core-service/how-to-use/naverpay-contract.md +86 -0
  160. package/assets/docs/help/core-service/how-to-use/naverpay-order-1.md +36 -0
  161. package/assets/docs/help/core-service/how-to-use/naverpay-order-contract.md +88 -0
  162. package/assets/docs/help/core-service/how-to-use/naverpay-order-diff.md +66 -0
  163. package/assets/docs/help/core-service/how-to-use/naverpay-order-review-items.md +66 -0
  164. package/assets/docs/help/core-service/how-to-use/naverpay-review-items.md +199 -0
  165. package/assets/docs/help/core-service/how-to-use/nice-contract.md +81 -0
  166. package/assets/docs/help/core-service/how-to-use/open-immediately.md +60 -0
  167. package/assets/docs/help/core-service/how-to-use/other-hosting-company.md +38 -0
  168. package/assets/docs/help/core-service/how-to-use/payco-contract.md +74 -0
  169. package/assets/docs/help/core-service/how-to-use/payment-settlement-method.md +30 -0
  170. package/assets/docs/help/core-service/how-to-use/paymentwall-contract.md +85 -0
  171. package/assets/docs/help/core-service/how-to-use/paypal-contract.md +66 -0
  172. package/assets/docs/help/core-service/how-to-use/point-service.md +293 -0
  173. package/assets/docs/help/core-service/how-to-use/refund-date.md +66 -0
  174. package/assets/docs/help/core-service/how-to-use/requirements.md +100 -0
  175. package/assets/docs/help/core-service/how-to-use/settle-contract.md +79 -0
  176. package/assets/docs/help/core-service/how-to-use/shopify-available-list.md +65 -0
  177. package/assets/docs/help/core-service/how-to-use/shopify-guide.md +62 -0
  178. package/assets/docs/help/core-service/how-to-use/small-business-commission-fee.md +55 -0
  179. package/assets/docs/help/core-service/how-to-use/smartro-contract.md +77 -0
  180. package/assets/docs/help/core-service/how-to-use/test-mode-cancel.md +63 -0
  181. package/assets/docs/help/core-service/how-to-use/tosspay-contract.md +82 -0
  182. package/assets/docs/help/core-service/how-to-use/tosspayments-contract.md +82 -0
  183. package/assets/docs/help/core-service/how-to-use/welcome-contract.md +81 -0
  184. package/assets/docs/help/core-service/how-to-use/withsoft-guide.md +69 -0
  185. package/assets/docs/help/core-service/how-to-use/wordpress-available-pg.md +49 -0
  186. package/assets/docs/help/core-service/how-to-use/wordpress-setting.md +50 -0
  187. package/assets/docs/help/core-service/payment-type/billing-key.md +72 -0
  188. package/assets/docs/help/core-service/payment-type/content200003.md +39 -0
  189. package/assets/docs/help/core-service/payment-type/content200007.md +176 -0
  190. package/assets/docs/help/core-service/payment-type/content200036.md +37 -0
  191. package/assets/docs/help/core-service/payment-type/content200042.md +150 -0
  192. package/assets/docs/help/core-service/payment-type/content200047.md +215 -0
  193. package/assets/docs/help/core-service/payment-type/content200052.md +142 -0
  194. package/assets/docs/help/core-service/payment-type/content200053.md +128 -0
  195. package/assets/docs/help/core-service/payment-type/crossborder.md +132 -0
  196. package/assets/docs/help/core-service/payment-type/eximbay-international.md +96 -0
  197. package/assets/docs/help/core-service/payment-type/hub-service-fee.md +79 -0
  198. package/assets/docs/help/core-service/payment-type/inicis-easypay-hub-fee.md +45 -0
  199. package/assets/docs/help/core-service/payment-type/inicis-international.md +65 -0
  200. package/assets/docs/help/core-service/payment-type/internationl-high-risk-industry.md +267 -0
  201. package/assets/docs/help/core-service/payment-type/internationl-pg.md +42 -0
  202. package/assets/docs/help/core-service/payment-type/kcp-easypay-hub-apply.md +49 -0
  203. package/assets/docs/help/core-service/payment-type/kcp-international.md +60 -0
  204. package/assets/docs/help/core-service/payment-type/nice-easypay-hub-fee.md +72 -0
  205. package/assets/docs/help/core-service/payment-type/nice-international.md +51 -0
  206. package/assets/docs/help/core-service/payment-type/paymentwall-international.md +84 -0
  207. package/assets/docs/help/core-service/payment-type/paypal-international.md +86 -0
  208. package/assets/docs/help/core-service/payment-type/paypal-payment-status.md +55 -0
  209. package/assets/docs/help/core-service/payment-type/schedule-logic-guide.md +49 -0
  210. package/assets/docs/help/core-service/payment-type/schedule-requirement.md +111 -0
  211. package/assets/docs/help/core-service/payment-type/schedule-validity-guide.md +68 -0
  212. package/assets/docs/help/core-service/payment-type/tosspayment-international.md +54 -0
  213. package/assets/docs/help/core-service/payment-type/tosspayments-easypay-hub-fee.md +42 -0
  214. package/assets/docs/help/core-service/payment-type/webhook-re-send.md +41 -0
  215. package/assets/docs/help/faq/console-faq/2-depth-auth.md +53 -0
  216. package/assets/docs/help/faq/console-faq/add-admin-account.md +42 -0
  217. package/assets/docs/help/faq/console-faq/change-console-url.md +51 -0
  218. package/assets/docs/help/faq/console-faq/impossible-login.md +30 -0
  219. package/assets/docs/help/faq/console-faq/payment-list.md +45 -0
  220. package/assets/docs/help/faq/console-faq/sub-store-mgnt.md +97 -0
  221. package/assets/docs/help/faq/general-inquiry/change-business-number.md +32 -0
  222. package/assets/docs/help/faq/general-inquiry/confirm-process.md +118 -0
  223. package/assets/docs/help/faq/general-inquiry/content200004.md +55 -0
  224. package/assets/docs/help/faq/general-inquiry/content200006.md +86 -0
  225. package/assets/docs/help/faq/general-inquiry/content200011.md +24 -0
  226. package/assets/docs/help/faq/general-inquiry/content200031.md +194 -0
  227. package/assets/docs/help/faq/general-inquiry/content200041.md +21 -0
  228. package/assets/docs/help/faq/general-inquiry/contract-checkpoint.md +49 -0
  229. package/assets/docs/help/faq/general-inquiry/main-user.md +56 -0
  230. package/assets/docs/help/faq/general-inquiry/platform-contract-method.md +67 -0
  231. package/assets/docs/help/faq/general-inquiry/platform-contract-pg.md +234 -0
  232. package/assets/docs/help/faq/general-inquiry/portone-advantages.md +71 -0
  233. package/assets/docs/help/faq/general-inquiry/real-channel-info.md +70 -0
  234. package/assets/docs/help/faq/general-inquiry/what-is-the-small-business-fee.md +41 -0
  235. package/assets/docs/help/faq/payment-faq/business-card-available.md +55 -0
  236. package/assets/docs/help/faq/payment-faq/business-info-change.md +96 -0
  237. package/assets/docs/help/faq/payment-faq/cancel-deadline.md +32 -0
  238. package/assets/docs/help/faq/payment-faq/cancel-guide.md +48 -0
  239. package/assets/docs/help/faq/payment-faq/cash-receipt-guide.md +64 -0
  240. package/assets/docs/help/faq/payment-faq/content200022.md +73 -0
  241. package/assets/docs/help/faq/payment-faq/pg-max-min-amount.md +158 -0
  242. package/assets/docs/help/faq/payment-faq/receipt-guide.md +38 -0
  243. package/assets/docs/help/faq/payment-faq/tosspayments-cash-receipt.md +32 -0
  244. package/assets/docs/help/faq/payment-faq/vbank-info.md +35 -0
  245. package/assets/docs/help/faq/payment-faq/vbank-service-detail.md +67 -0
  246. package/assets/docs/help/faq/payment-faq/vbank-test-guide.md +65 -0
  247. package/assets/docs/help/faq/platform-faq/platform_function_partnerbulkupload.md +190 -0
  248. package/assets/docs/help/faq/platform-faq/platform_infosec.md +56 -0
  249. package/assets/docs/help/faq/platform-faq/platform_nocode_guide.md +104 -0
  250. package/assets/docs/help/faq/platform-faq/platform_payout_guide.md +75 -0
  251. package/assets/docs/help/faq/platform-faq/platform_policymanagement_calculator.md +73 -0
  252. package/assets/docs/help/faq/platform-faq/platform_settlmentandpayout_guide.md +83 -0
  253. package/assets/docs/help/faq/platform-faq/platform_tax_setting_guide.md +108 -0
  254. package/assets/docs/help/faq/platform-faq/taxinvoice_guide.md +107 -0
  255. package/assets/docs/help/faq/platform-faq/taxinvoice_signupemail.md +67 -0
  256. package/assets/docs/help/holidays.md +29 -0
  257. package/assets/docs/help/notice-kakaopay-2025-06-30.md +47 -0
  258. package/assets/docs/help/platform-2024-11-07.md +73 -0
  259. package/assets/docs/help/platform-2024-11-25.md +91 -0
  260. package/assets/docs/help/platform-2024-12-10.md +71 -0
  261. package/assets/docs/help/platform-2025-03-04.md +54 -0
  262. package/assets/docs/help/platform-2025-04-03.md +105 -0
  263. package/assets/docs/help/platform-2025-04-08.md +120 -0
  264. package/assets/docs/help/platform-2025-05-14.md +70 -0
  265. package/assets/docs/help/platform-2025-1-16.md +65 -0
  266. package/assets/docs/help/platform-2025-2-10.md +75 -0
  267. package/assets/docs/help/platform-2025-2-13.md +43 -0
  268. package/assets/docs/help/portone-service/portone-service/content50.md +80 -0
  269. package/assets/docs/help/pricing/pg/domestic-and-oversea-fees.md +34 -0
  270. package/assets/docs/help/pricing/portone/portone-pricing.md +116 -0
  271. package/assets/docs/help/procedure/payment-integration/real-integration.md +43 -0
  272. package/assets/docs/help/procedure/payment-integration/test-integration.md +91 -0
  273. package/assets/docs/help/procedure/pg-application/content53.md +49 -0
  274. package/assets/docs/help/procedure/pg-application/content54.md +136 -0
  275. package/assets/docs/help/procedure/pg-application/content59.md +53 -0
  276. package/assets/docs/help/procedure/pg-application/start.md +154 -0
  277. package/assets/docs/help/procedure/recommendation/package.md +98 -0
  278. package/assets/docs/help/procedure/service-addition/add-service.md +98 -0
  279. package/assets/docs/help/recon_issue1.md +25 -0
  280. package/assets/docs/help/recon_issue2.md +29 -0
  281. package/assets/docs/help/service/identity-verification/identity-verification.md +65 -0
  282. package/assets/docs/help/service/integration-type/integration-type.md +49 -0
  283. package/assets/docs/help/service/payment-type/payment-type.md +100 -0
  284. package/assets/docs/help/service/paymethod/paymethod.md +100 -0
  285. package/assets/docs/help/service/pg/pg-service-list.md +339 -0
  286. package/assets/docs/help/service/version/portone-version.md +61 -0
  287. package/assets/docs/opi/ko/console/guide/account.md +111 -0
  288. package/assets/docs/opi/ko/console/guide/api-keys.md +34 -0
  289. package/assets/docs/opi/ko/console/guide/billing-payments.md +312 -0
  290. package/assets/docs/opi/ko/console/guide/channel-manage.md +303 -0
  291. package/assets/docs/opi/ko/console/guide/connect.md +84 -0
  292. package/assets/docs/opi/ko/console/guide/home.md +37 -0
  293. package/assets/docs/opi/ko/console/guide/integration.md +18 -0
  294. package/assets/docs/opi/ko/console/guide/list.md +183 -0
  295. package/assets/docs/opi/ko/console/guide/pay.md +14 -0
  296. package/assets/docs/opi/ko/console/guide/payments.md +298 -0
  297. package/assets/docs/opi/ko/console/guide/promotion.md +140 -0
  298. package/assets/docs/opi/ko/console/guide/readme.md +22 -0
  299. package/assets/docs/opi/ko/console/guide/reg.md +159 -0
  300. package/assets/docs/opi/ko/console/guide/smartrouting.md +74 -0
  301. package/assets/docs/opi/ko/console/pg.md +92 -0
  302. package/assets/docs/opi/ko/etc/recon.md +286 -0
  303. package/assets/docs/opi/ko/extra/confirm-process/readme-v1.md +98 -0
  304. package/assets/docs/opi/ko/extra/confirm-process/readme-v2.md +152 -0
  305. package/assets/docs/opi/ko/extra/identity-verification/readme-v2.md +261 -0
  306. package/assets/docs/opi/ko/extra/identity-verification/v1/all/0.md +35 -0
  307. package/assets/docs/opi/ko/extra/identity-verification/v1/all/1.md +44 -0
  308. package/assets/docs/opi/ko/extra/identity-verification/v1/all/2.md +75 -0
  309. package/assets/docs/opi/ko/extra/identity-verification/v1/all/3.md +134 -0
  310. package/assets/docs/opi/ko/extra/identity-verification/v1/all/readme.md +17 -0
  311. package/assets/docs/opi/ko/extra/identity-verification/v1/credit-auth/1.md +35 -0
  312. package/assets/docs/opi/ko/extra/identity-verification/v1/credit-auth/2.md +78 -0
  313. package/assets/docs/opi/ko/extra/identity-verification/v1/credit-auth/3.md +75 -0
  314. package/assets/docs/opi/ko/extra/identity-verification/v1/credit-auth/4.md +134 -0
  315. package/assets/docs/opi/ko/extra/identity-verification/v1/credit-auth/readme.md +17 -0
  316. package/assets/docs/opi/ko/extra/identity-verification/v1/phone/1.md +37 -0
  317. package/assets/docs/opi/ko/extra/identity-verification/v1/phone/2.md +86 -0
  318. package/assets/docs/opi/ko/extra/identity-verification/v1/phone/3.md +77 -0
  319. package/assets/docs/opi/ko/extra/identity-verification/v1/phone/4.md +149 -0
  320. package/assets/docs/opi/ko/extra/identity-verification/v1/phone/readme.md +19 -0
  321. package/assets/docs/opi/ko/extra/identity-verification/v1/readme.md +9 -0
  322. package/assets/docs/opi/ko/extra/link-pay/readme-v1.md +235 -0
  323. package/assets/docs/opi/ko/extra/plugins/readme-v1.md +7 -0
  324. package/assets/docs/opi/ko/extra/plugins/shopify/readme-v1.md +54 -0
  325. package/assets/docs/opi/ko/extra/plugins/shopify/shopify/shopify-1.md +16 -0
  326. package/assets/docs/opi/ko/extra/plugins/shopify/shopify/shopify-2.md +32 -0
  327. package/assets/docs/opi/ko/extra/plugins/shopify/shopify/shopify-3.md +16 -0
  328. package/assets/docs/opi/ko/extra/plugins/shopify/shopify/shopify-4.md +35 -0
  329. package/assets/docs/opi/ko/extra/plugins/shopify/shopify/shopify-5.md +27 -0
  330. package/assets/docs/opi/ko/extra/plugins/wordpress/button.md +166 -0
  331. package/assets/docs/opi/ko/extra/plugins/wordpress/edd.md +56 -0
  332. package/assets/docs/opi/ko/extra/plugins/wordpress/readme-v1.md +10 -0
  333. package/assets/docs/opi/ko/extra/plugins/wordpress/woocommerce/payment.md +62 -0
  334. package/assets/docs/opi/ko/extra/plugins/wordpress/woocommerce/readme.md +30 -0
  335. package/assets/docs/opi/ko/extra/plugins/wordpress/woocommerce/subscription.md +60 -0
  336. package/assets/docs/opi/ko/extra/plugins/wordpress/woocommerce/vbank.md +64 -0
  337. package/assets/docs/opi/ko/extra/promotion/console-guide.md +148 -0
  338. package/assets/docs/opi/ko/extra/promotion/integration.md +769 -0
  339. package/assets/docs/opi/ko/extra/promotion/intro.md +31 -0
  340. package/assets/docs/opi/ko/extra/promotion/refund.md +316 -0
  341. package/assets/docs/opi/ko/extra/smart-routing/console-guide.md +73 -0
  342. package/assets/docs/opi/ko/extra/smart-routing/integration.md +1324 -0
  343. package/assets/docs/opi/ko/extra/smart-routing/intro.md +155 -0
  344. package/assets/docs/opi/ko/integration/cancel/v1/basic.md +324 -0
  345. package/assets/docs/opi/ko/integration/cancel/v1/virtual-account.md +99 -0
  346. package/assets/docs/opi/ko/integration/cancel/v2/readme.md +378 -0
  347. package/assets/docs/opi/ko/integration/checklist/readme-v1.md +83 -0
  348. package/assets/docs/opi/ko/integration/pg/v1/blue.md +99 -0
  349. package/assets/docs/opi/ko/integration/pg/v1/danal.md +409 -0
  350. package/assets/docs/opi/ko/integration/pg/v1/daou/readme.md +305 -0
  351. package/assets/docs/opi/ko/integration/pg/v1/daou/undefined.md +214 -0
  352. package/assets/docs/opi/ko/integration/pg/v1/eximbay.md +242 -0
  353. package/assets/docs/opi/ko/integration/pg/v1/hyphen.md +196 -0
  354. package/assets/docs/opi/ko/integration/pg/v1/inicis.md +444 -0
  355. package/assets/docs/opi/ko/integration/pg/v1/kakaopay.md +207 -0
  356. package/assets/docs/opi/ko/integration/pg/v1/kcp-v2-identity-verification.md +188 -0
  357. package/assets/docs/opi/ko/integration/pg/v1/kg.md +177 -0
  358. package/assets/docs/opi/ko/integration/pg/v1/kicc.md +308 -0
  359. package/assets/docs/opi/ko/integration/pg/v1/ksnet/readme.md +533 -0
  360. package/assets/docs/opi/ko/integration/pg/v1/ksnet/warning.md +175 -0
  361. package/assets/docs/opi/ko/integration/pg/v1/naver.md +558 -0
  362. package/assets/docs/opi/ko/integration/pg/v1/newtoss/readme.md +503 -0
  363. package/assets/docs/opi/ko/integration/pg/v1/newtoss/warning.md +364 -0
  364. package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp.md +1186 -0
  365. package/assets/docs/opi/ko/integration/pg/v1/nice-v2/billing-api-caution.md +150 -0
  366. package/assets/docs/opi/ko/integration/pg/v1/nice-v2/payment-caution.md +429 -0
  367. package/assets/docs/opi/ko/integration/pg/v1/nice-v2/readme.md +364 -0
  368. package/assets/docs/opi/ko/integration/pg/v1/nice.md +319 -0
  369. package/assets/docs/opi/ko/integration/pg/v1/payco.md +201 -0
  370. package/assets/docs/opi/ko/integration/pg/v1/paymentwall.md +283 -0
  371. package/assets/docs/opi/ko/integration/pg/v1/paypal.md +158 -0
  372. package/assets/docs/opi/ko/integration/pg/v1/readme.md +73 -0
  373. package/assets/docs/opi/ko/integration/pg/v1/rt/readme.md +501 -0
  374. package/assets/docs/opi/ko/integration/pg/v1/rt/warning.md +297 -0
  375. package/assets/docs/opi/ko/integration/pg/v1/settle/mybank.md +304 -0
  376. package/assets/docs/opi/ko/integration/pg/v1/settle/readme.md +185 -0
  377. package/assets/docs/opi/ko/integration/pg/v1/smartro-v2/api.md +197 -0
  378. package/assets/docs/opi/ko/integration/pg/v1/smartro-v2/caution.md +387 -0
  379. package/assets/docs/opi/ko/integration/pg/v1/smartro-v2/readme.md +293 -0
  380. package/assets/docs/opi/ko/integration/pg/v1/smartro.md +104 -0
  381. package/assets/docs/opi/ko/integration/pg/v1/smilepay.md +97 -0
  382. package/assets/docs/opi/ko/integration/pg/v1/spb/readme.md +441 -0
  383. package/assets/docs/opi/ko/integration/pg/v1/spb/stc.md +226 -0
  384. package/assets/docs/opi/ko/integration/pg/v1/spb/warning.md +729 -0
  385. package/assets/docs/opi/ko/integration/pg/v1/toss-brandpay/module.md +227 -0
  386. package/assets/docs/opi/ko/integration/pg/v1/toss-brandpay/readme.md +404 -0
  387. package/assets/docs/opi/ko/integration/pg/v1/toss-brandpay/warning.md +81 -0
  388. package/assets/docs/opi/ko/integration/pg/v1/toss-brandpay/widget.md +152 -0
  389. package/assets/docs/opi/ko/integration/pg/v1/toss.md +112 -0
  390. package/assets/docs/opi/ko/integration/pg/v1/tosspay-v2/caution.md +65 -0
  391. package/assets/docs/opi/ko/integration/pg/v1/tosspay-v2/readme.md +308 -0
  392. package/assets/docs/opi/ko/integration/pg/v1/tosspay.md +110 -0
  393. package/assets/docs/opi/ko/integration/pg/v1/welcome/api.md +229 -0
  394. package/assets/docs/opi/ko/integration/pg/v1/welcome/caution.md +517 -0
  395. package/assets/docs/opi/ko/integration/pg/v1/welcome/readme.md +795 -0
  396. package/assets/docs/opi/ko/integration/pg/v2/danal-identity-verification.md +121 -0
  397. package/assets/docs/opi/ko/integration/pg/v2/eximbay-v2.md +964 -0
  398. package/assets/docs/opi/ko/integration/pg/v2/hyphen.md +205 -0
  399. package/assets/docs/opi/ko/integration/pg/v2/inicis-jp.md +403 -0
  400. package/assets/docs/opi/ko/integration/pg/v2/inicis-unified-identity-verification.md +89 -0
  401. package/assets/docs/opi/ko/integration/pg/v2/inicis-v2.md +1598 -0
  402. package/assets/docs/opi/ko/integration/pg/v2/kakaopay.md +108 -0
  403. package/assets/docs/opi/ko/integration/pg/v2/kcp-v2-identity-verification.md +291 -0
  404. package/assets/docs/opi/ko/integration/pg/v2/kcp-v2.md +1273 -0
  405. package/assets/docs/opi/ko/integration/pg/v2/kpn.md +1133 -0
  406. package/assets/docs/opi/ko/integration/pg/v2/ksnet.md +526 -0
  407. package/assets/docs/opi/ko/integration/pg/v2/naverpay.md +186 -0
  408. package/assets/docs/opi/ko/integration/pg/v2/nice-v2.md +868 -0
  409. package/assets/docs/opi/ko/integration/pg/v2/payletter-global.md +62 -0
  410. package/assets/docs/opi/ko/integration/pg/v2/paypal-v2.md +1874 -0
  411. package/assets/docs/opi/ko/integration/pg/v2/readme.md +194 -0
  412. package/assets/docs/opi/ko/integration/pg/v2/smartro-v2.md +1043 -0
  413. package/assets/docs/opi/ko/integration/pg/v2/tosspay-v2.md +433 -0
  414. package/assets/docs/opi/ko/integration/pg/v2/tosspayments.md +551 -0
  415. package/assets/docs/opi/ko/integration/pg/v2/welcome.md +1441 -0
  416. package/assets/docs/opi/ko/integration/ready/readme.md +1069 -0
  417. package/assets/docs/opi/ko/integration/start/v1/auth.md +483 -0
  418. package/assets/docs/opi/ko/integration/start/v1/non-auth.md +420 -0
  419. package/assets/docs/opi/ko/integration/start/v1/readme.md +9 -0
  420. package/assets/docs/opi/ko/integration/start/v2/billing/issue.md +122 -0
  421. package/assets/docs/opi/ko/integration/start/v2/billing/payment.md +41 -0
  422. package/assets/docs/opi/ko/integration/start/v2/billing/readme.md +24 -0
  423. package/assets/docs/opi/ko/integration/start/v2/billing/schedule.md +54 -0
  424. package/assets/docs/opi/ko/integration/start/v2/checkout.md +258 -0
  425. package/assets/docs/opi/ko/integration/start/v2/keyin.md +54 -0
  426. package/assets/docs/opi/ko/integration/start/v2/readme.md +120 -0
  427. package/assets/docs/opi/ko/integration/using-ai-tools.md +140 -0
  428. package/assets/docs/opi/ko/integration/virtual-account/readme.md +268 -0
  429. package/assets/docs/opi/ko/integration/webhook/readme-v1.md +242 -0
  430. package/assets/docs/opi/ko/integration/webhook/readme-v2.md +599 -0
  431. package/assets/docs/opi/ko/quick-guide/payment.md +3305 -0
  432. package/assets/docs/opi/ko/readme.md +193 -0
  433. package/assets/docs/opi/ko/support/agency-and-tier.md +51 -0
  434. package/assets/docs/opi/ko/support/code-info/card-code.md +29 -0
  435. package/assets/docs/opi/ko/support/code-info/code.md +22 -0
  436. package/assets/docs/opi/ko/support/code-info/pg-1.md +161 -0
  437. package/assets/docs/opi/ko/support/code-info/pg-2.md +41 -0
  438. package/assets/docs/opi/ko/support/code-info/pg-3.md +36 -0
  439. package/assets/docs/opi/ko/support/code-info/pg.md +41 -0
  440. package/assets/docs/opi/ko/support/code-info/portone-code.md +15 -0
  441. package/assets/docs/opi/ko/support/code-info/readme.md +20 -0
  442. package/assets/docs/opi/ko/support/contact.md +23 -0
  443. package/assets/docs/opi/ko/support/faq/undefined.md +60 -0
  444. package/assets/docs/opi/ko/support/flow.md +24 -0
  445. package/assets/docs/opi/ko/support/redirect.md +26 -0
  446. package/assets/docs/opi/ko/support/tax.md +142 -0
  447. package/assets/docs/opi/ko/support/tls-support.md +497 -0
  448. package/assets/docs/platform/ko/guides/dictionary.md +20 -0
  449. package/assets/docs/platform/ko/guides/process.md +33 -0
  450. package/assets/docs/platform/ko/guides/webhook.md +171 -0
  451. package/assets/docs/platform/ko/readme.md +64 -0
  452. package/assets/docs/platform/ko/usages/client.md +17 -0
  453. package/assets/docs/platform/ko/usages/contract.md +126 -0
  454. package/assets/docs/platform/ko/usages/discount.md +89 -0
  455. package/assets/docs/platform/ko/usages/fee.md +97 -0
  456. package/assets/docs/platform/ko/usages/order.md +1666 -0
  457. package/assets/docs/platform/ko/usages/partner.md +115 -0
  458. package/assets/docs/platform/ko/using-ai-tools.md +140 -0
  459. package/assets/docs/release-notes/api-sdk/2023-04-24.md +10 -0
  460. package/assets/docs/release-notes/api-sdk/2023-05-08.md +22 -0
  461. package/assets/docs/release-notes/api-sdk/2023-05-12.md +24 -0
  462. package/assets/docs/release-notes/api-sdk/2023-05-22.md +46 -0
  463. package/assets/docs/release-notes/api-sdk/2023-05-25.md +15 -0
  464. package/assets/docs/release-notes/api-sdk/2023-06-19.md +20 -0
  465. package/assets/docs/release-notes/api-sdk/2023-07-03.md +26 -0
  466. package/assets/docs/release-notes/api-sdk/2023-07-10.md +35 -0
  467. package/assets/docs/release-notes/api-sdk/2023-07-17.md +31 -0
  468. package/assets/docs/release-notes/api-sdk/2023-07-31.md +14 -0
  469. package/assets/docs/release-notes/api-sdk/2023-08-31.md +29 -0
  470. package/assets/docs/release-notes/api-sdk/2023-12-15.md +12 -0
  471. package/assets/docs/release-notes/api-sdk/2024-01-08.md +36 -0
  472. package/assets/docs/release-notes/api-sdk/2024-01-11.md +18 -0
  473. package/assets/docs/release-notes/api-sdk/2024-01-25.md +35 -0
  474. package/assets/docs/release-notes/api-sdk/2024-01-30.md +19 -0
  475. package/assets/docs/release-notes/api-sdk/2024-02-23.md +26 -0
  476. package/assets/docs/release-notes/api-sdk/2024-03-08.md +12 -0
  477. package/assets/docs/release-notes/api-sdk/2024-03-15.md +30 -0
  478. package/assets/docs/release-notes/api-sdk/2024-03-25.md +23 -0
  479. package/assets/docs/release-notes/api-sdk/2024-04-01.md +37 -0
  480. package/assets/docs/release-notes/api-sdk/2024-04-05.md +10 -0
  481. package/assets/docs/release-notes/api-sdk/2024-04-12.md +32 -0
  482. package/assets/docs/release-notes/api-sdk/2024-05-08.md +34 -0
  483. package/assets/docs/release-notes/api-sdk/2024-05-14.md +17 -0
  484. package/assets/docs/release-notes/api-sdk/2024-06-03.md +48 -0
  485. package/assets/docs/release-notes/api-sdk/2024-06-17.md +37 -0
  486. package/assets/docs/release-notes/api-sdk/2024-06-19.md +39 -0
  487. package/assets/docs/release-notes/api-sdk/2024-06-20.md +13 -0
  488. package/assets/docs/release-notes/api-sdk/2024-07-04.md +15 -0
  489. package/assets/docs/release-notes/api-sdk/2024-07-11.md +47 -0
  490. package/assets/docs/release-notes/api-sdk/2024-09-05.md +36 -0
  491. package/assets/docs/release-notes/api-sdk/2024-09-27.md +27 -0
  492. package/assets/docs/release-notes/api-sdk/2024-12-19.md +52 -0
  493. package/assets/docs/release-notes/api-sdk/2025-01-15.md +76 -0
  494. package/assets/docs/release-notes/api-sdk/2025-05-19.md +49 -0
  495. package/assets/docs/release-notes/console/2023-04-24.md +41 -0
  496. package/assets/docs/release-notes/console/2023-05-08.md +6 -0
  497. package/assets/docs/release-notes/console/2023-05-22.md +15 -0
  498. package/assets/docs/release-notes/console/2023-07-05.md +29 -0
  499. package/assets/docs/release-notes/console/2023-07-07.md +25 -0
  500. package/assets/docs/release-notes/console/2023-07-17.md +16 -0
  501. package/assets/docs/release-notes/console/2023-08-23.md +17 -0
  502. package/assets/docs/release-notes/console/2023-09-12.md +16 -0
  503. package/assets/docs/release-notes/console/2023-12-27.md +24 -0
  504. package/assets/docs/release-notes/console/2024-09-05.md +23 -0
  505. package/assets/docs/release-notes/platform/2023-08-31.md +16 -0
  506. package/assets/docs/release-notes/platform/2023-11-08.md +37 -0
  507. package/assets/docs/release-notes/platform/2023-11-14.md +28 -0
  508. package/assets/docs/release-notes/platform/2023-12-15.md +11 -0
  509. package/assets/docs/release-notes/platform/2024-05-20.md +31 -0
  510. package/assets/docs/release-notes/platform/2024-05-29.md +159 -0
  511. package/assets/docs/release-notes/platform/2024-06-05.md +30 -0
  512. package/assets/docs/release-notes/platform/2024-07-05.md +49 -0
  513. package/assets/docs/release-notes/platform/2024-07-11.md +62 -0
  514. package/assets/docs/release-notes/platform/2024-07-30.md +44 -0
  515. package/assets/docs/release-notes/platform/2024-08-07.md +37 -0
  516. package/assets/docs/release-notes/platform/2024-08-22.md +111 -0
  517. package/assets/docs/release-notes/platform/2024-10-21.md +75 -0
  518. package/assets/docs/release-notes/platform/2024-11-07.md +65 -0
  519. package/assets/docs/release-notes/platform/2024-11-25.md +82 -0
  520. package/assets/docs/release-notes/platform/2024-12-10.md +61 -0
  521. package/assets/docs/release-notes/platform/2025-01-16.md +56 -0
  522. package/assets/docs/release-notes/platform/2025-02-10.md +67 -0
  523. package/assets/docs/release-notes/platform/2025-02-13.md +27 -0
  524. package/assets/docs/release-notes/platform/2025-03-04.md +49 -0
  525. package/assets/docs/release-notes/platform/2025-03-17.md +40 -0
  526. package/assets/docs/release-notes/platform/2025-04-03.md +96 -0
  527. package/assets/docs/release-notes/platform/2025-04-08.md +119 -0
  528. package/assets/docs/release-notes/platform/2025-05-14.md +77 -0
  529. package/assets/docs/release-notes/platform/2025-07-02.md +64 -0
  530. package/assets/docs/release-notes/platform/2025-07-07.md +55 -0
  531. package/assets/docs/schema/browser-sdk.yml +6349 -0
  532. package/assets/docs/schema/v1.openapi.json +11632 -0
  533. package/assets/docs/schema/v1.openapi.yml +11489 -0
  534. package/assets/docs/schema/v2.graphql +13849 -0
  535. package/assets/docs/schema/v2.openapi.json +47721 -0
  536. package/assets/docs/schema/v2.openapi.yml +34749 -0
  537. package/assets/docs/sdk/ko/readme.md +56 -0
  538. package/assets/docs/sdk/ko/v1-mobile-sdk/readme.md +31 -0
  539. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/cft-rt.md +32 -0
  540. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/cft.md +108 -0
  541. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/load-module-rt.md +10 -0
  542. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/load-module.md +55 -0
  543. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/payrq.md +502 -0
  544. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/payrt.md +300 -0
  545. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/readme.md +46 -0
  546. package/assets/docs/sdk/ko/v1-sdk/javascript-sdk-old/readme.md +33 -0
  547. package/assets/docs/sdk/ko/v2-mobile-sdk/android.md +268 -0
  548. package/assets/docs/sdk/ko/v2-mobile-sdk/react-native.md +239 -0
  549. package/assets/docs/sdk/ko/v2-mobile-sdk/readme.md +30 -0
  550. package/assets/docs/sdk/ko/v2-sdk/billing-key-and-pay-request.md +26 -0
  551. package/assets/docs/sdk/ko/v2-sdk/billing-key-and-pay-response.md +15 -0
  552. package/assets/docs/sdk/ko/v2-sdk/billing-key-request.md +24 -0
  553. package/assets/docs/sdk/ko/v2-sdk/billing-key-response.md +15 -0
  554. package/assets/docs/sdk/ko/v2-sdk/changelog.md +8 -0
  555. package/assets/docs/sdk/ko/v2-sdk/identity-verification-request.md +15 -0
  556. package/assets/docs/sdk/ko/v2-sdk/identity-verification-response.md +15 -0
  557. package/assets/docs/sdk/ko/v2-sdk/load-issue-billing-key-ui-request.md +15 -0
  558. package/assets/docs/sdk/ko/v2-sdk/load-issue-billing-key-ui-response.md +23 -0
  559. package/assets/docs/sdk/ko/v2-sdk/load-payment-ui-request.md +15 -0
  560. package/assets/docs/sdk/ko/v2-sdk/load-payment-ui-response.md +23 -0
  561. package/assets/docs/sdk/ko/v2-sdk/payment-request.md +15 -0
  562. package/assets/docs/sdk/ko/v2-sdk/payment-response.md +15 -0
  563. package/assets/docs/sdk/ko/v2-sdk/readme.md +73 -0
  564. package/assets/docs/sdk/ko/v2-sdk/update-load-issue-billing-key-ui-request.md +15 -0
  565. package/assets/docs/sdk/ko/v2-sdk/update-load-payment-ui-request.md +15 -0
  566. package/assets/docs/sdk/ko/v2-server-sdk/javascript.md +170 -0
  567. package/assets/docs/sdk/ko/v2-server-sdk/jvm.md +170 -0
  568. package/assets/docs/sdk/ko/v2-server-sdk/python.md +152 -0
  569. package/assets/docs/sdk/ko/v2-server-sdk/readme.md +259 -0
  570. package/assets/docs/v1-docs-full.md +36540 -0
  571. package/assets/docs/v2-docs-full.md +34980 -0
  572. package/assets/docs/website-links.md +331 -0
  573. package/assets/instructions.md +19 -0
  574. package/manifest.json +50 -0
  575. package/package.json +66 -0
  576. package/server/index.js +1764 -0
@@ -0,0 +1,3305 @@
1
+ ---
2
+ title: 퀵 가이드
3
+ description: 결제연동 퀵 가이드
4
+ customLayout: InteractiveDocs
5
+ targetVersions:
6
+ - v2
7
+ versionVariants:
8
+ v1: /opi/ko/integration/ready/readme?v=v1
9
+ ---
10
+
11
+ 퀵 가이드 내용을 포함한 포트원 결제 연동 샘플 프로젝트를 [GitHub 저장소](https://github.com/portone-io/portone-sample)에서 추가로 확인하실 수 있습니다.
12
+
13
+ ## 브라우저 측
14
+
15
+ <!-- SECTION client:import-portone-sdk START -->
16
+
17
+ ### 포트원 브라우저 SDK 불러오기
18
+
19
+ 포트원 브라우저 SDK를 불러옵니다.
20
+
21
+ <!-- CONDITIONAL CONTENT language=frontend/React START -->
22
+
23
+ 아래 명령어로 브라우저 SDK를 설치합니다.
24
+
25
+ ![NPM Version](https://img.shields.io/npm/v/%40portone%2Fbrowser-sdk)
26
+
27
+ <div class="tabs-container">
28
+
29
+ <div class="tabs-content" data-title="npm">
30
+
31
+ ```shell
32
+ npm install --save @portone/browser-sdk
33
+ ```
34
+
35
+ </div>
36
+
37
+ <div class="tabs-content" data-title="yarn">
38
+
39
+ ```shell
40
+ yarn add @portone/browser-sdk
41
+ ```
42
+
43
+ </div>
44
+
45
+ <div class="tabs-content" data-title="pnpm">
46
+
47
+ ```shell
48
+ pnpm add @portone/browser-sdk
49
+ ```
50
+
51
+ </div>
52
+
53
+ <div class="tabs-content" data-title="bun">
54
+
55
+ ```shell
56
+ bun add @portone/browser-sdk
57
+ ```
58
+
59
+ </div>
60
+
61
+ <div class="tabs-content" data-title="deno">
62
+
63
+ ```shell
64
+ deno add npm:@portone/browser-sdk
65
+ ```
66
+
67
+ </div>
68
+
69
+ <div class="tabs-content" data-title="ni">
70
+
71
+ ```shell
72
+ ni @portone/browser-sdk
73
+ ```
74
+
75
+ </div>
76
+
77
+ </div>
78
+
79
+ <!-- CONDITIONAL CONTENT language=frontend/React END -->
80
+
81
+ <!-- SECTION client:import-portone-sdk END -->
82
+
83
+ <!-- SECTION client:fetch-item START -->
84
+
85
+ ### 상품 정보 불러오기
86
+
87
+ 서버로부터 결제할 상품의 정보를 불러옵니다.
88
+
89
+ <!-- SECTION client:fetch-item END -->
90
+
91
+ <!-- SECTION client:request-payment START -->
92
+
93
+ ### 결제 요청
94
+
95
+ 포트원 브라우저 SDK를 사용하여 결제를 요청합니다.
96
+
97
+ - storeId: string
98
+
99
+ **상점 아이디**
100
+
101
+ 포트원 계정에 생성된 상점을 식별하는 고유한 값으로 [관리자 콘솔 > 연동 정보](https://admin.portone.io/integration-v2/manage/channel) 우측 상단에서 확인할 수 있습니다.
102
+
103
+ - channelKey: string
104
+
105
+ **채널 키**
106
+
107
+ [관리자 콘솔 > 연동 정보](https://admin.portone.io/integration-v2/manage/channel)에서 채널 연동 시 생성된 채널 키입니다.
108
+
109
+ - paymentId: string
110
+
111
+ **고객사 주문 고유 번호**
112
+
113
+ 주문을 식별하는 고유 번호로, 포트원에서 제공하지 않고 직접 입력합니다.
114
+
115
+ 이미 결제 완료된 `paymentId`로 결제나 가상계좌 발급을 시도하는 경우 실패합니다.
116
+
117
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
118
+
119
+ <div class="hint" data-style="warning">
120
+
121
+ 토스페이먼츠의 경우 영문 대소문자, 숫자, `-`, `_`만 허용되며, 6자 이상 64자 이하로 입력합니다.
122
+
123
+ </div>
124
+
125
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
126
+
127
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
128
+
129
+ <div class="hint" data-style="warning">
130
+
131
+ KCP의 경우 영문 대소문자, 숫자만 허용되며, 40자 이하로 입력합니다.
132
+
133
+ </div>
134
+
135
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
136
+
137
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
138
+
139
+ <div class="hint" data-style="warning">
140
+
141
+ 스마트로의 경우 영문 대소문자, 숫자만 허용되며, 40자 이하로 입력합니다.
142
+
143
+ </div>
144
+
145
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
146
+
147
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
148
+
149
+ <div class="hint" data-style="warning">
150
+
151
+ 한국결제네트웍스의 경우 영문 대소문자, 숫자만 허용되며, 32자 이하로 입력합니다.
152
+
153
+ </div>
154
+
155
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
156
+
157
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
158
+
159
+ <div class="hint" data-style="warning">
160
+
161
+ KG이니시스의 경우 ASCII 문자만 허용되며, 40자 이하로 입력합니다.
162
+
163
+ </div>
164
+
165
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
166
+
167
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'hyphen' START -->
168
+
169
+ <div class="hint" data-style="warning">
170
+
171
+ 하이픈의 경우 영문 대소문자, 숫자, `_`만 허용되며, 50자 이하로 입력합니다.
172
+
173
+ </div>
174
+
175
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'hyphen' END -->
176
+
177
+ - orderName: string
178
+
179
+ **주문명**
180
+
181
+ 주문명으로 자유롭게 입력합니다.
182
+
183
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
184
+
185
+ <div class="hint" data-style="warning">
186
+
187
+ 나이스페이먼츠의 경우 최대 40바이트까지 입력할 수 있으며, 사용 가능한 특수문자는 아래와 같습니다.
188
+
189
+ - 사용 가능: `_`
190
+ - 사용 불가: `% & | $ - + = [ ]`
191
+ - 사용 가능하나 권장하지 않음: `( )`
192
+
193
+ </div>
194
+
195
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
196
+
197
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
198
+
199
+ <div class="hint" data-style="warning">
200
+
201
+ KCP의 경우 최대 100바이트까지 입력할 수 있습니다.
202
+
203
+ </div>
204
+
205
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
206
+
207
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
208
+
209
+ <div class="hint" data-style="warning">
210
+
211
+ 스마트로의 경우 최대 40바이트까지 입력할 수 있습니다.
212
+
213
+ </div>
214
+
215
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
216
+
217
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
218
+
219
+ <div class="hint" data-style="warning">
220
+
221
+ 한국결제네트웍스의 경우 최대 256바이트까지 입력할 수 있습니다.
222
+
223
+ </div>
224
+
225
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
226
+
227
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
228
+
229
+ <div class="hint" data-style="warning">
230
+
231
+ KG이니시스의 경우 최대 40바이트까지 입력할 수 있으며, 40바이트 초과시 37바이트에서 잘리고 "..."가 추가됩니다.
232
+
233
+ </div>
234
+
235
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
236
+
237
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'naver' START -->
238
+
239
+ <div class="hint" data-style="warning">
240
+
241
+ 네이버페이의 경우 `bypass.naverpay.productItems`의 개수에 따라 주문명 뒤에 `외 X개`가 붙으므로,
242
+ 주문명을 `bypass.naverpay.productItems[0].name`으로 입력하는 것이 권장됩니다.
243
+
244
+ </div>
245
+
246
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'naver' END -->
247
+
248
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'hyphen' START -->
249
+
250
+ <div class="hint" data-style="warning">
251
+
252
+ 하이픈의 경우 최대 1000바이트까지 입력할 수 있습니다.
253
+
254
+ </div>
255
+
256
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'hyphen' END -->
257
+
258
+ - totalAmount: number
259
+
260
+ **결제 금액**
261
+
262
+ 결제 금액을 정수로 입력합니다.
263
+
264
+ - 해외 통화의 경우 통화의 최소 단위를 기준으로 합니다. 예를 들어, USD의 최소 단위는 센트(0.01 USD)이므로, 6 USD의 경우 100배하여 600으로 입력합니다.
265
+
266
+ - 통화의 최소 단위는 [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html)에 의해 표준화된 minor unit입니다.
267
+ - KRW: 1배
268
+ - USD: 100배
269
+ - JPY: 1배
270
+
271
+ - currency: string
272
+
273
+ **화폐**
274
+
275
+ [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html)에 의해 표준화된 알파벳 통화 코드를 입력합니다.
276
+
277
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
278
+
279
+ <div class="hint" data-style="warning">
280
+
281
+ 토스페이먼츠는 `KRW`만을 지원합니다.
282
+
283
+ </div>
284
+
285
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
286
+
287
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
288
+
289
+ <div class="hint" data-style="warning">
290
+
291
+ 나이스페이먼츠는 `KRW`만을 지원합니다.
292
+
293
+ </div>
294
+
295
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
296
+
297
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
298
+
299
+ <div class="hint" data-style="warning">
300
+
301
+ 스마트로는 `KRW`와 `USD`만을 지원합니다. 상점 아이디의 설정에 따라 결제 통화가 고정되어 `currency`와 일치하지 않을 수 있습니다.
302
+
303
+ </div>
304
+
305
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
306
+
307
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
308
+
309
+ <div class="hint" data-style="warning">
310
+
311
+ 한국결제네트웍스는 `KRW`와 `USD`만을 지원합니다.
312
+
313
+ </div>
314
+
315
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
316
+
317
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' START -->
318
+
319
+ <div class="hint" data-style="warning">
320
+
321
+ KSNET은 `KRW`와 `USD`만을 지원합니다.
322
+
323
+ </div>
324
+
325
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' END -->
326
+
327
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
328
+
329
+ <div class="hint" data-style="warning">
330
+
331
+ KCP는 `KRW`와 `USD`만을 지원합니다. `USD`의 경우 별도 계약이 필요합니다.
332
+
333
+ </div>
334
+
335
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
336
+
337
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
338
+
339
+ <div class="hint" data-style="warning">
340
+
341
+ KG이니시스 카드 결제는 `KRW`와 `USD`만을 지원합니다.
342
+
343
+ </div>
344
+
345
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
346
+
347
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
348
+
349
+ <div class="hint" data-style="warning">
350
+
351
+ 카드 결제를 제외한 KG이니시스는 `KRW`만을 지원합니다.
352
+
353
+ </div>
354
+
355
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
356
+
357
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kakao' START -->
358
+
359
+ <div class="hint" data-style="warning">
360
+
361
+ 카카오페이는 `KRW`만을 지원합니다.
362
+
363
+ </div>
364
+
365
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kakao' END -->
366
+
367
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'naver' START -->
368
+
369
+ <div class="hint" data-style="warning">
370
+
371
+ 네이버페이는 `KRW`만을 지원합니다.
372
+
373
+ </div>
374
+
375
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'naver' END -->
376
+
377
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'tosspay' START -->
378
+
379
+ <div class="hint" data-style="warning">
380
+
381
+ 토스페이는 `KRW`만을 지원합니다.
382
+
383
+ </div>
384
+
385
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'tosspay' END -->
386
+
387
+ - payMethod: string
388
+
389
+ **결제 수단**
390
+
391
+ 사용할 결제 수단에 맞는 값을 입력합니다.
392
+
393
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' START -->
394
+
395
+ <div class="hint" data-style="warning">
396
+
397
+ 엑심베이의 경우 결제수단에 상관없이 `CARD`를 입력해야 하며, 특정 결제수단만을 표시하기 위해서는 `bypass.eximbay_v2`를 사용해야 합니다.
398
+
399
+ </div>
400
+
401
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' END -->
402
+
403
+ <details>
404
+
405
+ <summary>지원 결제 수단 코드</summary>
406
+
407
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
408
+
409
+ - 카드: `CARD`
410
+ - 실시간 계좌이체: `TRANSFER`
411
+ - 가상계좌: `VIRTUAL_ACCOUNT`
412
+ - 휴대폰 소액결제: `MOBILE`
413
+ - 간편결제: `EASY_PAY`
414
+ - 상품권: `GIFT_CERTIFICATE`
415
+
416
+ <div class="hint" data-style="warning">
417
+
418
+ 휴대폰 소액결제, 간편결제, 상품권 결제는 별도 계약이 필요합니다.
419
+
420
+ </div>
421
+
422
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
423
+
424
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
425
+
426
+ - 카드: `CARD`
427
+ - 실시간 계좌이체: `TRANSFER`
428
+ - 가상계좌: `VIRTUAL_ACCOUNT`
429
+ - 휴대폰 소액결제: `MOBILE`
430
+ - 간편결제: `EASY_PAY`
431
+ - 상품권: `GIFT_CERTIFICATE`
432
+
433
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
434
+
435
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
436
+
437
+ - 카드: `CARD`
438
+ - 실시간 계좌이체: `TRANSFER`
439
+ - 가상계좌: `VIRTUAL_ACCOUNT`
440
+ - 휴대폰 소액결제: `MOBILE`
441
+ - 간편결제: `EASY_PAY`
442
+
443
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
444
+
445
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
446
+
447
+ - 카드: `CARD`
448
+ - 실시간 계좌이체: `TRANSFER`
449
+ - 가상계좌: `VIRTUAL_ACCOUNT`
450
+ - 휴대폰 소액결제: `MOBILE`
451
+ - 간편결제: `EASY_PAY`
452
+
453
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
454
+
455
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
456
+
457
+ - 카드: `CARD`
458
+ - 실시간 계좌이체: `TRANSFER`
459
+ - 가상계좌: `VIRTUAL_ACCOUNT`
460
+ - 휴대폰 소액결제: `MOBILE`
461
+ - 간편결제: `EASY_PAY`
462
+ - 상품권: `GIFT_CERTIFICATE`
463
+
464
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
465
+
466
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' START -->
467
+
468
+ - 카드: `CARD`
469
+ - 실시간 계좌이체: `TRANSFER`
470
+ - 가상계좌: `VIRTUAL_ACCOUNT`
471
+ - 휴대폰 소액결제: `MOBILE`
472
+ - 간편결제: `EASY_PAY`
473
+
474
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' END -->
475
+
476
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
477
+
478
+ - 카드: `CARD`
479
+ - 실시간 계좌이체: `TRANSFER`
480
+ - 가상계좌: `VIRTUAL_ACCOUNT`
481
+ - 휴대폰 소액결제: `MOBILE`
482
+ - 간편결제: `EASY_PAY`
483
+ - 상품권: `GIFT_CERTIFICATE`
484
+
485
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
486
+
487
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['kakao', 'naver', 'tosspay', 'hyphen'].includes(name) START -->
488
+
489
+ - 간편결제: `EASY_PAY`
490
+
491
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['kakao', 'naver', 'tosspay', 'hyphen'].includes(name) END -->
492
+
493
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' START -->
494
+
495
+ - `CARD`
496
+
497
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' END -->
498
+
499
+ </details>
500
+
501
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' START -->
502
+
503
+ - card?: object
504
+
505
+ **카드 결제 추가 정보**
506
+
507
+ `payMethod`가 `CARD`인 경우 카드 결제와 관련한 추가 정보를 입력할 수 있습니다.
508
+
509
+ - cardCompany?: string
510
+
511
+ **단독 노출 카드사**
512
+
513
+ 구매자가 카드사를 선택하지 않고 입력한 카드사 화면으로 바로 이동하도록 합니다.
514
+
515
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
516
+
517
+ <div class="hint" data-style="warning">
518
+
519
+ 토스페이먼츠의 경우 카드사 단독 노출과 동시에 할부를 설정하려면 `card.installment.monthOption.fixedMonth`를 반드시 전달해야 하며, 그렇지 않을 경우 일시불로 결제됩니다.
520
+
521
+ </div>
522
+
523
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
524
+
525
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
526
+
527
+ <div class="hint" data-style="warning">
528
+
529
+ 나이스페이먼츠의 경우 카드사 단독 노출 시 `card.installment.monthOption.fixedMonth`를 필수로 지정해야 합니다.
530
+ 결제 금액이 할부 지원 금액 미만인 경우 할부 개월 수를 `0`으로 전달해야 합니다.
531
+
532
+ </div>
533
+
534
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
535
+
536
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
537
+
538
+ <div class="hint" data-style="warning">
539
+
540
+ 스마트로의 경우 전북카드, 카카오뱅크 카드는 Windows에서만 단독 노출이 가능합니다.
541
+
542
+ </div>
543
+
544
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
545
+
546
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
547
+
548
+ <div class="hint" data-style="warning">
549
+
550
+ KCP의 경우 카드사 단독 노출 시 `bypass.kcp_v2.site_name`을 필수로 지정해야 할 수 있습니다.
551
+ 자세한 사항은 해당 파라미터 설명을 참조해 주세요.
552
+
553
+ </div>
554
+
555
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
556
+
557
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
558
+
559
+ <div class="hint" data-style="warning">
560
+
561
+ 한국결제네트웍스의 경우 카드사 단독 노출 시에 아래 3가지 약관 동의 절차가 고객사 페이지 내에 있어야 합니다.
562
+
563
+ - `https://www.firstpay.co.kr/jsp/common/agreementPopup.jsp?type=1` (전자금융거래 이용약관)
564
+ - `https://www.firstpay.co.kr/jsp/common/agreementPopup.jsp?type=3` (개인정보 수집 및 이용처리 동의)
565
+ - `https://www.firstpay.co.kr/jsp/common/agreementPopup.jsp?type=4` (개인정보 제3자 제공 동의)
566
+
567
+ 영어 약관이 필요한 경우 URL 뒤에 `&langType=ENG`을 추가하여 사용할 수 있습니다.
568
+
569
+ </div>
570
+
571
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
572
+
573
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
574
+
575
+ <div class="hint" data-style="warning">
576
+
577
+ KG이니시스의 경우 카드사 단독 노출 시 별도 계약이 필요합니다.
578
+
579
+ </div>
580
+
581
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
582
+
583
+ <details>
584
+
585
+ <summary>지원 카드사 코드 목록</summary>
586
+
587
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
588
+
589
+ - `KOREA_DEVELOPMENT_BANK` (KDB산업은행 카드)
590
+ - `KFCC` (새마을금고 카드)
591
+ - `SHINHYUP` (신협 카드)
592
+ - `EPOST`(우체국 카드)
593
+ - `SAVINGS_BANK_KOREA` (저축은행 카드)
594
+ - `KAKAO_BANK` (카카오뱅크 카드)
595
+ - `WOORI_CARD` (우리카드)
596
+ - `BC_CARD` (BC카드)
597
+ - `GWANGJU_CARD` (광주카드)
598
+ - `SAMSUNG_CARD` (삼성카드)
599
+ - `SHINHAN_CARD` (신한카드)
600
+ - `HYUNDAI_CARD` (현대카드)
601
+ - `LOTTE_CARD` (롯데카드)
602
+ - `SUHYUP_CARD` (수협카드)
603
+ - `CITI_CARD` (씨티카드)
604
+ - `NH_CARD` (NH농협카드)
605
+ - `JEONBUK_CARD` (전북카드)
606
+ - `JEJU_CARD` (제주카드)
607
+ - `HANA_CARD` (하나카드)
608
+ - `KOOKMIN_CARD` (국민카드)
609
+ - `K_BANK` (케이뱅크 카드)
610
+ - `TOSS_BANK` (토스뱅크 카드)
611
+
612
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
613
+
614
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['nice', 'smartro', 'kpn', 'inicis', 'ksnet'].includes(name) START -->
615
+
616
+ - `KOREA_DEVELOPMENT_BANK` (KDB산업은행 카드)
617
+ - `KFCC` (새마을금고 카드)
618
+ - `SHINHYUP` (신협 카드)
619
+ - `EPOST` (우체국 카드)
620
+ - `SAVINGS_BANK_KOREA` (저축은행 카드)
621
+ - `KAKAO_BANK` (카카오뱅크 카드)
622
+ - `WOORI_CARD` (우리카드)
623
+ - `BC_CARD` (BC카드)
624
+ - `GWANGJU_CARD` (광주카드)
625
+ - `SAMSUNG_CARD` (삼성카드)
626
+ - `SHINHAN_CARD` (신한카드)
627
+ - `HYUNDAI_CARD` (현대카드)
628
+ - `LOTTE_CARD` (롯데카드)
629
+ - `SUHYUP_CARD` (수협카드)
630
+ - `CITI_CARD` (씨티카드)
631
+ - `NH_CARD` (NH농협카드)
632
+ - `JEONBUK_CARD` (전북카드)
633
+ - `JEJU_CARD` (제주카드)
634
+ - `HANA_CARD` (하나카드)
635
+ - `KOOKMIN_CARD` (국민카드)
636
+ - `K_BANK` (케이뱅크 카드)
637
+ - `TOSS_BANK` (토스뱅크 카드)
638
+
639
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['nice', 'smartro', 'kpn', 'inicis', 'ksnet'].includes(name) END -->
640
+
641
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
642
+
643
+ - `KOREA_DEVELOPMENT_BANK` (KDB산업은행 카드)
644
+ - `KFCC` (새마을금고 카드)
645
+ - `SHINHYUP` (신협 카드)
646
+ - `EPOST` (우체국 카드)
647
+ - `SAVINGS_BANK_KOREA` (저축은행 카드)
648
+ - `KAKAO_BANK` (카카오뱅크 카드)
649
+ - `WOORI_CARD` (우리카드)
650
+ - `BC_CARD` (BC카드)
651
+ - `GWANGJU_CARD` (광주카드)
652
+ - `SAMSUNG_CARD` (삼성카드)
653
+ - `SHINHAN_CARD` (신한카드)
654
+ - `HYUNDAI_CARD` (현대카드)
655
+ - `LOTTE_CARD` (롯데카드)
656
+ - `SUHYUP_CARD` (수협카드)
657
+ - `CITI_CARD` (씨티카드)
658
+ - `NH_CARD` (NH농협카드)
659
+ - `JEJU_CARD` (제주카드)
660
+ - `HANA_CARD` (하나카드)
661
+ - `KOOKMIN_CARD` (국민카드)
662
+ - `K_BANK` (케이뱅크 카드)
663
+ - `TOSS_BANK` (토스뱅크 카드)
664
+
665
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
666
+
667
+ </details>
668
+
669
+ - availableCards?: string\[]
670
+
671
+ **카드사 일부 노출**
672
+
673
+ 지정한 일부 카드사만을 목록에 노출할 수 있습니다. 상단의 카드사 식별 값 항목을 참고해주세요.
674
+
675
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'kpn', 'inicis'].includes(name) START -->
676
+
677
+ - useFreeInterestFromMall?: boolean
678
+
679
+ **상점 분담 무이자 활성화 여부**
680
+
681
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
682
+
683
+ <div class="hint" data-style="warning">
684
+
685
+ 토스페이먼츠의 경우 상점 분담 무이자 할부 이용 시 별도 계약이 필요합니다.
686
+
687
+ </div>
688
+
689
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
690
+
691
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'kpn', 'inicis'].includes(name) END -->
692
+
693
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'inicis'].includes(name) START -->
694
+
695
+ - useInstallment?: boolean
696
+
697
+ **할부 사용 여부**
698
+
699
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'inicis'].includes(name) END -->
700
+
701
+ - installment?: object
702
+
703
+ **할부 설정**
704
+
705
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
706
+
707
+ <div class="hint" data-style="warning">
708
+
709
+ 토스페이먼츠의 경우 신용카드 할부 이용 시 별도 계약이 필요합니다.
710
+
711
+ </div>
712
+
713
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
714
+
715
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
716
+
717
+ <div class="hint" data-style="warning">
718
+
719
+ 스마트로의 경우 신용카드 할부 이용 시 별도 계약이 필요합니다.
720
+
721
+ </div>
722
+
723
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
724
+
725
+ - freeInstallmentPlans?: object\[]
726
+
727
+ **무이자 할부 설정**
728
+
729
+ 고객사가 부담하는 무이자 할부 설정입니다.
730
+
731
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
732
+
733
+ <div class="hint" data-style="warning">
734
+
735
+ 스마트로의 경우 상점 부담 무이자 할부 이용 시 별도 계약이 필요합니다.
736
+
737
+ </div>
738
+
739
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
740
+
741
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
742
+
743
+ <div class="hint" data-style="warning">
744
+
745
+ 한국결제네트웍스의 경우 상점 부담 무이자 할부 이용 시 별도 계약이 필요합니다.
746
+
747
+ </div>
748
+
749
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
750
+
751
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
752
+
753
+ <div class="hint" data-style="warning">
754
+
755
+ KG이니시스의 경우 상점 부담 무이자 할부 이용 시 별도 계약이 필요합니다.
756
+
757
+ </div>
758
+
759
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
760
+
761
+ - cardCompany: string
762
+
763
+ **무이자 할부를 제공하는 카드사 식별 값**
764
+
765
+ 상단의 카드사 식별 값 항목을 참고해주세요.
766
+
767
+ - months: number\[]
768
+
769
+ **무이자 할부를 제공하는 개월 수**
770
+
771
+ - monthOption?: object
772
+
773
+ **할부 개월 수 설정**
774
+
775
+ 할부 결제 시 할부 개월 수를 설정할 수 있습니다.
776
+
777
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kcp' START -->
778
+
779
+ `fixedMonth`와 `availableMonthList` 중 하나만 제공해주세요.
780
+
781
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kcp' END -->
782
+
783
+ - fixedMonth: number
784
+
785
+ **구매자가 선택할 수 없도록 고정된 할부 개월 수**
786
+
787
+ 구매자가 할부 개월 수를 선택할 수 있도록 하려면 `availableMonthList`를 사용해주세요.
788
+
789
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
790
+
791
+ <div class="hint" data-style="warning">
792
+
793
+ 토스페이먼츠의 경우 현대카드는 1만원, 그 외는 5만원 이상 결제에 대해서만 적용됩니다.
794
+
795
+ </div>
796
+
797
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
798
+
799
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'smartro', 'inicis'].includes(name) START -->
800
+
801
+ - availableMonthList: number\[]
802
+
803
+ **구매자가 선택할 수 있는 할부 개월 수 목록**
804
+
805
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'smartro', 'inicis'].includes(name) END -->
806
+
807
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'smartro'].includes(name) START -->
808
+
809
+ - useCardPoint?: boolean
810
+
811
+ **카드사 포인트 사용 여부**
812
+
813
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
814
+
815
+ <div class="hint" data-style="warning">
816
+
817
+ 토스페이먼츠의 경우 카드사 포인트 사용 시 별도 계약이 필요합니다.
818
+
819
+ </div>
820
+
821
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
822
+
823
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
824
+
825
+ <div class="hint" data-style="warning">
826
+
827
+ 나이스페이먼츠의 경우 카드사 포인트 사용 시 별도 계약이 필요합니다.
828
+
829
+ </div>
830
+
831
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
832
+
833
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
834
+
835
+ <div class="hint" data-style="warning">
836
+
837
+ KG이니시스의 경우 카드사 포인트 사용 시 별도 계약이 필요합니다.
838
+
839
+ </div>
840
+
841
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
842
+
843
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'smartro'].includes(name) END -->
844
+
845
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis'].includes(name) START -->
846
+
847
+ - useAppCardOnly?: boolean
848
+
849
+ **앱 카드만 허용할지 여부**
850
+
851
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
852
+
853
+ <div class="hint" data-style="warning">
854
+
855
+ 토스페이먼츠의 경우 씨티카드는 적용이 불가능합니다.
856
+
857
+ </div>
858
+
859
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
860
+
861
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis'].includes(name) END -->
862
+
863
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' END -->
864
+
865
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "virtualAccount" START -->
866
+
867
+ - virtualAccount?: object
868
+
869
+ **가상계좌 발급 추가 정보**
870
+
871
+ `payMethod`가 `VIRTUAL_ACCOUNT`인 경우 가상계좌와 관련한 추가 정보를 입력할 수 있습니다.
872
+
873
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kcp' START -->
874
+
875
+ - cashReceiptType?: string
876
+
877
+ **결제창에서 발급 가능한 현금영수증 발급 유형**
878
+
879
+ - `PERSONAL` (소득공제용)
880
+ - `CORPORATE` (지출증빙용)
881
+ - `ANONYMOUS` (미발행(국세청번호 자동발급))
882
+
883
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
884
+
885
+ <div class="hint" data-style="warning">
886
+
887
+ 스마트로의 경우 `cashReceiptType`과 `bankCode`를 같이 사용해야 합니다.
888
+
889
+ </div>
890
+
891
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
892
+
893
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kcp' END -->
894
+
895
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'kcp'].includes(name) START -->
896
+
897
+ - customerIdentifier?: string
898
+
899
+ **현금영수증 발행 대상 식별 정보**
900
+
901
+ 소득공제용(`PERSONAL`)의 경우 전화번호를, 지출증빙용(`CORPORATE`)의 경우 사업자번호를 입력하며, 미발행(`ANONYMOUS`)의 경우 무시됩니다.
902
+
903
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
904
+
905
+ <div class="hint" data-style="warning">
906
+
907
+ 스마트로의 경우 `cashReceiptType`에 `ANONYMOUS` 외의 값이 설정되면 올바른 `customerIdentifier`를 반드시 입력해야 합니다.
908
+
909
+ </div>
910
+
911
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
912
+
913
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'kcp'].includes(name) END -->
914
+
915
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'kpn'].includes(name) START -->
916
+
917
+ - fixedOption?: oneof object
918
+
919
+ **고정식 가상계좌 설정**
920
+
921
+ - `pgAccountId`와 `accountNumber` 중 하나만 입력해주세요.
922
+
923
+ * pgAccountId?: string
924
+
925
+ 결제대행사로부터 사전에 가상계좌를 발급받은 경우, 그 번호를 입력해주세요.
926
+
927
+ * accountNumber?: string
928
+
929
+ 고정하여 사용할 가상계좌 번호를 입력해주세요.
930
+
931
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'kpn'].includes(name) END -->
932
+
933
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'kpn'].includes(name) START -->
934
+
935
+ - bankCode?: string
936
+
937
+ **단독 노출 은행**
938
+
939
+ 구매자가 은행을 선택하지 않고 입력한 은행이 자동 선택되도록 합니다.
940
+
941
+ <details>
942
+
943
+ <summary>지원 은행 코드</summary>
944
+
945
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
946
+
947
+ - `KYONGNAM_BANK` (경남은행)
948
+ - `GWANGJU_BANK` (광주은행)
949
+ - `KOOKMIN_BANK` (국민은행)
950
+ - `INDUSTRIAL_BANK_OF_KOREA` (기업은행)
951
+ - `NH_NONGHYUP_BANK` (NH농협은행)
952
+ - `DAEGU_BANK` (대구은행)
953
+ - `BUSAN_BANK` (부산은행)
954
+ - `KFCC` (새마을금고)
955
+ - `SUHYUP_BANK` (수협은행)
956
+ - `SHINHAN_BANK` (신한은행)
957
+ - `WOORI_BANK` (우리은행)
958
+ - `EPOST` (우체국)
959
+ - `HANA_BANK` (하나은행)
960
+
961
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
962
+
963
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
964
+
965
+ - `INDUSTRIAL_BANK_OF_KOREA` (기업은행)
966
+ - `KOOKMIN_BANK` (국민은행)
967
+ - `NH_NONGHYUP_BANK` (NH농협은행)
968
+ - `WOORI_BANK` (우리은행)
969
+ - `SC_BANK_KOREA` (SC제일은행)
970
+ - `DAEGU_BANK` (대구은행)
971
+ - `BUSAN_BANK` (부산은행)
972
+ - `GWANGJU_BANK` (광주은행)
973
+ - `EPOST` (우체국)
974
+ - `HANA_BANK` (하나은행)
975
+ - `SHINHAN_BANK` (신한은행)
976
+ - `K_BANK` (케이뱅크)
977
+
978
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
979
+
980
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
981
+
982
+ - `INDUSTRIAL_BANK_OF_KOREA` (기업은행)
983
+ - `KOOKMIN_BANK` (국민은행)
984
+ - `NH_NONGHYUP_BANK` (NH농협은행)
985
+ - `WOORI_BANK` (우리은행)
986
+ - `SC_BANK_KOREA` (SC제일은행)
987
+ - `DAEGU_BANK` (대구은행)
988
+ - `BUSAN_BANK` (부산은행)
989
+ - `GWANGJU_BANK` (광주은행)
990
+ - `EPOST` (우체국)
991
+ - `HANA_BANK` (하나은행)
992
+ - `SHINHAN_BANK` (신한은행)
993
+ - `K_BANK` (케이뱅크)
994
+ - `SUHYUP_BANK` (수협은행)
995
+ - `JEONBUK_BANK` (전북은행)
996
+ - `KYONGNAM_BANK` (경남은행)
997
+
998
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
999
+
1000
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
1001
+
1002
+ - `INDUSTRIAL_BANK_OF_KOREA` (기업은행)
1003
+ - `KOOKMIN_BANK` (국민은행)
1004
+ - `NH_NONGHYUP_BANK` (NH농협은행)
1005
+ - `WOORI_BANK` (우리은행)
1006
+ - `SC_BANK_KOREA` (SC제일은행)
1007
+ - `CITI_BANK_KOREA` (한국씨티은행)
1008
+ - `DAEGU_BANK` (대구은행)
1009
+ - `BUSAN_BANK` (부산은행)
1010
+ - `GWANGJU_BANK` (광주은행)
1011
+ - `EPOST` (우체국)
1012
+ - `HANA_BANK` (하나은행)
1013
+ - `SHINHAN_BANK` (신한은행)
1014
+ - `KYONGNAM_BANK` (경남은행)
1015
+
1016
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
1017
+
1018
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' START -->
1019
+
1020
+ - `INDUSTRIAL_BANK_OF_KOREA` (기업은행)
1021
+ - `KOOKMIN_BANK` (국민은행)
1022
+ - `NH_NONGHYUP_BANK` (NH농협은행)
1023
+ - `WOORI_BANK` (우리은행)
1024
+ - `SC_BANK_KOREA` (SC제일은행)
1025
+ - `DAEGU_BANK` (대구은행)
1026
+ - `BUSAN_BANK` (부산은행)
1027
+ - `GWANGJU_BANK` (광주은행)
1028
+ - `EPOST` (우체국)
1029
+ - `HANA_BANK` (하나은행)
1030
+ - `SHINHAN_BANK` (신한은행)
1031
+ - `JEONBUK_BANK` (전북은행)
1032
+ - `KYONGNAM_BANK` (경남은행)
1033
+
1034
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' END -->
1035
+
1036
+ </details>
1037
+
1038
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kcp', 'kpn'].includes(name) END -->
1039
+
1040
+ - accountExpiry?: object
1041
+
1042
+ **가상계좌 입금 만료기한**
1043
+
1044
+ `validHours`와 `dueDate` 중 하나만 입력해주세요.
1045
+
1046
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
1047
+
1048
+ <div class="hint" data-style="warning">
1049
+
1050
+ 나이스페이먼츠의 경우 입금 만료기한을 필수로 입력해야 합니다.
1051
+
1052
+ </div>
1053
+
1054
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
1055
+
1056
+ - validHours?: number
1057
+
1058
+ **가상계좌 입금 유효 시간**
1059
+
1060
+ 가상계좌 입금 유효기간을 시간 단위로 입력해주세요.
1061
+
1062
+ - `3`을 전달하면 지금으로부터 3시간 후에 만료됩니다.
1063
+
1064
+ - dueDate?: string
1065
+
1066
+ **가상계좌 입금 만료 시각**
1067
+
1068
+ - 아래 형식 중 하나로 입력해주세요.
1069
+ - `YYYYMMDD`
1070
+ - `YYYYMMDDHHmmss`
1071
+ - `YYYY-MM-DD`
1072
+ - `YYYY-MM-DD HH:mm:ss`
1073
+
1074
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "virtualAccount" END -->
1075
+
1076
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "transfer" START -->
1077
+
1078
+ - transfer?: object
1079
+
1080
+ **계좌이체 추가 정보**
1081
+
1082
+ `payMethod`가 `TRANSFER`인 경우 계좌이체와 관련한 추가 정보를 입력할 수 있습니다.
1083
+
1084
+ - cashReceiptType?: string
1085
+
1086
+ **결제창에서 발급 가능한 현금영수증 발급 유형**
1087
+
1088
+ - `PERSONAL` (소득공제용)
1089
+ - `CORPORATE` (지출증빙용)
1090
+ - `ANONYMOUS` (미발행(국세청번호 자동발급))
1091
+
1092
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['inicis', 'kcp'].includes(name) START -->
1093
+
1094
+ - customerIdentifier?: string
1095
+
1096
+ **현금영수증 발행 대상 식별 정보**
1097
+
1098
+ 휴대폰 번호 또는 사업자번호를 입력합니다.
1099
+
1100
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' START -->
1101
+
1102
+ KSNET의 경우 휴대폰 번호 및 사업자번호는 숫자만 입력해야 합니다.
1103
+ 하이픈(`-`)을 포함한 다른 문자가 포함되는 경우 별다른 에러 표시 없이 결제는 정상승인되지만 현금영수증이 발급되지 않습니다.
1104
+
1105
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' END -->
1106
+
1107
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['inicis', 'kcp'].includes(name) END -->
1108
+
1109
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
1110
+
1111
+ - bankCode?: string
1112
+
1113
+ **단독 노출 은행**
1114
+
1115
+ 구매자가 은행을 선택하지 않고 입력한 은행이 자동 선택되도록 합니다.
1116
+
1117
+ <details>
1118
+
1119
+ <summary>지원 은행 코드</summary>
1120
+
1121
+ - `BANK_INDUSTRIAL_BANK_OF_KOREA` (기업은행)
1122
+ - `BANK_KOOKMIN_BANK` (국민은행)
1123
+ - `BANK_SUHYUP_BANK` (수협은행)
1124
+ - `BANK_NH_NONGHYUP_BANK` (농협은행)
1125
+ - `BANK_WOORI_BANK` (우리은행)
1126
+ - `BANK_SC_BANK_KOREA` (SC 제일은행)
1127
+ - `BANK_CITI_BANK_KOREA` (씨티은행)
1128
+ - `BANK_DAEGU_BANK` (대구은행)
1129
+ - `BANK_BUSAN_BANK` (부산은행)
1130
+ - `BANK_GWANGJU_BANK` (광주은행)
1131
+ - `BANK_JEONBUK_BANK` (전북은행)
1132
+ - `BANK_KYONGNAM_BANK` (경남은행)
1133
+ - `BANK_HANA_BANK` (하나은행)
1134
+ - `BANK_SHINHAN_BANK` (신한은행)
1135
+ - `BANK_EPOST` (우체국)
1136
+ - `BANK_K_BANK` (케이뱅크)
1137
+
1138
+ </details>
1139
+
1140
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
1141
+
1142
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "transfer" END -->
1143
+
1144
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "mobile" START -->
1145
+
1146
+ - mobile?: object
1147
+
1148
+ **휴대폰 소액결제 추가 정보**
1149
+
1150
+ `payMethod`가 `MOBILE`인 경우 휴대폰 소액결제와 관련한 추가 정보를 입력할 수 있습니다.
1151
+
1152
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis'].includes(name) START -->
1153
+
1154
+ - carrier?: string
1155
+
1156
+ **단독 호출 통신사**
1157
+
1158
+ 구매자가 통신사를 선택하지 않고 입력한 통신사가 자동 선택되도록 합니다.
1159
+
1160
+ - `SKT` (SKT)
1161
+ - `KT` (KT)
1162
+ - `LGU` (LGU)
1163
+ - `HELLO` (LG 헬로모바일)
1164
+ - `KCT` (티플러스)
1165
+ - `SK7` (SK 세븐모바일)
1166
+
1167
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis'].includes(name) END -->
1168
+
1169
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'kcp'].includes(name) START -->
1170
+
1171
+ - availableCarriers?: string\[]
1172
+
1173
+ **통신사 일부 노출**
1174
+
1175
+ 지정한 일부 통신사만을 목록에 노출할 수 있습니다. 상단의 통신사 식별 값 항목을 참고해주세요.
1176
+
1177
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
1178
+
1179
+ <div class="hint" data-style="warning">
1180
+
1181
+ KG이니시스의 경우 모바일 환경에서만 `availableCarriers` 옵션을 사용 가능합니다.
1182
+
1183
+ </div>
1184
+
1185
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
1186
+
1187
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'kcp'].includes(name) END -->
1188
+
1189
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "mobile" END -->
1190
+
1191
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "giftCertificate" START -->
1192
+
1193
+ - giftCertificate?: object
1194
+
1195
+ **상품권 추가 정보**
1196
+
1197
+ `payMethod`가 `GIFT_CERTIFICATE`인 경우 상품권과 관련한 추가 정보를 입력할 수 있습니다.
1198
+
1199
+ - giftCertificateType?: string
1200
+
1201
+ **상품권 유형**
1202
+
1203
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "toss" START -->
1204
+
1205
+ <div class="hint" data-style="warning">
1206
+
1207
+ 토스페이먼츠의 경우 상품권 유형을 필수로 지정해야 합니다.
1208
+
1209
+ </div>
1210
+
1211
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "toss" END -->
1212
+
1213
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "nice" START -->
1214
+
1215
+ <div class="hint" data-style="warning">
1216
+
1217
+ 나이스페이먼츠의 경우 상품권 유형을 필수로 지정해야 합니다.s
1218
+
1219
+ </div>
1220
+
1221
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "nice" END -->
1222
+
1223
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
1224
+
1225
+ <div class="hint" data-style="warning">
1226
+
1227
+ KG이니시스 모바일 환경의 경우 상품권 유형을 필수로 지정해야 합니다.
1228
+
1229
+ </div>
1230
+
1231
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
1232
+
1233
+ <details>
1234
+
1235
+ <summary>지원 상품권 유형 코드</summary>
1236
+
1237
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['toss', 'inicis'].includes(name) START -->
1238
+
1239
+ - `BOOKNLIFE` (도서문화상품권)
1240
+ - `SMART_MUNSANG` (스마트문상, (구)게임문화상품권)
1241
+ - `CULTURELAND` (문화상품권)
1242
+
1243
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['toss', 'inicis'].includes(name) END -->
1244
+
1245
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "nice" START -->
1246
+
1247
+ - `CULTURELAND` (문화상품권)
1248
+
1249
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "nice" END -->
1250
+
1251
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
1252
+
1253
+ - `CULTURELAND` (문화상품권)
1254
+ - `BOOKNLIFE` (도서문화상품권)
1255
+
1256
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
1257
+
1258
+ </details>
1259
+
1260
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "giftCertificate" END -->
1261
+
1262
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "easyPay" START -->
1263
+
1264
+ - easyPay?: object
1265
+
1266
+ **간편결제 추가 정보**
1267
+
1268
+ `payMethod`가 `EASY_PAY`인 경우 간편결제와 관련한 추가 정보를 입력할 수 있습니다.
1269
+
1270
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kakao', 'naver', 'tosspay', 'hyphen'].includes(name) START -->
1271
+
1272
+ - easyPayProvider?: string
1273
+
1274
+ **간편결제 수단**
1275
+
1276
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
1277
+
1278
+ <div class="hint" data-style="warning">
1279
+
1280
+ 한국결제네트웍스의 경우 간편결제 수단을 직접 지정하려면 별도 계약이 필요합니다.
1281
+
1282
+ </div>
1283
+
1284
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
1285
+
1286
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
1287
+
1288
+ <div class="hint" data-style="warning">
1289
+
1290
+ KG이니시스의 경우 간편결제 수단 설정 시 별도 계약이 필요합니다.
1291
+
1292
+ </div>
1293
+
1294
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
1295
+
1296
+ <details>
1297
+
1298
+ <summary>지원 간편결제 코드</summary>
1299
+
1300
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
1301
+
1302
+ - `PAYCO` (페이코)
1303
+ - `SAMSUNGPAY` (삼성페이)
1304
+ - `APPLEPAY` (애플페이)
1305
+ - `SSGPAY` (SSG페이)
1306
+ - `KAKAOPAY` (카카오페이)
1307
+ - `NAVERPAY` (네이버페이)
1308
+ - `LPAY` (L페이)
1309
+ - `TOSSPAY` (토스페이)
1310
+
1311
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
1312
+
1313
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
1314
+
1315
+ - `PAYCO` (페이코)
1316
+ - `SKPAY` (11페이)
1317
+ - `SAMSUNGPAY` (삼성페이)
1318
+ - `SSGPAY` (SSG페이)
1319
+ - `APPLEPAY` (애플페이)
1320
+ - `KAKAOPAY` (카카오페이)
1321
+ - `NAVERPAY` (네이버페이)
1322
+ - `LPAY` (L페이)
1323
+ - `TOSSPAY` (토스페이)
1324
+
1325
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
1326
+
1327
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
1328
+
1329
+ - `PAYCO` (페이코)
1330
+ - `KAKAOPAY` (카카오페이)
1331
+ - `NAVERPAY` (네이버페이)
1332
+ - `SKPAY` (11페이)
1333
+ - `LPAY` (L페이)
1334
+ - `PINPAY` (핀페이)
1335
+ - `SAMSUNGPAY` (삼성페이)
1336
+ - `TOSSPAY` (토스페이)
1337
+ - `LINEPAY` (라인페이)
1338
+ - `TMONEYPAY` (티머니)
1339
+
1340
+ <div class="hint" data-style="warning">
1341
+
1342
+ 스마트로의 경우 네이버페이는 카드결제만 가능합니다.
1343
+ 네이버페이 포인트 및 머니 결제는 결제수단을 `CARD`로 설정해 주세요.
1344
+
1345
+ </div>
1346
+
1347
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
1348
+
1349
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
1350
+
1351
+ - `KAKAOPAY` (카카오페이)
1352
+ - `SAMSUNGPAY` (삼성페이)
1353
+ - `TOSSPAY` (토스페이)
1354
+ - `PAYCO` (페이코)
1355
+
1356
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
1357
+
1358
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
1359
+
1360
+ - `KAKAOPAY` (카카오페이)
1361
+ - `NAVERPAY` (네이버페이)
1362
+ - `SAMSUNGPAY` (삼성페이)
1363
+ - `SSGPAY` (SSG페이)
1364
+ - `APPLEPAY` (애플페이)
1365
+ - `LPAY` (L페이)
1366
+ - `TOSSPAY` (토스페이)
1367
+ - `PAYCO` (페이코)
1368
+
1369
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
1370
+
1371
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
1372
+
1373
+ - `NAVERPAY` (네이버페이)
1374
+ - `PAYCO` (페이코)
1375
+ - `KAKAOPAY` (카카오페이)
1376
+ - `SAMSUNGPAY` (삼성페이)
1377
+ - `APPLEPAY` (애플페이)
1378
+ - `LPAY` (L페이)
1379
+ - `SSGPAY` (SSG페이)
1380
+ - `TOSSPAY` (토스페이)
1381
+
1382
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
1383
+
1384
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' START -->
1385
+
1386
+ - `KAKAOPAY` (카카오페이)
1387
+ - `LPAY` (L페이)
1388
+ - `NAVERPAY` (네이버페이)
1389
+ - `PAYCO` (페이코)
1390
+
1391
+ <div class="hint" data-style="warning">
1392
+
1393
+ KSNET의 경우 카카오페이를 사용하기 위해서는 앱 또는 웹 하단에 대표자명, 주소, 전화번호와 같은 상점 정보를 필수로 입력해야 합니다.
1394
+
1395
+ </div>
1396
+
1397
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' END -->
1398
+
1399
+ </details>
1400
+
1401
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kakao', 'naver', 'tosspay', 'hyphen'].includes(name) END -->
1402
+
1403
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis', 'ksnet'].includes(name) START -->
1404
+
1405
+ - useFreeInterestFromMall?: boolean
1406
+
1407
+ **상점분담 무이자 활성화 여부**
1408
+
1409
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
1410
+
1411
+ <div class="hint" data-style="warning">
1412
+
1413
+ 나이스페이먼츠의 경우 카카오페이, 네이버페이, 애플페이, LPAY 사용 시 상점분담 무이자를 사용하실 수 없습니다.
1414
+
1415
+ </div>
1416
+
1417
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
1418
+
1419
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis', 'ksnet'].includes(name) END -->
1420
+
1421
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis'].includes(name) START -->
1422
+
1423
+ - useCardPoint?: boolean
1424
+
1425
+ **카드사 포인트 사용 여부**
1426
+
1427
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis'].includes(name) END -->
1428
+
1429
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis', 'naver', 'tosspay', 'hyphen'].includes(name) START -->
1430
+
1431
+ - availableCards?: string\[]
1432
+
1433
+ **카드사 일부 노출**
1434
+
1435
+ 지정한 일부 카드사만을 목록에 노출할 수 있습니다.
1436
+
1437
+ <details>
1438
+
1439
+ <summary>지원 카드사 코드 목록</summary>
1440
+
1441
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
1442
+
1443
+ - `KOREA_DEVELOPMENT_BANK` (KDB산업은행 카드)
1444
+ - `KFCC` (새마을금고 카드)
1445
+ - `SHINHYUP` (신협 카드)
1446
+ - `EPOST`(우체국 카드)
1447
+ - `SAVINGS_BANK_KOREA` (저축은행 카드)
1448
+ - `KAKAO_BANK` (카카오뱅크 카드)
1449
+ - `WOORI_CARD` (우리카드)
1450
+ - `BC_CARD` (BC카드)
1451
+ - `GWANGJU_CARD` (광주카드)
1452
+ - `SAMSUNG_CARD` (삼성카드)
1453
+ - `SHINHAN_CARD` (신한카드)
1454
+ - `HYUNDAI_CARD` (현대카드)
1455
+ - `LOTTE_CARD` (롯데카드)
1456
+ - `SUHYUP_CARD` (수협카드)
1457
+ - `CITI_CARD` (씨티카드)
1458
+ - `NH_CARD` (NH농협카드)
1459
+ - `JEONBUK_CARD` (전북카드)
1460
+ - `JEJU_CARD` (제주카드)
1461
+ - `HANA_CARD` (하나카드)
1462
+ - `KOOKMIN_CARD` (국민카드)
1463
+ - `K_BANK` (케이뱅크 카드)
1464
+ - `TOSS_BANK` (토스뱅크 카드)
1465
+
1466
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
1467
+
1468
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['nice', 'smartro', 'kpn', 'inicis', 'ksnet'].includes(name) START -->
1469
+
1470
+ - `KOREA_DEVELOPMENT_BANK` (KDB산업은행 카드)
1471
+ - `KFCC` (새마을금고 카드)
1472
+ - `SHINHYUP` (신협 카드)
1473
+ - `EPOST` (우체국 카드)
1474
+ - `SAVINGS_BANK_KOREA` (저축은행 카드)
1475
+ - `KAKAO_BANK` (카카오뱅크 카드)
1476
+ - `WOORI_CARD` (우리카드)
1477
+ - `BC_CARD` (BC카드)
1478
+ - `GWANGJU_CARD` (광주카드)
1479
+ - `SAMSUNG_CARD` (삼성카드)
1480
+ - `SHINHAN_CARD` (신한카드)
1481
+ - `HYUNDAI_CARD` (현대카드)
1482
+ - `LOTTE_CARD` (롯데카드)
1483
+ - `SUHYUP_CARD` (수협카드)
1484
+ - `CITI_CARD` (씨티카드)
1485
+ - `NH_CARD` (NH농협카드)
1486
+ - `JEONBUK_CARD` (전북카드)
1487
+ - `JEJU_CARD` (제주카드)
1488
+ - `HANA_CARD` (하나카드)
1489
+ - `KOOKMIN_CARD` (국민카드)
1490
+ - `K_BANK` (케이뱅크 카드)
1491
+ - `TOSS_BANK` (토스뱅크 카드)
1492
+
1493
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['nice', 'smartro', 'kpn', 'inicis', 'ksnet'].includes(name) END -->
1494
+
1495
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
1496
+
1497
+ - `KOREA_DEVELOPMENT_BANK` (KDB산업은행 카드)
1498
+ - `KFCC` (새마을금고 카드)
1499
+ - `SHINHYUP` (신협 카드)
1500
+ - `EPOST` (우체국 카드)
1501
+ - `SAVINGS_BANK_KOREA` (저축은행 카드)
1502
+ - `KAKAO_BANK` (카카오뱅크 카드)
1503
+ - `WOORI_CARD` (우리카드)
1504
+ - `BC_CARD` (BC카드)
1505
+ - `GWANGJU_CARD` (광주카드)
1506
+ - `SAMSUNG_CARD` (삼성카드)
1507
+ - `SHINHAN_CARD` (신한카드)
1508
+ - `HYUNDAI_CARD` (현대카드)
1509
+ - `LOTTE_CARD` (롯데카드)
1510
+ - `SUHYUP_CARD` (수협카드)
1511
+ - `CITI_CARD` (씨티카드)
1512
+ - `NH_CARD` (NH농협카드)
1513
+ - `JEJU_CARD` (제주카드)
1514
+ - `HANA_CARD` (하나카드)
1515
+ - `KOOKMIN_CARD` (국민카드)
1516
+ - `K_BANK` (케이뱅크 카드)
1517
+ - `TOSS_BANK` (토스뱅크 카드)
1518
+
1519
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
1520
+
1521
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kakao' START -->
1522
+
1523
+ - `SHINHAN_CARD` (신한카드)
1524
+ - `KOOKMIN_CARD` (국민카드)
1525
+ - `HYUNDAI_CARD` (현대카드)
1526
+ - `LOTTE_CARD` (롯데카드)
1527
+ - `SAMSUNG_CARD` (삼성카드)
1528
+ - `NH_CARD` (NH농협카드)
1529
+ - `BC_CARD` (BC카드)
1530
+ - `HANA_CARD` (하나카드)
1531
+ - `CITI_CARD` (씨티카드)
1532
+ - `KAKAO_BANK` (카카오뱅크 카드)
1533
+
1534
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kakao' END -->
1535
+
1536
+ </details>
1537
+
1538
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis', 'naver', 'tosspay', 'hyphen'].includes(name) END -->
1539
+
1540
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'naverpay'].includes(name) START -->
1541
+
1542
+ - installment?: object
1543
+
1544
+ **할부 설정**
1545
+
1546
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
1547
+
1548
+ <div class="hint" data-style="warning">
1549
+
1550
+ 나이스페이먼츠의 경우 할부 사용 시 별도 계약이 필요합니다.
1551
+
1552
+ </div>
1553
+
1554
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
1555
+
1556
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['ksnet', 'kakao'].includes(name) START -->
1557
+
1558
+ - freeInstallmentPlans?: object\[]
1559
+
1560
+ **무이자 할부 설정**
1561
+
1562
+ 고객사가 부담하는 무이자 할부 설정입니다.
1563
+
1564
+ - cardCompany: string
1565
+
1566
+ **무이자 할부를 제공하는 카드사 식별 값**
1567
+
1568
+ 상단의 카드사 식별 값 항목을 참고해주세요.
1569
+
1570
+ - months: number\[]
1571
+
1572
+ **무이자 할부를 제공하는 개월 수**
1573
+
1574
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['ksnet', 'kakao'].includes(name) END -->
1575
+
1576
+ - monthOption?: object
1577
+
1578
+ **할부 개월 수 설정**
1579
+
1580
+ 할부 결제 시 할부 개월 수를 설정할 수 있습니다.
1581
+
1582
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kakao' START -->
1583
+
1584
+ `fixedMonth`와 `availableMonthList` 중 하나만 제공해주세요.
1585
+
1586
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kakao' END -->
1587
+
1588
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' START -->
1589
+
1590
+ <div class="hint" data-style="warning">
1591
+
1592
+ KSNET의 경우 할부 개월 수 설정은 네이버페이, 카카오페이, L페이만 가능합니다.
1593
+
1594
+ </div>
1595
+
1596
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' END -->
1597
+
1598
+ - fixedMonth: number
1599
+
1600
+ **구매자가 선택할 수 없도록 고정된 할부 개월 수**
1601
+
1602
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kakao' START -->
1603
+
1604
+ 구매자가 할부 개월 수를 선택할 수 있도록 하려면 `availableMonthList`를 사용해주세요.
1605
+
1606
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kakao' END -->
1607
+
1608
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kakao' START -->
1609
+
1610
+ <div class="hint" data-style="warning">
1611
+
1612
+ 카카오페이의 경우, 결제 금액이 5만원 미만이어도 해당 파라미터가 채워져 있으면 체크카드로 결제가 불가능합니다.
1613
+
1614
+ </div>
1615
+
1616
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kakao' END -->
1617
+
1618
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kakao' START -->
1619
+
1620
+ - availableMonthList: number\[]
1621
+
1622
+ **구매자가 선택할 수 있는 할부 개월 수 목록**
1623
+
1624
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
1625
+
1626
+ <div class="hint" data-style="warning">
1627
+
1628
+ 토스페이먼츠의 경우 자체 정책에 따라 **일시불부터 전달한 값 중 최댓값까지 모두 표시**됩니다.
1629
+
1630
+ </div>
1631
+
1632
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
1633
+
1634
+ <!-- CONDITIONAL CONTENT pgName=(name) => name !== 'kakao' END -->
1635
+
1636
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'naverpay'].includes(name) END -->
1637
+
1638
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'tosspay'].includes(name) START -->
1639
+
1640
+ - cashReceiptType?: string
1641
+
1642
+ **결제창에서 발급 가능한 현금영수증 발급 유형**
1643
+
1644
+ - `PERSONAL` (소득공제용)
1645
+ - `CORPORATE` (지출증빙용)
1646
+ - `ANONYMOUS` (미발행(국세청번호 자동발급))
1647
+
1648
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'tosspay'].includes(name) END -->
1649
+
1650
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis', 'tosspay'].includes(name) START -->
1651
+
1652
+ - customerIdentifier?: string
1653
+
1654
+ **현금영수증 발행 대상 식별 정보**
1655
+
1656
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis', 'tosspay'].includes(name) END -->
1657
+
1658
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis'].includes(name) START -->
1659
+
1660
+ - availablePayMethods?: string\[]
1661
+
1662
+ **노출할 간편결제 방식**
1663
+
1664
+ - `CARD` (카드 결제)
1665
+ - `CHARGE` (포인트 충전 및 적립 결제)
1666
+ - `MONEY` (토스페이 머니 결제)
1667
+ - `TRANSFER` (계좌 결제)
1668
+
1669
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "nice" START -->
1670
+
1671
+ <div class="hint" data-style="warning">
1672
+
1673
+ 나이스페이먼츠의 경우 일부 간편결제 수단에 대해 `availablePayMethods`가 필수입니다.
1674
+
1675
+ - 네이버페이: 카드 결제인 경우 `CARD`, 포인트 혹은 머니 결제인 경우 `CHARGE`를 입력합니다.
1676
+ - SSG페이: 계좌 결제를 노출하는 `TRANSFER`만 유효하며, 카드 혹은 머니 결제인 경우 `availablePayMethods`를 생략해야 합니다.
1677
+
1678
+ </div>
1679
+
1680
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "nice" END -->
1681
+
1682
+ <!-- CONDITIONAL CONTENT pgName=(name) => !['kpn', 'inicis'].includes(name) END -->
1683
+
1684
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "easyPay" END -->
1685
+
1686
+ - taxFreeAmount?: number
1687
+
1688
+ **면세 금액**
1689
+
1690
+ 결제 금액 중 면세금액에 해당하는 금액을 입력합니다.
1691
+
1692
+ - 미입력 시 0으로 취급됩니다.
1693
+ - 결제 금액과 동일하게 통화별 scale factor가 적용된 금액으로 전달해주세요.
1694
+
1695
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
1696
+
1697
+ <div class="hint" data-style="warning">
1698
+
1699
+ 토스페이먼츠의 경우 면세 및 복합과세 이용 시 별도 계약이 필요합니다.
1700
+
1701
+ </div>
1702
+
1703
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
1704
+
1705
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
1706
+
1707
+ <div class="hint" data-style="warning">
1708
+
1709
+ 나이스페이먼츠와 계약 시 지정된 면세금액을 반드시 입력해야 합니다.
1710
+
1711
+ </div>
1712
+
1713
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
1714
+
1715
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
1716
+
1717
+ <div class="hint" data-style="warning">
1718
+
1719
+ KCP의 경우 면세 금액을 직접 지정하기 위해서는 별도 계약이 필요합니다.
1720
+ 계약을 진행하지 않고 값을 지정하는 경우 요청한 내용과 다른 금액으로 결제가 발생할 수 있습니다.
1721
+
1722
+ </div>
1723
+
1724
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
1725
+
1726
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
1727
+
1728
+ <div class="hint" data-style="warning">
1729
+
1730
+ 한국결제네트웍스의 경우 면세 금액을 직접 지정하기 위해서는 별도 계약이 필요합니다.
1731
+ 계약을 진행하지 않고 값을 지정하는 경우 요청한 내용과 다른 금액으로 결제가 발생할 수 있습니다.
1732
+ 면세 금액이 지정된 경우, MID에 지정된 면세 및 과세 여부보다 지정된 금액을 우선합니다.
1733
+
1734
+ </div>
1735
+
1736
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
1737
+
1738
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
1739
+
1740
+ <div class="hint" data-style="warning">
1741
+
1742
+ KG이니시스의 경우 면세 금액을 직접 지정하기 위해서는 별도 계약이 필요합니다.
1743
+
1744
+ </div>
1745
+
1746
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
1747
+
1748
+ - vatAmount?: number
1749
+
1750
+ **부가세**
1751
+
1752
+ 부가세 금액을 입력합니다.
1753
+
1754
+ - 미입력 시 과세 금액의 1/11 로 자동 계산됩니다.
1755
+ - 결제 금액과 동일하게 통화별 scale factor가 적용된 금액으로 전달해주세요.
1756
+
1757
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' START -->
1758
+
1759
+ <div class="hint" data-style="warning">
1760
+
1761
+ KCP의 경우 부가세 금액을 직접 지정하기 위해서는 별도 계약이 필요합니다.
1762
+ 계약을 진행하지 않고 값을 지정하는 경우 요청한 내용과 다른 금액으로 결제가 발생할 수 있습니다.
1763
+
1764
+ </div>
1765
+
1766
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kcp' END -->
1767
+
1768
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
1769
+
1770
+ <div class="hint" data-style="warning">
1771
+
1772
+ KG이니시스의 경우 부가세 금액을 직접 지정하기 위해서는 별도 계약이 필요합니다.
1773
+
1774
+ </div>
1775
+
1776
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
1777
+
1778
+ - customer?: object
1779
+
1780
+ **구매자 정보**
1781
+
1782
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' START -->
1783
+
1784
+ <div class="hint" data-style="warning">
1785
+
1786
+ KSNET 결제 시 구매자 이름을 필수로 입력해야 합니다.
1787
+
1788
+ </div>
1789
+
1790
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'ksnet' END -->
1791
+
1792
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
1793
+
1794
+ <div class="hint" data-style="warning">
1795
+
1796
+ KG이니시스 결제 시 PC 환경에서는 구매자 이름, 연락처, 이메일을 필수로 입력해야 합니다.
1797
+
1798
+ </div>
1799
+
1800
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
1801
+
1802
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
1803
+
1804
+ <div class="hint" data-style="warning">
1805
+
1806
+ 스마트로 결제 시 구매자 연락처를 필수로 입력해야 합니다.
1807
+
1808
+ </div>
1809
+
1810
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
1811
+
1812
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'naver' START -->
1813
+
1814
+ <div class="hint" data-style="warning">
1815
+
1816
+ 네이버페이 계약 당시 고위험 업종으로 별도 안내를 받은 경우 고객의 이름, 출생년도, 출생월, 출생일을 필수로 입력해야 합니다.
1817
+
1818
+ </div>
1819
+
1820
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'naver' END -->
1821
+
1822
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'hyphen' START -->
1823
+
1824
+ <div class="hint" data-style="warning">
1825
+
1826
+ 하이픈의 경우 구매자 이름을 필수로 입력해야 합니다.
1827
+
1828
+ </div>
1829
+
1830
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'hyphen' END -->
1831
+
1832
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' START -->
1833
+
1834
+ <div class="hint" data-style="warning">
1835
+
1836
+ 엑심베이의 경우 구매자 이름과 이메일을 필수로 입력해야 합니다.
1837
+ 일본 편의점 결제 사용 시 구매자 연락처를 필수로 입력해야 합니다.
1838
+
1839
+ </div>
1840
+
1841
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' END -->
1842
+
1843
+ - customerId?: string
1844
+
1845
+ **구매자 고유 아이디**
1846
+
1847
+ 구매자를 식별하는 고유 번호로, 자유롭게 입력합니다.
1848
+
1849
+ - fullName?: string
1850
+
1851
+ **구매자 전체 이름**
1852
+
1853
+ - `fullName`과 (`firstName`, `lastName`) 쌍 중 하나만 입력해 주세요.
1854
+
1855
+ - firstName?: string
1856
+
1857
+ **구매자의 성을 제외한 이름**
1858
+
1859
+ - `firstName`과 `lastName`은 함께 입력해야 합니다. 전체 이름은 `{firstName} {lastName}`으로 기록됩니다.
1860
+
1861
+ - lastName?: string
1862
+
1863
+ **구매자의 성**
1864
+
1865
+ - `firstName`과 `lastName`은 함께 입력해야 합니다. 전체 이름은 `{firstName} {lastName}`으로 기록됩니다.
1866
+
1867
+ - phoneNumber?: string
1868
+
1869
+ **구매자 연락처**
1870
+
1871
+ - email?: string
1872
+
1873
+ **구매자 이메일 주소**
1874
+
1875
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
1876
+
1877
+ <div class="hint" data-style="warning">
1878
+
1879
+ KG이니시스의 경우 특수문자는 `@`와 `.`만 허용됩니다.
1880
+
1881
+ </div>
1882
+
1883
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
1884
+
1885
+ - address?: object
1886
+
1887
+ **구매자 주소**
1888
+
1889
+ - country?: string
1890
+
1891
+ **국가**
1892
+
1893
+ [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html)에 의해 표준화된 2글자 국가 코드입니다.
1894
+
1895
+ - addressLine1: string
1896
+
1897
+ **일반 주소**
1898
+
1899
+ - addressLine2: string
1900
+
1901
+ **상세 주소**
1902
+
1903
+ - city?: string
1904
+
1905
+ **도시**
1906
+
1907
+ - province?: string
1908
+
1909
+ **주, 도, 시**
1910
+
1911
+ - zipcode?: string
1912
+
1913
+ **구매자 우편번호**
1914
+
1915
+ - gender?: string
1916
+
1917
+ **구매자 성별**
1918
+
1919
+ - `MALE`, `FEMALE`, `OTHER` 중 하나를 입력해주세요.
1920
+
1921
+ - birthYear?: string
1922
+
1923
+ **구매자 출생년도**
1924
+
1925
+ - `1990`과 같이 숫자 4자리로 입력해 주세요.
1926
+
1927
+ - birthMonth?: string
1928
+
1929
+ **구매자 출생월**
1930
+
1931
+ - `07`과 같이 숫자 2자리로 입력해 주세요.
1932
+
1933
+ - birthDay?: string
1934
+
1935
+ **구매자 출생일**
1936
+
1937
+ - `08`과 같이 숫자 2자리로 입력해 주세요.
1938
+
1939
+ - customData?: object
1940
+
1941
+ `customData`에는 임의의 데이터를 저장할 수 있습니다.
1942
+ 서버에서 결제건 조회 시에 확인할 수 있으며, 상품 정보를 전달하여 서버가 인식한 상품 정보와 일치하는지 확인할 수 있습니다.
1943
+
1944
+ - bypass?: object
1945
+
1946
+ **결제대행사 고유 기능**
1947
+
1948
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "toss" START -->
1949
+
1950
+ - tosspayments?: object
1951
+
1952
+ - discountCode?: string
1953
+
1954
+ - 결제수단에 프로모션을 적용할 경우 토스페이먼츠로부터 제공받은 코드를 입력합니다.
1955
+
1956
+ - useInternationalCardOnly?: boolean
1957
+
1958
+ - `true`로 설정하면 해외 카드로만 결제를 허용합니다.
1959
+
1960
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "toss" END -->
1961
+
1962
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "nice" START -->
1963
+
1964
+ - nice\_v2?: object
1965
+
1966
+ - LogoImage?: string
1967
+
1968
+ **결제창 로고 이미지 URL**
1969
+
1970
+ - NPDisableScroll?: string
1971
+
1972
+ **PC환경 결제창 스크롤 미사용 여부**
1973
+
1974
+ 기본값은 `N`입니다.
1975
+
1976
+ - `Y`: 미사용
1977
+ - `N`: 사용
1978
+
1979
+ - SkinType?: string
1980
+
1981
+ **결제창 스킨 색상**
1982
+
1983
+ `red`, `green`, `purple`, `gray`, `dark` 중 하나를 입력해주세요.
1984
+
1985
+ - UserCI?: string
1986
+
1987
+ **문화상품권 결제 시 구매자 CI 정보**
1988
+
1989
+ 아이디/비밀번호 외 추가로 CI 인증이 필요한 경우 사용합니다.
1990
+
1991
+ <div class="hint" data-style="warning">
1992
+
1993
+ 나이스페이먼츠와 별도 계약이 필요합니다.
1994
+
1995
+ </div>
1996
+
1997
+ - MallUserID?: string
1998
+
1999
+ **구매자 식별 번호**
2000
+
2001
+ <div class="hint" data-style="warning">
2002
+
2003
+ 문화 상품권 결제 시 필수 입력입니다.
2004
+
2005
+ </div>
2006
+
2007
+ - DirectCouponYN?: string
2008
+
2009
+ **신용카드 쿠폰 자동 적용 여부**
2010
+
2011
+ 기본값은 `N`입니다.
2012
+
2013
+ - `Y`: 사전 등록된 선 할인 쿠폰을 자동 적용
2014
+ - `N`: 쿠폰 미적용
2015
+
2016
+ <div class="hint" data-style="warning">
2017
+
2018
+ 나이스페이먼츠와 별도 계약이 필요합니다.
2019
+
2020
+ </div>
2021
+
2022
+ - DirectShowOpt?: string
2023
+
2024
+ **단독 호출 결제 수단**
2025
+
2026
+ - `BANK`: 계좌이체
2027
+ - `CELLPHONE`: 휴대폰 소액결제
2028
+
2029
+ - CardShowOpt?: string
2030
+
2031
+ **카드사별 호출 방식**
2032
+
2033
+ `카드 코드:노출 유형` 값의 목록을 `|`로 구분하여 입력해주세요.
2034
+
2035
+ - 카드 코드
2036
+ - `02` (국민)
2037
+ - `04` (삼성)
2038
+ - `06` (신한)
2039
+ - `07` (현대)
2040
+ - `08` (롯데)
2041
+ - `12` (NH)
2042
+ - `15` (우리)
2043
+
2044
+ - 노출 유형
2045
+ - `1` (안심클릭)
2046
+ - `2` (간편결제)
2047
+ - `3` (앱카드 직접 호출)
2048
+
2049
+ - `08:3|02:3`의 경우 롯데카드와 국민카드 선택시 앱카드를 직접 호출합니다.
2050
+
2051
+ - PaycoClientId?: string
2052
+
2053
+ **페이코에서 고객사에 발급한 Client Id**
2054
+
2055
+ 페이코 계정 자동 로그인 기능을 사용하는 경우 입력합니다.
2056
+
2057
+ <div class="hint" data-style="warning">
2058
+
2059
+ 나이스페이먼츠와 별도 계약이 필요합니다.
2060
+
2061
+ </div>
2062
+
2063
+ - PaycoAccessToken?: string
2064
+
2065
+ **페이코 접속 토큰**
2066
+
2067
+ 페이코 계정 자동 로그인 기능을 사용하는 경우 입력합니다.
2068
+
2069
+ <div class="hint" data-style="warning">
2070
+
2071
+ 나이스페이먼츠와 별도 계약이 필요합니다.
2072
+
2073
+ </div>
2074
+
2075
+ - SamsungPayType?: string
2076
+
2077
+ **삼성페이 고객사 유형**
2078
+
2079
+ 기본값은 `99`입니다.
2080
+
2081
+ - `01`: 삼성페이 내 쇼핑
2082
+ - `99`: 기타
2083
+
2084
+ <div class="hint" data-style="warning">
2085
+
2086
+ 나이스페이먼츠와 별도 계약이 필요합니다.
2087
+
2088
+ </div>
2089
+
2090
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "nice" END -->
2091
+
2092
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
2093
+
2094
+ - smartro\_v2?: object
2095
+
2096
+ - GoodsCnt?: number
2097
+
2098
+ **결제 상품 품목 개수**
2099
+
2100
+ - SkinColor?: string
2101
+
2102
+ **결제창 색상**
2103
+
2104
+ `RED`, `GREEN`, `BLUE`, `PURPLE`을 선택할 수 있으며, 기본값은 `RED`입니다.
2105
+
2106
+ - OpenType?: string
2107
+
2108
+ **허용 카드 국가 설정**
2109
+
2110
+ - `KR`: 국내 카드만 허용 (기본값)
2111
+ - `EN`: 해외 카드만 허용
2112
+
2113
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
2114
+
2115
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
2116
+
2117
+ - kpn?: object
2118
+
2119
+ - CardSelect?: string\[]
2120
+
2121
+ **카드결제 특수 결제방식 노출**
2122
+
2123
+ 카드결제 시에 특정 카드사에 해당하지 않는 특수 결제방식을 노출할 수 있습니다.
2124
+
2125
+ - `GLOBAL`: 해외 카드(Visa, Mastercard, JCB)를 노출합니다.
2126
+ - `LEGACY_AUTH`: 구 인증결제 방식을 노출합니다.
2127
+ - `KEY_IN`: 키인 결제를 노출합니다.
2128
+
2129
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
2130
+
2131
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "kcp" START -->
2132
+
2133
+ - kcp\_v2?: object
2134
+
2135
+ * site\_logo?: string
2136
+
2137
+ **결제창 로고 URL**
2138
+
2139
+ - 결제창 좌측 상단에 표시됩니다.
2140
+ - 이미지 사이즈는 가로 150px, 세로 50px 미만으로 설정해야 하며, GIF, JPG 파일만 지원됩니다.
2141
+
2142
+ * skin\_indx?: number
2143
+
2144
+ **결제창 색상**
2145
+
2146
+ PC로 결제창 호출 시 결제창 색상을 변경합니다.
2147
+
2148
+ - 1: 청색 (#207bba, 기본값)
2149
+ - 2: 자주색 (#b52ecb)
2150
+ - 3: 갈색 (#9a6d3f)
2151
+ - 4: 분홍색 (#e41f7d)
2152
+ - 5: 남색 (#284c8c)
2153
+ - 6: 청록색 (#319cb9)
2154
+ - 7: 황토색 (#a77f1d)
2155
+ - 8: 주황색 (#b2b2b2)
2156
+ - 9: 초록색 (#3cc871)
2157
+ - 10: 다홍색 (#ee3b34)
2158
+ - 11: 검은색 (#000000)
2159
+ - 12: 은색 (#f4f4f4)
2160
+
2161
+ * kcp\_pay\_title?: string
2162
+
2163
+ **결제창 상단 문구**
2164
+
2165
+ 결제창의 상단에 `NHN KCP - 결제의 중심!` 대신 표시될 문구입니다.
2166
+
2167
+ * shop\_user\_id?: string
2168
+
2169
+ **기관에 따라 리스크 관리 조치를 위한 쇼핑몰 관리 ID**
2170
+
2171
+ - 상품권, 휴대폰 결제 시 필수로 입력해야 합니다.
2172
+
2173
+ * site\_name?: string
2174
+
2175
+ **카드사 단독 노출 시 결제창에 표기될 상호명**
2176
+
2177
+ - PC의 경우 신한, 현대, 삼성, 농협, 하나, 외환, 롯데, 씨티, 우리카드 단독 노출 시 필수로 입력해야 합니다.
2178
+ - 모바일의 경우 필수로 입력해야 합니다.
2179
+
2180
+ * disp\_tax\_yn?: string
2181
+
2182
+ **현금영수증 노출 여부**
2183
+
2184
+ 결제창에서 현금영수증 노출 여부를 설정합니다. 실시간 계좌이체 또는 가상계좌 결제 시 사용할 수 있습니다.
2185
+
2186
+ - `Y`: 노출
2187
+ - `N`: 노출하지 않음
2188
+ - `R`: 소득공제로 노출
2189
+ - `E`: 지출증빙으로 노출
2190
+
2191
+ * deli\_term?: string
2192
+
2193
+ **에스크로 결제 예상 배송 소요일**
2194
+
2195
+ 에스크로 결제 시, 결제 상품의 예상 배송 소요일입니다. 에스크로 결제 사용 시 입력을 권장하고 있습니다.
2196
+
2197
+ - 기본값은 `00`입니다.
2198
+ - 항상 두 자리 수로 입력되어야 합니다. 예상 배송 소요기간이 3일인 경우, `03`으로 입력합니다.
2199
+
2200
+ * complex\_pnt\_yn?: string
2201
+
2202
+ **복합 포인트 사용 여부**
2203
+
2204
+ - `Y`: 카드 및 포인트 결제
2205
+ - `N`: 포인트로만 결제
2206
+
2207
+ * pt\_memcorp\_cd?: string
2208
+
2209
+ **베네피아 회원소속사코드**
2210
+
2211
+ 베네피아 복지포인트를 사용하는 경우 필수로 입력합니다.
2212
+
2213
+ * disp\_tax\_yn?: string
2214
+
2215
+ **가상계좌 및 계좌이체 현금영수증 노출 여부**
2216
+
2217
+ - `Y`: 노출
2218
+ - `N`: 미노출
2219
+ - `R`: 소득공제용 노출
2220
+ - `E`: 지출증빙용 노출
2221
+
2222
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "kcp" END -->
2223
+
2224
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "ksnet" START -->
2225
+
2226
+ - ksnet?: object
2227
+
2228
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "easyPay" START -->
2229
+
2230
+ - easyPayDirect?: boolean
2231
+
2232
+ **간편결제 직접 호출 여부**
2233
+
2234
+ - `true`로 설정하면 KSNET 결제창을 표시하지 않고 간편결제 화면을 바로 표시합니다.
2235
+ - 간편결제 직접 호출 시 `productType` 파라미터는 필수입니다.
2236
+ - 카카오페이 직접 호출 시 `storeDetails.ceoFullName`, `storeDetails.address`, `storeDetails.phoneNumber` 값이 필수입니다.
2237
+
2238
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "easyPay" END -->
2239
+
2240
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "card" START -->
2241
+
2242
+ - sndQpayType?: string
2243
+
2244
+ **간편결제 표시 구분**
2245
+
2246
+ `'1'`일 경우 간편결제 수단을 표시합니다.
2247
+
2248
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "card" END -->
2249
+
2250
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "ksnet" END -->
2251
+
2252
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "kakao" START -->
2253
+
2254
+ - kakao?: object
2255
+
2256
+ - custom\_message?: string
2257
+
2258
+ **결제 화면에 보여줄 사용자 정의 문구**
2259
+
2260
+ <div class="hint" data-style="warning">
2261
+
2262
+ `custom_message`를 사용하기 위해서는 카카오페이와 사전 협의가 필요합니다.
2263
+
2264
+ </div>
2265
+
2266
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "kakao" END -->
2267
+
2268
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "naver" START -->
2269
+
2270
+ - naver?: object
2271
+
2272
+ - useCfmYmdt?: string
2273
+
2274
+ **이용 완료일**
2275
+
2276
+ - `YYYYMMDD` 형식으로 입력해주세요.
2277
+ - 상품 유형에 따라 필수 값으로 계약된 경우에 입력합니다.
2278
+
2279
+ - productItems?: object\[]
2280
+
2281
+ **상품 정보**
2282
+
2283
+ - categoryType: string
2284
+
2285
+ **결제 상품 유형**
2286
+
2287
+ [공식 매뉴얼](https://developers.pay.naver.com/docs/v2/api#etc-etc_product)을 참조해 주세요.
2288
+
2289
+ - categoryId: string
2290
+
2291
+ **결제 상품 분류**
2292
+
2293
+ [공식 매뉴얼](https://developers.pay.naver.com/docs/v2/api#etc-etc_product)을 참조해 주세요.
2294
+
2295
+ - uid: string
2296
+
2297
+ **결제 상품 식별값**
2298
+
2299
+ 고객사 내부적으로 관리하는 상품 고유 ID를 활용하는 것이 일반적이지만, [공식 매뉴얼](https://developers.pay.naver.com/docs/v2/api#etc-etc_product) 참고가 필요합니다.
2300
+
2301
+ - name: string
2302
+
2303
+ **상품명**
2304
+
2305
+ - count: number
2306
+
2307
+ **결제 상품 개수**
2308
+
2309
+ - payReferrer?: string
2310
+
2311
+ **결제 상품 유입경로**
2312
+
2313
+ 네이버 플랫폼의 타 서비스와 제휴계약 후 유입분석을 진행하는 경우에만 입력합니다.
2314
+
2315
+ [공식 매뉴얼](https://developers.pay.naver.com/docs/v2/api#etc-etc_product_ref)
2316
+
2317
+ - startDate?: string
2318
+
2319
+ **시작일(YYYYMMDD)**
2320
+
2321
+ - endDate?: string
2322
+
2323
+ **종료일(YYYYMMDD)**
2324
+
2325
+ - sellerId?: string
2326
+
2327
+ **하위 판매자 식별키**
2328
+
2329
+ 고객사가 하위 판매자를 식별하기 위한 고유 ID (영문 대소문자 및 숫자 허용)
2330
+
2331
+ - 고객사의 업종이 통신판매중개업에 해당하여 네이버페이 계약 당시 별도의 안내를 받은 대상 고객사만 필수 입력합니다.
2332
+ - 비대상 고객사는 입력하지 않습니다.
2333
+
2334
+ - deliveryFee?: number
2335
+
2336
+ **배송비**
2337
+
2338
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "naver" END -->
2339
+
2340
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "tosspay" START -->
2341
+
2342
+ - tosspay?: object
2343
+
2344
+ - expiredTime?: string
2345
+
2346
+ **결제 만료 기한**
2347
+
2348
+ - `yyyy-MM-dd HH:mm:ss` 의 형식으로 입력해야 합니다.
2349
+ - 입력하지 않을 경우, 기본값인 15분으로 설정됩니다.
2350
+ - 최대 60분까지 설정할 수 있습니다.
2351
+
2352
+ - cashReceiptTradeOption?: string
2353
+
2354
+ **현금영수증 발급 대상 타입**
2355
+
2356
+ 전달하지 않을 경우, 기본값은 `GENERAL` 입니다.
2357
+
2358
+ - `GENERAL` : 일반
2359
+ - `CULTURE` : 문화비
2360
+ - `PUBLIC_TP` : 교통비
2361
+
2362
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "tosspay" END -->
2363
+
2364
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "hyphen" START -->
2365
+
2366
+ - hyphen?: object
2367
+
2368
+ - designCd?: string
2369
+
2370
+ **결제창 디자인 코드**
2371
+
2372
+ `#`으로 시작하는 여섯 자리 16진수 코드입니다.
2373
+
2374
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "hyphen" END -->
2375
+
2376
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "eximbay" START -->
2377
+
2378
+ - eximbay?: object
2379
+
2380
+ - payment?: object
2381
+
2382
+ **결제 정보**
2383
+
2384
+ - payment\_method?: string
2385
+
2386
+ **단독 노출 결제 수단**
2387
+
2388
+ 가능한 값의 목록은 [공식 매뉴얼](https://developer.eximbay.com/eximbay/api_sdk/code-organization.html)을 참조해 주세요.
2389
+
2390
+ - multi\_payment\_method?: string\[]
2391
+
2392
+ **노출할 결제 수단 목록**
2393
+
2394
+ 가능한 값의 목록은 [공식 매뉴얼](https://developer.eximbay.com/eximbay/api_sdk/code-organization.html)을 참조해 주세요.
2395
+
2396
+ - merchant?: object
2397
+
2398
+ **상점 정보**
2399
+
2400
+ - shop?: string
2401
+
2402
+ **상점명**
2403
+
2404
+ - partner\_code?: string
2405
+
2406
+ **파트너 코드**
2407
+
2408
+ - tax?: object
2409
+
2410
+ **현금영수증 정보**
2411
+
2412
+ <div class="hint" data-style="warning">
2413
+
2414
+ 네이버페이 결제 시 `tax` 하위 모든 파라미터를 입력해야 합니다.
2415
+
2416
+ </div>
2417
+
2418
+ - receipt\_status?: string
2419
+
2420
+ **현금영수증 발급 여부**
2421
+
2422
+ - `Y`: 발급
2423
+ - `N`: 미발급
2424
+
2425
+ <div class="hint" data-style="warning">
2426
+
2427
+ 계좌이체 사용 시 `Y`로 설정해야 합니다.
2428
+
2429
+ </div>
2430
+
2431
+ - surcharge?: object\[]
2432
+
2433
+ **부가금 정보**
2434
+
2435
+ 최대 3개까지 입력할 수 있습니다.
2436
+
2437
+ - name?: string
2438
+
2439
+ **항목명**
2440
+
2441
+ - quantity?: number
2442
+
2443
+ **수량**
2444
+
2445
+ - unit\_price?: number
2446
+
2447
+ **단가 (음수 가능)**
2448
+
2449
+ - ship\_to?: object
2450
+
2451
+ **배송지 정보**
2452
+
2453
+ - city?: string
2454
+
2455
+ **배송지 도시**
2456
+
2457
+ - country?: string
2458
+
2459
+ **배송지 국가**
2460
+
2461
+ [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html)에 의해 표준화된 2글자 국가 코드입니다.
2462
+
2463
+ - first\_name?: string
2464
+
2465
+ **수신인의 성을 제외한 이름**
2466
+
2467
+ - last\_name?: string
2468
+
2469
+ **수신인의 성**
2470
+
2471
+ - phone\_number?: string
2472
+
2473
+ **수신인 전화번호**
2474
+
2475
+ - postal\_code?: string
2476
+
2477
+ **배송지 우편번호**
2478
+
2479
+ - state?: string
2480
+
2481
+ **배송지 주 정보**
2482
+
2483
+ 배송지가 미국 혹은 캐나다인 경우에만 입력합니다.
2484
+
2485
+ - street1?: string
2486
+
2487
+ **배송지 상세 주소**
2488
+
2489
+ - bill\_to?: object
2490
+
2491
+ **청구지 정보**
2492
+
2493
+ - city?: string
2494
+
2495
+ **청구지 도시**
2496
+
2497
+ - country?: string
2498
+
2499
+ **청구지 국가**
2500
+
2501
+ [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html)에 의해 표준화된 2글자 국가 코드입니다.
2502
+
2503
+ - first\_name?: string
2504
+
2505
+ **청구 카드 명의자의 성을 제외한 이름**
2506
+
2507
+ - last\_name?: string
2508
+
2509
+ **청구 카드 명의자의 성**
2510
+
2511
+ - phone\_number?: string
2512
+
2513
+ **청구 카드 명의자의 전화번호**
2514
+
2515
+ - postal\_code?: string
2516
+
2517
+ **청구지 우편번호**
2518
+
2519
+ - state?: string
2520
+
2521
+ **청구지 주 정보**
2522
+
2523
+ 청구지가 미국 혹은 캐나다인 경우에만 입력합니다.
2524
+
2525
+ - street1?: string
2526
+
2527
+ **청구지 상세 주소**
2528
+
2529
+ - settings?: object
2530
+
2531
+ **결제창 설정**
2532
+
2533
+ - call\_from\_app?: string
2534
+
2535
+ **인앱 웹뷰 여부**
2536
+
2537
+ - `Y`: 인앱 웹뷰
2538
+ - `N`: 브라우저
2539
+
2540
+ 기본값은 `N`입니다.
2541
+
2542
+ - issuer\_country?: string
2543
+
2544
+ 해외 결제 가맹점에서 국내 결제를 사용할 경우 `KR` 값을 입력해야 합니다.
2545
+
2546
+ - virtualaccount\_expiry\_date?: string
2547
+
2548
+ **가상계좌 만료일**
2549
+
2550
+ - `yyyyMMddHH` 형식으로 입력해야 합니다.
2551
+
2552
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "eximbay" END -->
2553
+
2554
+ - redirectUrl?: string
2555
+
2556
+ **리디렉션 방식에서 결제 완료 후 이동할 URL**
2557
+
2558
+ - 대부분의 모바일 환경에서 필수로 입력해야 합니다.
2559
+
2560
+ - noticeUrls?: string\[]
2561
+
2562
+ **결제 웹훅 수신 URL**
2563
+
2564
+ 관리자 콘솔에서 설정한 웹훅 주소 대신 사용할 주소입니다.
2565
+
2566
+ - 해당 값 설정시 관리자 콘솔에 설정한 주소로는 웹훅이 발송되지 않습니다.
2567
+
2568
+ - appScheme?: string
2569
+
2570
+ **모바일 결제 후 고객사 앱으로 복귀하기 위한 URL scheme**
2571
+
2572
+ ISP/앱카드에서 결제 완료 후 고객사 앱으로 복귀할 때 사용합니다.
2573
+
2574
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "toss" START -->
2575
+
2576
+ <div class="hint" data-style="warning">
2577
+
2578
+ 토스페이먼츠의 경우 `myappscheme://` 형식으로 입력해 주세요.
2579
+
2580
+ </div>
2581
+
2582
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "toss" END -->
2583
+
2584
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "kakao" START -->
2585
+
2586
+ <div class="hint" data-style="warning">
2587
+
2588
+ 카카오페이의 경우 iOS에서만 사용 가능합니다.
2589
+
2590
+ </div>
2591
+
2592
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "kakao" END -->
2593
+
2594
+ - productType?: string
2595
+
2596
+ **상품 유형**
2597
+
2598
+ 휴대폰 소액결제 시 `productType`는 필수 입력이며, 상점에 설정된 상품 유형과 입력된 상품 유형이 다른 경우 결제가 실패합니다.
2599
+
2600
+ - 실물 상품: `PRODUCT_TYPE_REAL`
2601
+ - 디지털 상품: `PRODUCT_TYPE_DIGITAL`
2602
+
2603
+ - offerPeriod?: oneof object
2604
+
2605
+ **서비스 제공 기간**
2606
+
2607
+ `range`와 `interval` 중 하나만 입력해주세요.
2608
+
2609
+ - range?: object
2610
+
2611
+ **서비스 제공 기간 범위**
2612
+
2613
+ - from?: string
2614
+
2615
+ **시작 시점**
2616
+
2617
+ - to?: string
2618
+
2619
+ **종료 시점**
2620
+
2621
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' START -->
2622
+
2623
+ <div class="hint" data-style="warning">
2624
+
2625
+ 스마트로의 경우 `from`과 `to`를 동시에 입력해야 합니다.
2626
+
2627
+ </div>
2628
+
2629
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'smartro' END -->
2630
+
2631
+ - interval?: string
2632
+
2633
+ **제공 기간**
2634
+
2635
+ - `{number}d` (`{number}`일)
2636
+ - `{number}m` (`{number}`분)
2637
+ - `{number}y` (`{number}`년)
2638
+
2639
+ - products?: object\[]
2640
+
2641
+ **구매 상품 상세 정보**
2642
+
2643
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' START -->
2644
+
2645
+ <div class="hint" data-style="warning">
2646
+
2647
+ 엑심베이의 경우 간편결제 사용 시 필수로 입력해야 하며, 상품 정보에 상품 링크가 필수입니다.
2648
+
2649
+ </div>
2650
+
2651
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'eximbay' END -->
2652
+
2653
+ - id: string
2654
+
2655
+ **상품 아이디**
2656
+
2657
+ - name: string
2658
+
2659
+ **상품명**
2660
+
2661
+ - code?: string
2662
+
2663
+ **상품 코드**
2664
+
2665
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
2666
+
2667
+ <div class="hint" data-style="warning">
2668
+
2669
+ 토스페이먼츠의 경우 반드시 입력해주세요.
2670
+
2671
+ </div>
2672
+
2673
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
2674
+
2675
+ - amount: number
2676
+
2677
+ **상품 단위 가격**
2678
+
2679
+ - 결제 금액과 동일하게 통화별 scale factor가 적용된 금액으로 전달해주세요.
2680
+
2681
+ - quantity: number
2682
+
2683
+ **상품 수량**
2684
+
2685
+ - tag?: string
2686
+
2687
+ **상품 태그**
2688
+
2689
+ - link?: string
2690
+
2691
+ **상품 링크**
2692
+
2693
+ - storeDetails?: object
2694
+
2695
+ **상점 정보**
2696
+
2697
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "ksnet" START -->
2698
+
2699
+ <div class="hint" data-style="warning">
2700
+
2701
+ KSNET의 경우 카카오페이 직접 호출 시 `storeDetails.ceoFullName`, `storeDetails.address`, `storeDetails.phoneNumber` 값이 필수입니다.
2702
+
2703
+ </div>
2704
+
2705
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "ksnet" END -->
2706
+
2707
+ - ceoFullName?: string
2708
+
2709
+ **상점 대표자 이름**
2710
+
2711
+ - phoneNumber?: string
2712
+
2713
+ **상점 연락처**
2714
+
2715
+ - address?: string
2716
+
2717
+ **상점 주소**
2718
+
2719
+ - zipcode?: string
2720
+
2721
+ **상점 우편번호**
2722
+
2723
+ - businessName?: string
2724
+
2725
+ **상점 사업자명**
2726
+
2727
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'hyphen' START -->
2728
+
2729
+ <div class="hint" data-style="warning">
2730
+
2731
+ 하이픈의 경우 미입력 시 대표상점명으로 설정됩니다.
2732
+
2733
+ </div>
2734
+
2735
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'hyphen' END -->
2736
+
2737
+ - businessRegistrationNumber?: string
2738
+
2739
+ **상점 사업자 번호**
2740
+
2741
+ - isCulturalExpense?: boolean
2742
+
2743
+ **문화비 지출 여부**
2744
+
2745
+ 도서, 공연, 박물관 등 문화비 지출 여부
2746
+
2747
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "kakao" START -->
2748
+
2749
+ <div class="hint" data-style="warning">
2750
+
2751
+ 카카오페이의 경우 문화비는 지원하지 않으며, `isCulturalExpense` 값은 포트원 내부적으로만 저장됩니다.
2752
+
2753
+ </div>
2754
+
2755
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "kakao" END -->
2756
+
2757
+ - isEscrow?: boolean
2758
+
2759
+ **에스크로 결제 여부**
2760
+
2761
+ `true`로 설정하면 에스크로를 사용합니다.
2762
+
2763
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "toss" START -->
2764
+
2765
+ <div class="hint" data-style="warning">
2766
+
2767
+ 토스페이먼츠의 경우 에스크로 사용 시 별도 계약이 필요합니다.
2768
+
2769
+ </div>
2770
+
2771
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === "toss" END -->
2772
+
2773
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' START -->
2774
+
2775
+ <div class="hint" data-style="warning">
2776
+
2777
+ 나이스페이먼츠의 경우 에스크로 사용 시 별도 계약이 필요합니다.
2778
+
2779
+ </div>
2780
+
2781
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'nice' END -->
2782
+
2783
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' START -->
2784
+
2785
+ <div class="hint" data-style="warning">
2786
+
2787
+ 한국결제네트웍스의 경우 에스크로 사용 시 별도 계약이 필요합니다.
2788
+
2789
+ </div>
2790
+
2791
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kpn' END -->
2792
+
2793
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
2794
+
2795
+ <div class="hint" data-style="warning">
2796
+
2797
+ KG이니시스의 경우 에스크로 사용 시 별도 계약이 필요합니다.
2798
+
2799
+ </div>
2800
+
2801
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
2802
+
2803
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kakao' START -->
2804
+
2805
+ <div class="hint" data-style="warning">
2806
+
2807
+ 카카오페이의 경우 에스크로 결제를 지원하지 않으며, `isEscrow` 값은 포트원 내부적으로만 저장됩니다.
2808
+
2809
+ </div>
2810
+
2811
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'kakao' END -->
2812
+
2813
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['kcp', 'kpn', 'inicis'].includes(name) START -->
2814
+
2815
+ - locale?: string
2816
+
2817
+ **결제창 언어**
2818
+
2819
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['kcp', 'kpn'].includes(name) START -->
2820
+
2821
+ - 한국어: `KO_KR`
2822
+ - 영어: `EN_US`
2823
+
2824
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['kcp', 'kpn'].includes(name) END -->
2825
+
2826
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' START -->
2827
+
2828
+ - 한국어: `KO_KR`
2829
+ - 영어: `EN_US`
2830
+ - 중국어(간체): `ZH_CN`
2831
+
2832
+ <div class="hint" data-style="warning">
2833
+
2834
+ KG이니시스의 경우 중국어(간체)는 PC 결제 시에만 지원됩니다.
2835
+
2836
+ </div>
2837
+
2838
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'inicis' END -->
2839
+
2840
+ <!-- CONDITIONAL CONTENT pgName=(name) => ['kcp', 'kpn', 'inicis'].includes(name) END -->
2841
+
2842
+ - country?: string
2843
+
2844
+ **결제 국가**
2845
+
2846
+ [ISO 3166-1 alpha-2](https://www.iso.org/iso-3166-country-codes.html)에 의해 표준화된 2글자 국가 코드입니다.
2847
+
2848
+ - promotionId?: string
2849
+
2850
+ **프로모션 아이디**
2851
+
2852
+ - popup?: object
2853
+
2854
+ **결제창이 팝업 방식일 경우 결제창에 적용할 속성**
2855
+
2856
+ - center?: boolean
2857
+
2858
+ `true`로 설정하면 결제창이 브라우저 화면의 정중앙에 표시됩니다.
2859
+
2860
+ <!-- SECTION client:request-payment END -->
2861
+
2862
+ <!-- SECTION client:handle-payment-error START -->
2863
+
2864
+ ### 결제 오류 처리
2865
+
2866
+ 결제 중 오류가 발생하여 결제가 완료되지 않은 경우를 처리합니다.
2867
+
2868
+ `SDK`의 반환 값에 `code`가 있는 경우 오류 상태로 `message` 필드에 오류 메시지가 존재합니다.
2869
+ 결제대행사로부터 오류를 전달받은 경우 `code`는 `FAILURE_TYPE_PG`이고, 결제대행사의 오류 코드인 `pgCode`를 기반으로 결제 오류를 처리할 수 있습니다.
2870
+
2871
+ <!-- SECTION client:handle-payment-error END -->
2872
+
2873
+ <!-- SECTION client:request-server-side-verification START -->
2874
+
2875
+ ### 서버 측으로 결제 완료 요청
2876
+
2877
+ 완료된 결제의 `paymentId`를 서버로 전송하여 결제 상태를 반영합니다.
2878
+
2879
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod !== "virtualAccount" START -->
2880
+
2881
+ <!-- SECTION client:handle-payment-status:paid START -->
2882
+
2883
+ ### 결제 완료 상태 처리
2884
+
2885
+ 서버로부터 검증 후 결제가 완료된 경우를 처리합니다.
2886
+
2887
+ <!-- SECTION client:handle-payment-status:paid END -->
2888
+
2889
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod !== "virtualAccount" END -->
2890
+
2891
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "virtualAccount" START -->
2892
+
2893
+ <!-- SECTION client:handle-payment-status:virtual-account-issued START -->
2894
+
2895
+ ### 가상계좌 발급 상태 처리
2896
+
2897
+ 서버로부터 검증 후 가상계좌가 발급된 경우를 처리합니다.
2898
+
2899
+ <!-- SECTION client:handle-payment-status:virtual-account-issued END -->
2900
+
2901
+ <!-- CONDITIONAL CONTENT when=({ payMethod }) => payMethod === "virtualAccount" END -->
2902
+
2903
+ <!-- SECTION client:handle-payment-status:failed START -->
2904
+
2905
+ ### 결제 실패 상태 처리
2906
+
2907
+ 서버로부터 검증 결과를 획득하여, 결제가 최종적으로 실패한 경우를 처리합니다.
2908
+
2909
+ <!-- SECTION client:handle-payment-status:failed END -->
2910
+
2911
+ <!-- SECTION client:request-server-side-verification END -->
2912
+
2913
+ ## 서버 측
2914
+
2915
+ <!-- SECTION server:import-portone-sdk START -->
2916
+
2917
+ ### 포트원 서버 SDK 불러오기
2918
+
2919
+ 포트원 서버 SDK를 불러옵니다.
2920
+
2921
+ <!-- CONDITIONAL CONTENT language=backend/Express START -->
2922
+
2923
+ 아래 명령어로 서버 SDK를 설치합니다.
2924
+
2925
+ ![NPM Version](https://img.shields.io/npm/v/%40portone%2Fserver-sdk)
2926
+
2927
+ ![JSR Version](https://img.shields.io/jsr/v/%40portone/server-sdk)
2928
+
2929
+ <div class="tabs-container">
2930
+
2931
+ <div class="tabs-content" data-title="npm">
2932
+
2933
+ ```shell
2934
+ npm install --save @portone/server-sdk
2935
+ ```
2936
+
2937
+ </div>
2938
+
2939
+ <div class="tabs-content" data-title="yarn">
2940
+
2941
+ ```shell
2942
+ yarn add @portone/server-sdk
2943
+ ```
2944
+
2945
+ </div>
2946
+
2947
+ <div class="tabs-content" data-title="pnpm">
2948
+
2949
+ ```shell
2950
+ pnpm add @portone/server-sdk
2951
+ ```
2952
+
2953
+ </div>
2954
+
2955
+ <div class="tabs-content" data-title="bun">
2956
+
2957
+ ```shell
2958
+ bun add @portone/server-sdk
2959
+ ```
2960
+
2961
+ </div>
2962
+
2963
+ <div class="tabs-content" data-title="deno">
2964
+
2965
+ ```shell
2966
+ deno add jsr:@portone/server-sdk
2967
+ ```
2968
+
2969
+ </div>
2970
+
2971
+ <div class="tabs-content" data-title="ni">
2972
+
2973
+ ```shell
2974
+ ni @portone/server-sdk
2975
+ ```
2976
+
2977
+ </div>
2978
+
2979
+ </div>
2980
+
2981
+ Node.js의 경우 v20 이상에서 정상 동작하며, v20 미만 버전은 폴리필이 필요합니다.
2982
+
2983
+ <details>
2984
+
2985
+ <summary>폴리필 방법</summary>
2986
+
2987
+ <div class="tabs-container">
2988
+
2989
+ <div class="tabs-content" data-title="Node.js v18 이상 v20 미만">
2990
+
2991
+ 애플리케이션 코드 시작 부분에 아래 코드를 삽입해 주세요.
2992
+
2993
+ ```javascript title="CommonJS"
2994
+ globalThis.crypto = require("node:crypto").webcrypto;
2995
+ ```
2996
+
2997
+ ```javascript title="ESM"
2998
+ import { webcrypto } from "node:crypto";
2999
+ globalThis.crypto = webcrypto;
3000
+ ```
3001
+
3002
+ </div>
3003
+
3004
+ <div class="tabs-content" data-title="Node.js v18 미만">
3005
+
3006
+ [@whatwg-node/fetch](https://www.npmjs.com/package/@whatwg-node/fetch) 패키지를 의존성에 추가해 주세요.
3007
+
3008
+ 애플리케이션 코드 시작 부분에 아래 코드를 삽입해 주세요.
3009
+
3010
+ ```javascript title="CommonJS"
3011
+ const { fetch, crypto } = require("@whatwg-node/fetch");
3012
+ globalThis.fetch = fetch;
3013
+ globalThis.crypto = crypto;
3014
+ ```
3015
+
3016
+ ```javascript title="ESM"
3017
+ import { crypto, fetch } from "@whatwg-node/fetch";
3018
+ globalThis.fetch = fetch;
3019
+ globalThis.crypto = crypto;
3020
+ ```
3021
+
3022
+ </div>
3023
+
3024
+ </div>
3025
+
3026
+ </details>
3027
+
3028
+ <!-- CONDITIONAL CONTENT language=backend/Express END -->
3029
+
3030
+ <!-- CONDITIONAL CONTENT language=backend/FastAPI START -->
3031
+
3032
+ 아래 명령어로 서버 SDK를 설치합니다.
3033
+
3034
+ ![PyPI - Version](https://img.shields.io/pypi/v/portone-server-sdk)
3035
+
3036
+ <div class="tabs-container">
3037
+
3038
+ <div class="tabs-content" data-title="uv">
3039
+
3040
+ ```shell
3041
+ uv add portone-server-sdk
3042
+ ```
3043
+
3044
+ </div>
3045
+
3046
+ <div class="tabs-content" data-title="poetry">
3047
+
3048
+ ```shell
3049
+ poetry add portone-server-sdk
3050
+ ```
3051
+
3052
+ </div>
3053
+
3054
+ <div class="tabs-content" data-title="rye">
3055
+
3056
+ ```shell
3057
+ rye add portone-server-sdk
3058
+ ```
3059
+
3060
+ </div>
3061
+
3062
+ <div class="tabs-content" data-title="pipenv">
3063
+
3064
+ ```shell
3065
+ pipenv install portone-server-sdk
3066
+ ```
3067
+
3068
+ </div>
3069
+
3070
+ <div class="tabs-content" data-title="Conda">
3071
+
3072
+ ```shell
3073
+ conda install portone-server-sdk
3074
+ ```
3075
+
3076
+ </div>
3077
+
3078
+ <div class="tabs-content" data-title="Hatch">
3079
+
3080
+ ```toml title="pyproject.toml"
3081
+ [project]
3082
+ dependencies = [
3083
+ "portone-server-sdk~=x.x.x"
3084
+ ]
3085
+ ```
3086
+
3087
+ </div>
3088
+
3089
+ <div class="tabs-content" data-title="PDM">
3090
+
3091
+ ```shell
3092
+ pdm add portone-server-sdk
3093
+ ```
3094
+
3095
+ </div>
3096
+
3097
+ <div class="tabs-content" data-title="pip requirements">
3098
+
3099
+ ```shell title="requirements.txt"
3100
+ portone-server-sdk ~= x.x.x
3101
+ ```
3102
+
3103
+ </div>
3104
+
3105
+ </div>
3106
+
3107
+ <!-- CONDITIONAL CONTENT language=backend/FastAPI END -->
3108
+
3109
+ <!-- CONDITIONAL CONTENT language=backend/Flask START -->
3110
+
3111
+ 아래 명령어로 서버 SDK를 설치합니다.
3112
+
3113
+ ![PyPI - Version](https://img.shields.io/pypi/v/portone-server-sdk)
3114
+
3115
+ <div class="tabs-container">
3116
+
3117
+ <div class="tabs-content" data-title="uv">
3118
+
3119
+ ```shell
3120
+ uv add portone-server-sdk
3121
+ ```
3122
+
3123
+ </div>
3124
+
3125
+ <div class="tabs-content" data-title="poetry">
3126
+
3127
+ ```shell
3128
+ poetry add portone-server-sdk
3129
+ ```
3130
+
3131
+ </div>
3132
+
3133
+ <div class="tabs-content" data-title="rye">
3134
+
3135
+ ```shell
3136
+ rye add portone-server-sdk
3137
+ ```
3138
+
3139
+ </div>
3140
+
3141
+ <div class="tabs-content" data-title="pipenv">
3142
+
3143
+ ```shell
3144
+ pipenv install portone-server-sdk
3145
+ ```
3146
+
3147
+ </div>
3148
+
3149
+ <div class="tabs-content" data-title="Conda">
3150
+
3151
+ ```shell
3152
+ conda install portone-server-sdk
3153
+ ```
3154
+
3155
+ </div>
3156
+
3157
+ <div class="tabs-content" data-title="Hatch">
3158
+
3159
+ ```toml title="pyproject.toml"
3160
+ [project]
3161
+ dependencies = [
3162
+ "portone-server-sdk~=x.x.x"
3163
+ ]
3164
+ ```
3165
+
3166
+ </div>
3167
+
3168
+ <div class="tabs-content" data-title="PDM">
3169
+
3170
+ ```shell
3171
+ pdm add portone-server-sdk
3172
+ ```
3173
+
3174
+ </div>
3175
+
3176
+ <div class="tabs-content" data-title="pip requirements">
3177
+
3178
+ ```shell title="requirements.txt"
3179
+ portone-server-sdk ~= x.x.x
3180
+ ```
3181
+
3182
+ </div>
3183
+
3184
+ </div>
3185
+
3186
+ <!-- CONDITIONAL CONTENT language=backend/Flask END -->
3187
+
3188
+ <!-- CONDITIONAL CONTENT language=backend/Spring_Kotlin START -->
3189
+
3190
+ Maven Central을 통해 서버 SDK를 설치합니다.
3191
+
3192
+ [![Maven Central Version](https://img.shields.io/maven-central/v/io.portone/server-sdk)](https://central.sonatype.com/artifact/io.portone/server-sdk)
3193
+
3194
+ [![javadoc](https://javadoc.io/badge2/io.portone/server-sdk/javadoc.svg)](https://javadoc.io/doc/io.portone/server-sdk)
3195
+
3196
+ <div class="tabs-container">
3197
+
3198
+ <div class="tabs-content" data-title="Apache Maven">
3199
+
3200
+ ```xml
3201
+ <dependency>
3202
+ <groupId>io.portone</groupId>
3203
+ <artifactId>server-sdk</artifactId>
3204
+ <version>x.x.x</version>
3205
+ </dependency>
3206
+ ```
3207
+
3208
+ </div>
3209
+
3210
+ <div class="tabs-content" data-title="Gradle (Kotlin)">
3211
+
3212
+ ```kotlin
3213
+ implementation("io.portone:server-sdk:x.x.x")
3214
+ ```
3215
+
3216
+ </div>
3217
+
3218
+ <div class="tabs-content" data-title="Gradle (Groovy)">
3219
+
3220
+ ```groovy
3221
+ implementation 'io.portone:server-sdk:x.x.x'
3222
+ ```
3223
+
3224
+ </div>
3225
+
3226
+ </div>
3227
+
3228
+ <!-- CONDITIONAL CONTENT language=backend/Spring_Kotlin END -->
3229
+
3230
+ <!-- SECTION server:import-portone-sdk END -->
3231
+
3232
+ <!-- SECTION server:portone-api-secret START -->
3233
+
3234
+ ### 포트원 API Secret 설정
3235
+
3236
+ 서버 SDK를 사용하기 위해 포트원 V2 API Secret을 설정합니다.
3237
+ API Secret은 포트원 관리자콘솔의 [결제 연동 > 연동 정보 > 식별코드 ・ API Keys > V2 API](https://admin.portone.io/integration-v2/manage/api-keys?version=v2)에서 발급받으실 수 있습니다.
3238
+
3239
+ <!-- SECTION server:portone-api-secret END -->
3240
+
3241
+ <!-- SECTION server:complete-payment START -->
3242
+
3243
+ ### 결제 완료 요청
3244
+
3245
+ 완료된 결제의 실제 상태를 조회해 시스템에 반영합니다. 브라우저 SDK를 통해 결제하는 경우 모든 결제 과정이 브라우저에서 진행되므로 결제가 조작되는 것을 막기 위해 서버에서 검증이 필요합니다.
3246
+
3247
+ <!-- SECTION server:complete-payment END -->
3248
+
3249
+ <!-- SECTION server:complete-payment:get-payment START -->
3250
+
3251
+ ### 결제 정보 조회
3252
+
3253
+ 브라우저에서 전송한 `paymentId`를 통해 실제 결제 상태를 조회합니다.
3254
+
3255
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' START -->
3256
+
3257
+ <div class="hint" data-style="warning">
3258
+
3259
+ ISP/페이북을 통한 결제 시 토스페이먼츠가 실제 카드 번호와 다른 카드 번호를 전달하고 있어 결제 내역 단건 조회시 응답되는 `payment_method_detail.card.detail.bin` 정보가 정확하지 않을 수 있습니다.
3260
+
3261
+ </div>
3262
+
3263
+ <!-- CONDITIONAL CONTENT pgName=(name) => name === 'toss' END -->
3264
+
3265
+ <!-- SECTION server:complete-payment:get-payment END -->
3266
+
3267
+ <!-- SECTION server:complete-payment:verify-payment START -->
3268
+
3269
+ ### 결제 정보 일치 검증
3270
+
3271
+ 포트원에 전달한 `customData`로 조회한 상품 정보와 결제 정보가 일치하는지 검증합니다.
3272
+
3273
+ <!-- SECTION server:complete-payment:verify-payment END -->
3274
+
3275
+ <!-- SECTION server:webhook START -->
3276
+
3277
+ ### 웹훅 수신
3278
+
3279
+ 결제 상태의 변화를 실시간으로 확인해야 한다면 웹훅을 사용할 수 있습니다.
3280
+
3281
+ <!-- SECTION server:webhook:raw-body START -->
3282
+
3283
+ ### HTTP Body 수신 설정
3284
+
3285
+ 웹훅 내용을 검증하기 위해서는 HTTP Body를 문자열 형태로 수신해야 합니다.
3286
+
3287
+ <!-- SECTION server:webhook:raw-body END -->
3288
+
3289
+ <!-- SECTION server:webhook:verify START -->
3290
+
3291
+ ### 웹훅 검증
3292
+
3293
+ 수신한 웹훅이 위조되지 않았는지 포트원 서버 SDK를 사용하여 검증합니다.
3294
+
3295
+ <!-- SECTION server:webhook:verify END -->
3296
+
3297
+ <!-- SECTION server:webhook:complete-payment START -->
3298
+
3299
+ ### 결제 상태 업데이트
3300
+
3301
+ 검증된 웹훅 결과를 바탕으로 결제 상태를 업데이트합니다.
3302
+
3303
+ <!-- SECTION server:webhook:complete-payment END -->
3304
+
3305
+ <!-- SECTION server:webhook END -->