diff --git a/src/routes/(root)/opi/ko/_nav.yaml b/src/routes/(root)/opi/ko/_nav.yaml index b8af98631..368030925 100644 --- a/src/routes/(root)/opi/ko/_nav.yaml +++ b/src/routes/(root)/opi/ko/_nav.yaml @@ -142,6 +142,10 @@ - /ko/extra/identity-verification/v1/credit-auth/3 - /ko/extra/identity-verification/v1/credit-auth/4 - /ko/extra/confirm-process/readme-v1 + - slug: /ko/extra/smart-routing/intro + items: + - /ko/extra/smart-routing/console-guide + - /ko/extra/smart-routing/integration - slug: /ko/extra/promotion/intro items: - /ko/extra/promotion/console-guide diff --git a/src/routes/(root)/opi/ko/extra/smart-routing/console-guide.mdx b/src/routes/(root)/opi/ko/extra/smart-routing/console-guide.mdx index dca769a28..71da0e7c5 100644 --- a/src/routes/(root)/opi/ko/extra/smart-routing/console-guide.mdx +++ b/src/routes/(root)/opi/ko/extra/smart-routing/console-guide.mdx @@ -2,7 +2,7 @@ title: 스마트 라우팅 - 콘솔 가이드 description: >- 멀티PG 환경을 클릭 한 번으로 쉽게 만들 수 있는 결제 트래픽 분산 자동화 서비스 입니다. -targetVersions: ["v2"] +targetVersions: ["v1", "v2"] --- import Figure from "~/components/Figure"; @@ -17,7 +17,6 @@ import Image5 from "./_assets/sr_console_5.png"; 스마트 라우팅 기능이 궁금하다면 [스마트 라우팅 기능 소개](/opi/ko/extra/smart-routing/intro)를 확인해 보세요! - 스마트 라우팅은 **V2 결제 서비스 이용시**에만 사용이 가능합니다. ## 스마트 라우팅 그룹 생성하기 diff --git a/src/routes/(root)/opi/ko/extra/smart-routing/integration.mdx b/src/routes/(root)/opi/ko/extra/smart-routing/integration.mdx index f9640f9f9..1992b71b2 100644 --- a/src/routes/(root)/opi/ko/extra/smart-routing/integration.mdx +++ b/src/routes/(root)/opi/ko/extra/smart-routing/integration.mdx @@ -1,7 +1,7 @@ --- title: 스마트 라우팅 - 연동하기 description: 멀티PG 환경을 클릭 한 번으로 쉽게 만들 수 있는 결제 트래픽 분산 자동화 서비스 입니다. -targetVersions: ["v2"] +targetVersions: ["v1", "v2"] --- import Details from "~/components/gitbook/Details"; @@ -26,17 +26,46 @@ SDK를 이용하는 경우 결제 호출 시 생성한 스마트 라우팅 그 인증결제와 관련된 자세한 내용은 [인증 결제 연동하기](/opi/ko/integration/start/v1/auth) 문서를 참고하시기 바랍니다. + +### 예제 코드 + +```ts +IMP.request_pay( +{ + // 결제대행사를 지정할 때 사용한 channelKey, pg 대신 + // channelGroupId 파라미터에 스마트 라우팅 그룹 ID를 설정합니다. + channelGroupId: "channel-group-live-f042e8e2-92f1-4f68-ad61-cec6ede41529", + pay_method: "card", //결제수단 선택 + merchant_uid: "ORD20180131-0000011", //고객사 주문번호 + name: "Norway swivel chair", //주문명 + amount: 1000, // 결제 금액 + //고객 정보 + buyer_email: "gildong@gmail.com", + buyer_name: "Hong Gildong", + buyer_tel: "010-4242-4242", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "01181", +}, +function (rsp) { +// callback +if (rsp.success) { +// Payment is successful +} else { +// Payment failed +} +}, +); +``` 인증결제와 관련된 자세한 내용은 [인증 결제 연동하기](/opi/ko/integration/start/v2/checkout) 문서를 참고하시기 바랍니다. - -### 예제 코드 + ### 예제 코드 -```tsx -//포트원 인증결제 SDK 호출 -PortOne.requestPayment({ + ```tsx + //포트원 인증결제 SDK 호출 + PortOne.requestPayment({ storeId: "store-4ff4af41-85e3-4559-8eb8-0d08a2c6ceec", // 결제대행사를 지정할 때 사용한 channelKey 대신 @@ -52,12 +81,13 @@ PortOne.requestPayment({ // 스마트 라우팅 사용 시 필수 파라미터 추가 설정 customer: { - fullName: "홍길동", - phoneNumber: "010-1234-5678", - email: "test@test.com", - }, + fullName: "홍길동", + phoneNumber: "010-1234-5678", + email: "test@test.com", +}, }); -``` + ``` + ### 주요 파라미터 @@ -68,10 +98,79 @@ PortOne.requestPayment({ - 관리자 콘솔의 \[연동 관리] → \[스마트 라우팅] 메뉴에서 확인할 수 있습니다. - 스마트 라우팅 그룹 ID를 지정하여 결제창을 호출하면, 스마트 라우팅 그룹 내 설정된 채널 비율에 따라 - 확률 기반으로 하나의 결제대행사가 호출됩니다. +확률 기반으로 하나의 결제대행사가 호출됩니다. ### 필수 파라미터 + +각 파라미터에 대한 상세한 설명은 [결제요청 파라미터](/sdk/ko/v1-sdk/javascript-sdk/payrq) 문서를 참고하시기 바랍니다. + + - **`merchant_uid`** **string** + + **고객사 주문번호** + + - **`name`** **string** + + **주문명** + + - **`amount`** **number** + + **결제금액** + + - **`pay_method`** **string** + + **결제수단 구분코드** + + - **`custom_data`** **object** + + **사용자 정의 데이터** + + - 결제 응답시 **echo** 로 받아보실 수 있는 필드 입니다. + - JSON notation(string)으로 저장됩니다. + - 주문 건에 대해 부가정보를 저장할 공간이 필요할 때 사용합니다 + + - **`tax_free`** **number** + + **면세금액** + + 결제금액 중 면세금액에 해당하는 금액을 입력합니다. + + - **`vat_amount`**: **number** + + **부가세** + + 결제금액 중 부가세에 해당하는 금액을 입력합니다. (기본값: null) + + - **`vbank_due`** **string** + + **가상계좌 입금기한** + + 스마트 라우팅을 이용한 가상계좌 결제 사용 시 필수 입력해야 합니다. + + 다음과 같은 형식으로 설정이 가능합니다 : + - `YYYY-MM-DD` + - `YYYYMMDD` + - `YYYY-MM-DD HH:mm:ss` + - `YYYYMMDDHHmmss` + + - **`buyer_tel`** **string** + + **주문자 연락처** + + 일부 PG사에서 해당 필드 누락시 오류 발생 + + - **`buyer_email`** **string** + + **주문자 이메일** + + 일부 PG사에서 해당 필드 누락시 오류 발생(페이먼트월) + + + +기타 파라미터는 [결제요청 파라미터](/sdk/ko/v1-sdk/javascript-sdk/payrq) 문서를 참고하시길 바랍니다. + + + 각 파라미터에 대한 상세한 설명은 [결제요청 파라미터](/sdk/ko/v2-sdk/payment-request) 문서를 참고하시기 바랍니다. @@ -160,7 +259,8 @@ PortOne.requestPayment({ -기타 파라미터는 [결제요청 파라미터](/sdk/ko/v2-sdk/payment-request) 문서를 참고하시길 바립니다. +기타 파라미터는 [결제요청 파라미터](/opi/ko/integration/v2-sdk/payment-request) 문서를 참고하시길 바립니다. + ### 유의사항 @@ -203,7 +303,33 @@ API를 이용하는 경우 결제 호출 시 생성한 스마트 라우팅 그 ### 예제 코드 + + + ```ts title="server-side" + // card_number, expiry, birth, pwd_2digit 등 정보를 전달받습니다. + // 포트원 비인증 결제(일회성) API 호출 + const onetimeResponse = await fetch( + "https://api.iamport.kr/subscribe/payments/onetime", + { + method: "POST", + headers: { + Authorization: `Bearer ${ACCESS_TOKEN}`, + "Content-Type": "application/json", + }, + body: JSON.stringify({ + channelGroupId: "channel-group-live-f042e8e2-92f1-4f68-ad61-cec6ede41529", + card_number: "YYYY-YYYY-YYYY-YYYY", // 카드 번호 16자리 + expiry: "YYYY-MM", // 카드 유효기간 + birth: "YYMMDD", // 생년 월일. 무기명 법인카드의 경우 사업자 번호 10자리 입력 + pwd_2digit: "NN", //카드 비밀번호 앞 2자리 + // 중략... + }), + }, + ); + ``` + + ```ts @@ -305,6 +431,7 @@ API를 이용하는 경우 결제 호출 시 생성한 스마트 라우팅 그 ``` + ### 주요 파라미터 @@ -319,6 +446,31 @@ API를 이용하는 경우 결제 호출 시 생성한 스마트 라우팅 그 ### 필수 파라미터 + + + - **`merchant_uid`** **\*** **string** + + **고객사 거래 고유번호** + + - **`amount`** **\*** **number** + + **주문 금액** + + - **`card_number`****\*** **string** + + **카드번호** + + (dddd-dddd-dddd-dddd) 기재 양식을 유의하세요. + + - **`expiry`****\*** **string** + + **카드 유효기간** + + (YYYY-MM) 기재 양식을 유의하세요. + + + + - **`paymentId`** **\*** **string** @@ -472,6 +624,7 @@ API를 이용하는 경우 결제 호출 시 생성한 스마트 라우팅 그 스마트로로 가상계좌 발급시에만 정보가 유효합니다. 다른 PG사 결제 요청시에는 별도로 검증하지 않습니다. + ### 유의사항 @@ -480,7 +633,8 @@ API를 이용하는 경우 결제 호출 시 생성한 스마트 라우팅 그 실제로 결제를 요청하여 결제 승인, 실패된 경우 결제대행사 정보를 확인할 수 있습니다. - 결제대행사 정보는 콘솔 결제내역 또는 결제 조회 API의 `channel` 파라미터에서 확인 가능합니다. + 결제대행사 정보는 콘솔 결제내역 또는 결제 조회 API의 `pg_provider` 파라미터에서 확인 가능합니다. + 결제대행사 정보는 콘솔 결제내역 또는 결제 조회 API의 `channel` 파라미터에서 확인 가능합니다. @@ -494,6 +648,7 @@ API를 이용하는 경우 결제 호출 시 생성한 스마트 라우팅 그 +
가상계좌 발급 이용 시 고정식 가상계좌 사용을 권장하지 않습니다. @@ -513,7 +668,9 @@ API를 이용하는 경우 결제 호출 시 생성한 스마트 라우팅 그 정상적으로 가상계좌 발급이 불가능할 수 있습니다.
+
+ ## API 빌링키 발급 및 정기결제 연동하기 빌링키 발급 API 호출 시 생성한 스마트 라우팅 그룹의 ID를 전용 파라미터인 `channelGroupId`에 @@ -987,3 +1144,4 @@ API를 이용하는 경우 결제 호출 시 생성한 스마트 라우팅 그 그룹 설정 변경 시 유의하시기 바랍니다. + diff --git a/src/routes/(root)/opi/ko/extra/smart-routing/intro.mdx b/src/routes/(root)/opi/ko/extra/smart-routing/intro.mdx index 49b45c965..223865c2a 100644 --- a/src/routes/(root)/opi/ko/extra/smart-routing/intro.mdx +++ b/src/routes/(root)/opi/ko/extra/smart-routing/intro.mdx @@ -1,7 +1,7 @@ --- title: 스마트 라우팅 description: 멀티PG 환경을 클릭 한 번으로 쉽게 만들 수 있는 결제 트래픽 분산 자동화 서비스 입니다. -targetVersions: ["v2"] +targetVersions: ["v1","v2"] --- import Figure from "~/components/Figure"; @@ -9,6 +9,7 @@ import Details from "~/components/gitbook/Details"; import Image2 from "./_assets/screenshot1.png"; import Image1 from "./_assets/sr.png"; +import VersionGate from "~/components/gitbook/VersionGate"; ## 스마트 라우팅이란? @@ -28,9 +29,25 @@ API 빌링키 발급 요청 시 스마트 라우팅 그룹 아이디를 지정 ## 사용 가능한 PG사 및 결제수단 -스마트 라우팅 기능은 V2 결제 서비스 이용 시 사용이 가능하며, 아래 PG사에 한하여 제공하고 있습니다. +스마트 라우팅 기능은 아래 PG사에 한하여 제공하고 있습니다. (추후 지원 PG사 확대 예정) + +### 결제창(SDK) 인증결제 + +- **나이스페이먼츠(신모듈)** : 카드 / 실시간 계좌이체 / 가상계좌 / 휴대폰 소액결제 +- **토스페이먼츠(신모듈)** : 카드 / 실시간 계좌이체 / 가상계좌 / 휴대폰 소액결제 +- **KSNET** : 카드 / 실시간 계좌이체 / 가상계좌 / 휴대폰 소액결제 +- **스마트로(신모듈)** : 카드 / 실시간 계좌이체 / 가상계좌 / 휴대폰 소액결제 + +### API 수기(키인)결제 + +- **나이스페이먼츠(신모듈)** : 카드 +- **토스페이먼츠(신모듈)** : 카드 +- **KSNET** : 카드 + + + ### 결제창(SDK) 인증결제 - **나이스페이먼츠** : 카드 / 실시간 계좌이체 / 가상계좌 / 휴대폰 소액결제 @@ -60,6 +77,7 @@ API 빌링키 발급 요청 시 스마트 라우팅 그룹 아이디를 지정 - **KSNET** : 카드 - **스마트로** : 카드 - **NHN KCP** : 카드 + ## 스마트 라우팅 연동 안내