diff --git a/src/content/api-section-description/v1auth.mdx b/src/content/api-section-description/v1auth.mdx index 75f97ef72..2c2fc474f 100644 --- a/src/content/api-section-description/v1auth.mdx +++ b/src/content/api-section-description/v1auth.mdx @@ -1,7 +1,13 @@ -import ApiLink from "~/layouts/rest-api/misc/ApiLink"; -import Details from "~/components/gitbook/Details.astro"; import Figure from "~/components/Figure.astro"; +import Details from "~/components/gitbook/Details.astro"; import Hint from "~/components/Hint.astro"; +import ApiLink from "~/layouts/rest-api/misc/ApiLink"; + +import getTokenImage from "./_assets/v1auth/get-token.png"; +import merchantInfoImage from "./_assets/v1auth/merchant-info.png"; +import reuseImage from "./_assets/v1auth/reuse.svg"; +import tierImage from "./_assets/v1auth/tier.png"; +import useImage from "./_assets/v1auth/use.png"; 포트원 API를 호출할 때는 **액세스 토큰**을 `Authorization` 헤더에 넣어주어야 합니다.\ 액세스 토큰은 를 호출해서 발급받을 수 있습니다. @@ -9,106 +15,75 @@ import Hint from "~/components/Hint.astro"; 액세스 토큰 발급 API를 호출하려면 **API 키**와 **API 시크릿**을 인자로 넣어주어야 합니다.
-

API 키와 API 시크릿 확인하기

- -1. [관리자 콘솔 `상점・계정 관리` 화면](https://admin.portone.io/merchant) 접속 -2. `내 식별코드・API Keys` 버튼 클릭 - -import merchantInfoImage from "./_assets/v1auth/merchant-info.png"; - -
+

API 키와 API 시크릿 확인하기

- -**API 시크릿은 절대로 외부에 노출되어서는 안되는 값**입니다.\ -실제 구현에서 액세스 토큰 발급은 꼭 서버사이드에서 해주세요. + 1. [관리자 콘솔 `상점・계정 관리` 화면](https://admin.portone.io/merchant) 접속 + 2. `내 식별코드・API Keys` 버튼 클릭 - +
+ + **API 시크릿은 절대로 외부에 노출되어서는 안 되는 값**입니다.\ + 실제 구현에서 액세스 토큰 발급은 꼭 서버 사이드에서 해주세요. +
-

액세스 토큰 발급 받기

+

액세스 토큰 발급 받기

- 호출 + 호출 -import getTokenImage from "./_assets/v1auth/get-token.png"; - -
- - -포트원 REST API 서버는 **Google Public NTP**의 시간과 동기화되고 있습니다. - - +
- -하위 상점 연동을 할 경우 액세스 토큰을 발급받을 때 **Agent 계정**의 **API 키** 와 **API 시크릿**을 사용해야 합니다. + + 포트원 REST API 서버는 **Google Public NTP**의 시간과 동기화되고 있습니다. + -[Agency & Tier 란?](/docs/ko/tip/agency-and-tier) - - + + 하위 상점 연동을 할 경우 액세스 토큰을 발급받을 때 **Agent 계정**의 **API 키** 와 **API 시크릿**을 사용해야 합니다. + [Agency & Tier 란?](/docs/ko/tip/agency-and-tier) +
-

액세스 토큰 사용하기

- -발급받은 액세스 토큰은 다른 API를 호출할 때\ -`Authorization` 헤더에 `Bearer <액세스 토큰>` 형식의 값을 넣어주면 됩니다. - -자세한 내용은 [MDN - HTTP 인증 문서](https://developer.mozilla.org/ko/docs/Web/HTTP/Authentication)를 참고해주세요. +

액세스 토큰 사용하기

-import useImage from "./_assets/v1auth/use.png"; - -
+ 발급받은 액세스 토큰은 다른 API를 호출할 때\ + `Authorization` 헤더에 `Bearer <액세스 토큰>` 형식의 값을 넣어주면 됩니다. - -하위 상점 연동을 할 경우 포트원 API 호출시 `Tier` 헤더에 하위 상점 티어 코드를 입력해야 합니다. + 자세한 내용은 [MDN - HTTP 인증 문서](https://developer.mozilla.org/ko/docs/Web/HTTP/Authentication)를 참고해주세요. -[Agency & Tier 란?](/docs/ko/tip/agency-and-tier) - -import tierImage from "./_assets/v1auth/tier.png"; +
-
+ + 하위 상점 연동을 할 경우 포트원 API 호출시 `Tier` 헤더에 하위 상점 티어 코드를 입력해야 합니다. - + [Agency & Tier 란?](/docs/ko/tip/agency-and-tier) +
+
-

액세스 토큰 만료기한 연장

+

액세스 토큰 만료기한 연장

-만료된 액세스 토큰으로 API를 호출하면 `401 Unauthorized` 응답을 받습니다.\ -액세스 토큰의 만료기한은 발행시간부터 **30분**입니다. - -- 기존 액세스 토큰이 만료되기 전 를 다시 호출했을 경우 - - 기존 액세스 토큰이 반환됩니다.\ - **만료기한이 1분 안쪽으로 남았을 때** 요청했다면 기존 액세스 토큰의 만료시간이 **5분 연장**됩니다. -- 기존 액세스 토큰이 만료된 다음 를 다시 호출했을 경우 - - 새로운 액세스 토큰이 반환됩니다. - -import reuseImage from "./_assets/v1auth/reuse.svg"; + 만료된 액세스 토큰으로 API를 호출하면 `401 Unauthorized` 응답을 받습니다.\ + 액세스 토큰의 만료 기한은 발행시간부터 **30분**입니다. -
+ - 기존 액세스 토큰이 만료되기 전 를 다시 호출했을 경우 + - 기존 액세스 토큰이 반환됩니다.\ + **만료 기한이 1분 안쪽으로 남았을 때** 요청했다면 기존 액세스 토큰의 만료 기한이 **5분 연장**됩니다. - -액세스 토큰의 재사용과 만료기한 5분 연장 동작방식은 다음과 같은 상황을 고려해서 설계되었습니다. + - 기존 액세스 토큰이 만료된 다음 를 다시 호출했을 경우 + - 새로운 액세스 토큰이 반환됩니다. -- 한 고객사에서 여러 대의 웹서버가 동시에 경쟁적으로 REST API(`/users/getToken`)를 호출하는 상황 -- 한 고객사에서 여러 대의 웹서버가 시간 동기화 되어있지 않은 상황 +
- + + 액세스 토큰의 재사용과 만료기한 5분 연장 동작방식은 다음과 같은 상황을 고려해서 설계되었습니다. + - 한 고객사에서 여러 대의 웹서버가 동시에 경쟁적으로 REST API(`/users/getToken`)를 호출하는 상황 + - 한 고객사에서 여러 대의 웹서버가 시간 동기화 되어있지 않은 상황 +
diff --git a/src/content/blog/2024-02/v2-oom.mdx b/src/content/blog/2024-02/v2-oom.mdx index bbd107127..731d71661 100644 --- a/src/content/blog/2024-02/v2-oom.mdx +++ b/src/content/blog/2024-02/v2-oom.mdx @@ -8,6 +8,7 @@ thumbnail: ./_assets/v2-oom/0.png --- import Figure from "~/components/Figure.astro"; + import image0 from "./_assets/v2-oom/0.png"; import image1 from "./_assets/v2-oom/1.png"; import image2 from "./_assets/v2-oom/2.png"; diff --git a/src/content/blog/2024-02/v2-zio.mdx b/src/content/blog/2024-02/v2-zio.mdx index e89cc844f..12989e76e 100644 --- a/src/content/blog/2024-02/v2-zio.mdx +++ b/src/content/blog/2024-02/v2-zio.mdx @@ -519,12 +519,12 @@ ZIO는 그러한 조건에 잘 부합하는 Effect System이었고 현재까지 이러한 요구사항을 만족하기 위해 신중한 고민을 거쳐 의사결정을 했고, 그렇게 탄생한 포트원 V2 모듈은 수많은 디지털 커머스 회사들과 함께할 준비를 마쳤습니다. 포트원 V2에서는 커머스 회사들이 결제와 관련된 고민을 덜 수 있도록 멋진 기능들을 많이 출시할 예정이니, 앞으로 포트원 V2 모듈의 행보를 지켜봐주세요! -[scala]: \(https://scala-lang.org/\) +[scala]: https://scala-lang.org/ -[why-fp-matters]: \(https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf\) +[why-fp-matters]: https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf -[for-comprehension]: \(https://docs.scala-lang.org/tour/for-comprehensions.html\) +[for-comprehension]: https://docs.scala-lang.org/tour/for-comprehensions.html -[ast]: \(https://en.wikipedia.org/wiki/Abstract_syntax_tree\) +[ast]: https://en.wikipedia.org/wiki/Abstract_syntax_tree -[zio]: \(https://zio.dev/\) +[zio]: https://zio.dev/ diff --git a/src/content/blog/2024-03/tgs.mdx b/src/content/blog/2024-03/tgs.mdx index e181c5aaf..2b8d0ee23 100644 --- a/src/content/blog/2024-03/tgs.mdx +++ b/src/content/blog/2024-03/tgs.mdx @@ -35,45 +35,45 @@ V1을 완전히 버리고 V2로 넘어가는 것이 아니기 때문에 하나 - 카카오페이 결제 파라미터 -|Name |타입 |필수여부|설명 | +| Name | 타입 |필수여부| 설명 | |:----------------:|:--------:|:------:|:--------------------------------------------------------------------------------------------------------------------:| -|cid |String |O |가맹점 코드, 10자 | -|cid\_secret |String |X |가맹점 코드 인증키, 24자, 숫자와 영문 소문자 조합 | -|partner\_order\_id|String |O |가맹점 주문번호, 최대 100자 | -|partner\_user\_id |String |O |가맹점 회원 id, 최대 100자 | -|item\_name |String |O |상품명, 최대 100자 | -|item\_code |String |X |상품코드, 최대 100자 | -|quantity |Integer |O |상품 수량 | -|total\_amount |Integer |O |상품 총액 | -|tax\_free\_amount |Integer |O |상품 비과세 금액 | -|vat\_amount |Integer |X |상품 부가세 금액 값을 보내지 않을 경우 다음과 같이 VAT 자동 계산 (상품총액 - 상품 비과세 금액)/11 : 소숫점 이하 반올림| -|green\_deposit |Integer |X |컵 보증금 | -|approval\_url |String |O |결제 성공 시 redirect url, 최대 255자 | -|cancel\_url |String |O |결제 취소 시 redirect url, 최대 255자 | -|fail\_url |String |O |결제 실패 시 redirect url, 최대 255자 | -|available\_cards |JSON Array|X |결제 수단으로써 사용 허가할 카드사를 지정해야 하는 경우 사용 | +| cid | String | O | 가맹점 코드, 10자 | +| cid\_secret | String | X | 가맹점 코드 인증키, 24자, 숫자와 영문 소문자 조합 | +|partner\_order\_id| String | O | 가맹점 주문번호, 최대 100자 | +| partner\_user\_id| String | O | 가맹점 회원 id, 최대 100자 | +| item\_name | String | O | 상품명, 최대 100자 | +| item\_code | String | X | 상품코드, 최대 100자 | +| quantity | Integer | O | 상품 수량 | +| total\_amount | Integer | O | 상품 총액 | +| tax\_free\_amount| Integer | O | 상품 비과세 금액 | +| vat\_amount | Integer | X |상품 부가세 금액 값을 보내지 않을 경우 다음과 같이 VAT 자동 계산 (상품총액 - 상품 비과세 금액)/11 : 소숫점 이하 반올림| +| green\_deposit | Integer | X | 컵 보증금 | +| approval\_url | String | O | 결제 성공 시 redirect url, 최대 255자 | +| cancel\_url | String | O | 결제 취소 시 redirect url, 최대 255자 | +| fail\_url | String | O | 결제 실패 시 redirect url, 최대 255자 | +| available\_cards |JSON Array| X | 결제 수단으로써 사용 허가할 카드사를 지정해야 하는 경우 사용 | - 네이버페이 결제 파라미터 -|Name |타입 |필수여부|설명 | +| Name | 타입 |필수여부| 설명 | |:-----------------------:|:-----:|:------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -|merchantPayKey |String |O |가맹점 주문내역 확인 가능한 가맹점 결제번호 또는 주문번호를 전달해야 합니다 | -|merchantPayTransactionKey|String | |가맹점 주문내역 히스토리 확인이 가능한 가맹점 결제 트랜잭션 번호 또는 주문 트랜잭션 번호를 전달해야 합니다. | -|merchantUserKey |String | |가맹점의 사용자 키(개인 아이디와 같은 개인정보 데이터는 제외하여 전달해야 합니다) | -|productName |String |O |대표 상품명. 예: 장미의 이름 외 1건(X), 장미의 이름(O) | -|productCount |Number |O |상품 수량 예: A 상품 2개 + B 상품 1개의 경우 productCount 3으로 전달 | -|totalPayAmount |Number |O |총 결제 금액. 최소 결제금액은 10원 | -|taxScopeAmount |Number |O |과세 대상 금액. 과세 대상 금액 + 면세 대상 금액 + 컵 보증금 금액 (옵션) = 총 결제 금액 | -|taxExScopeAmount |Number |O |면세 대상 금액. 과세 대상 금액 + 면세 대상 금액 + 컵 보증금 금액 (옵션) = 총 결제 금액 | -|environmentDepositAmount |Number | |1회용 컵에 담은 상품의 결제건인 경우에만 필수값이며, 그 외에는 전달할 필요가 없습니다. 컵 보증금 금액. 과세 대상 금액 + 면세 대상 금액 + 컵 보증금 금액 (옵션) = 총 결제 금액 | -|returnUrl |String |O |결제 인증 결과 전달 URL, 결제 완료 후 이동할 URL(returnUrl + 가맹점 파라미터 전달이 가능합니다) 네이버페이는 결제 작업 완료 후, 고객사가 등록한 returnUrl로 리디렉션을 수행합니다 고객사는 이를 활용하여 내부 처리를 수행하거나 구매자에게 결제 결과 화면을 노출할 수 있습니다 | -|purchaserName |String | |구매자 성명. 결제 상품이 보험 및 위험 업종 등인 경우에만 필수 값입니다. 그 외에는 전달할 필요가 없습니다 | -|purchaserBirthday |String | |구매자 생년월일(yyyymmdd). 결제 상품이 보험 및 위험 업종 등인 경우에만 필수 값입니다. 그 외에는 전달할 필요가 없습니다 | -|extraDeduction |Boolean| |도서 / 공연 / 영화 소득공제 대상 여부. 문화체육관광부에서 인증한 소득공제 제공 사업자가 대상 상품을 판매하는 경우 필수 값입니다. 해당 파라미터를 사용하기 위해서는 별도 요청을 주셔야 합니다. true : 대상, false : 비 대상 | -|useCfmYmdt |String | |이용완료일(yyyymmdd) 가맹점 타입이 이용완료일 정산 또는 이용완료일 포인트 적립인 경우 필수 해당 값을 기준으로 이용완료일 정산의 경우 '정산기준일' 또는 이용완료일 포인트 적립인 경우 '포인트적립 기준일'이 지정됩니다. 이용완료일은 반드시 결제일과 같거나 결제일 이후여야 하며, 이용완료일이 결제일자 이전으로 적용될 경우 에러(InvalidUseCfmYmdt)가 발생됩니다. 이용완료일이 결제일자 기준으로 1년을 초과할 경우 별도 에러가 발생되지는 않으나 전달한 이용완료일(useCfmYmdt) 값이 결제일자 +365일로 조정 처리됩니다.| -|merchantExtraParameter |String | |가맹점 자체적으로 추가 구분값으로 활용 가능한 별도의 예비 필드 (개인 아이디와 같은 개인정보 데이터는 제외하여 전달해야 합니다) | -|productItems |Array |O |productItem 배열 | -|subMerchantInfo |Object | |하부가맹점 정보. PG 업종 가맹점인 경우에만 필수값입니다 | +| merchantPayKey | String| O | 가맹점 주문내역 확인 가능한 가맹점 결제번호 또는 주문번호를 전달해야 합니다 | +|merchantPayTransactionKey| String| | 가맹점 주문내역 히스토리 확인이 가능한 가맹점 결제 트랜잭션 번호 또는 주문 트랜잭션 번호를 전달해야 합니다. | +| merchantUserKey | String| | 가맹점의 사용자 키(개인 아이디와 같은 개인정보 데이터는 제외하여 전달해야 합니다) | +| productName | String| O | 대표 상품명. 예: 장미의 이름 외 1건(X), 장미의 이름(O) | +| productCount | Number| O | 상품 수량 예: A 상품 2개 + B 상품 1개의 경우 productCount 3으로 전달 | +| totalPayAmount | Number| O | 총 결제 금액. 최소 결제금액은 10원 | +| taxScopeAmount | Number| O | 과세 대상 금액. 과세 대상 금액 + 면세 대상 금액 + 컵 보증금 금액 (옵션) = 총 결제 금액 | +| taxExScopeAmount | Number| O | 면세 대상 금액. 과세 대상 금액 + 면세 대상 금액 + 컵 보증금 금액 (옵션) = 총 결제 금액 | +| environmentDepositAmount| Number| | 1회용 컵에 담은 상품의 결제건인 경우에만 필수값이며, 그 외에는 전달할 필요가 없습니다. 컵 보증금 금액. 과세 대상 금액 + 면세 대상 금액 + 컵 보증금 금액 (옵션) = 총 결제 금액 | +| returnUrl | String| O | 결제 인증 결과 전달 URL, 결제 완료 후 이동할 URL(returnUrl + 가맹점 파라미터 전달이 가능합니다) 네이버페이는 결제 작업 완료 후, 가맹점이 등록한 returnUrl로 리디렉션을 수행합니다 가맹점은 이를 활용하여 내부 처리를 수행하거나 구매자에게 결제 결과 화면을 노출할 수 있습니다 | +| purchaserName | String| | 구매자 성명. 결제 상품이 보험 및 위험 업종 등인 경우에만 필수 값입니다. 그 외에는 전달할 필요가 없습니다 | +| purchaserBirthday | String| | 구매자 생년월일(yyyymmdd). 결제 상품이 보험 및 위험 업종 등인 경우에만 필수 값입니다. 그 외에는 전달할 필요가 없습니다 | +| extraDeduction |Boolean| | 도서 / 공연 / 영화 소득공제 대상 여부. 문화체육관광부에서 인증한 소득공제 제공 사업자가 대상 상품을 판매하는 경우 필수 값입니다. 해당 파라미터를 사용하기 위해서는 별도 요청을 주셔야 합니다. true : 대상, false : 비 대상 | +| useCfmYmdt | String| |이용완료일(yyyymmdd) 가맹점 타입이 이용완료일 정산 또는 이용완료일 포인트 적립인 경우 필수 해당 값을 기준으로 이용완료일 정산의 경우 '정산기준일' 또는 이용완료일 포인트 적립인 경우 '포인트적립 기준일'이 지정됩니다. 이용완료일은 반드시 결제일과 같거나 결제일 이후여야 하며, 이용완료일이 결제일자 이전으로 적용될 경우 에러(InvalidUseCfmYmdt)가 발생됩니다. 이용완료일이 결제일자 기준으로 1년을 초과할 경우 별도 에러가 발생되지는 않으나 전달한 이용완료일(useCfmYmdt) 값이 결제일자 +365일로 조정 처리됩니다.| +| merchantExtraParameter | String| | 가맹점 자체적으로 추가 구분값으로 활용 가능한 별도의 예비 필드 (개인 아이디와 같은 개인정보 데이터는 제외하여 전달해야 합니다) | +| productItems | Array | O | productItem 배열 | +| subMerchantInfo | Object| | 하부가맹점 정보. PG 업종 가맹점인 경우에만 필수값입니다 | 위처럼 같은 기능을 하는 인터페이스임에도 PG사에 따라 파라미터 명과 파라미터 타입, 필수 파라미터 목록 모두 상이한 것을 볼 수 있습니다. 심지어 사용하는 통신 프로토콜마저 PG사마다 상이하죠. @@ -214,7 +214,7 @@ Typed error를 적용함으로써 예시 코드의 `pay()` 함수에선 `AmountT ```kotlin interface Example { fun pay(): Effect - + sealed interface PayError { data object AmountTooBig: PayError data object InvalidCardInfo: PayError diff --git a/src/content/docs/_redir.yaml b/src/content/docs/_redir.yaml index dd4f2222d..307869d8b 100644 --- a/src/content/docs/_redir.yaml +++ b/src/content/docs/_redir.yaml @@ -167,6 +167,11 @@ - old: /ko/api-v2/platform new: /ko/platform/api +- old: /ko/api-v2/billing_key + new: /ko/api-v2/billing-key +- old: /ko/api-v2/cash_receipt + new: /ko/api-v2/cash-receipt + - old: /ko/ready/2-pg/payment-gateway/nice-v2 new: /ko/ready/2-pg/payment-gateway/nice diff --git a/src/content/docs/en/api/api/api.mdx b/src/content/docs/en/api/api/api.mdx index 8d3526591..13cdab12b 100644 --- a/src/content/docs/en/api/api/api.mdx +++ b/src/content/docs/en/api/api/api.mdx @@ -4,406 +4,386 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Requests a payment by billing key (customer\_uid). +## Requests a payment by billing key (customer\_uid). - -You can use the + + You can use the -**customer_uid** + **customer\_uid** - obtained via Get billing key API or PG payment window to request a non-authenticated payment. + obtained via Get billing key API or PG payment window to request a non-authenticated payment. + - + ### Parameters -### Parameters + #### Body -#### Body + + + **Billing key** + + - - + + + **Order ID** + + -**Billing key** + + **Currency** + - + + + **Payment amount** + + - - - + + **Tax free amount** + -**Order ID** + + + **Product name** + + - + + **Customer name** + - - -**Currency** + + **Customer email** + - - - + + **Customer phone** + -**Payment amount** + + **Customer address** + - + + **Customer zip code** + - - -**Tax free amount** + + **Number of installment months** + - - - + + **Whether or not there are interest-free installments paid by merchants** + -**Product name** + + **Option to use credit card points** + - + + **Custom data** + - - -**Customer name** + + **Webhook URL for success notification** + - - -**Customer email** + + **Customer's browser (PC) IP** + - - -**Customer phone** + ### Responses - - -**Customer address** + + + + **`code`** **\*** **integer** - - -**Customer zip code** + **Response code** - - -**Number of installment months** + 0: success, Not 0: check the message - + **`message`** **\*** **string** - - -**Whether or not there are interest-free installments paid by merchants** + **Response message** - - -**Option to use credit card points** + A non-zero code includes a message like 'Invalid payment info'. - - -**Custom data** + **`response`** **(PaymentAnnotation, optional)** + + - - -**Webhook URL for success notification** + + + **`code`** **\*** **integer** - + **`Response code`** - - -**Customer's browser (PC) IP** + 0: success, Not 0: check the message - + **`message`** **\*** **string** -### Responses + **Response message** - - - -**`code`** **\***** ****integer** + A non-zero code includes a message like 'Invalid payment info. -**Response code** + **`imp_uid`** \* **string** -0: success, Not 0: check the message + **i'mport payment transaction UID** -**`message`** **\***** ****string** + **`merchant_uid`** **\*** **string** -**Response message** + **Order ID** -A non-zero code includes a message like 'Invalid payment info'. + **`pay_method`** **\*** **string** -**`response`** **(PaymentAnnotation, optional)** + **Payment method code** - - + **`channel`** **\*** **string** - - -**`code`** **\***** ****integer** + **Payment environment code** -**`Response code`** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -0: success, Not 0: check the message + **`pg_provider`** **\*** **string** -**`message`** **\***** ****string** + **PG code** -**Response message** + --- -A non-zero code includes a message like 'Invalid payment info. + **`emb_pg_provider`** **\*** **string** -**`imp_uid`** \* **string** + **Hub-type PG code** -**i'mport payment transaction UID** + **`pg_tid`** **\*** **string** -**`merchant_uid`** **\***** ****string** + **PG transaction ID** -**Order ID** + **`pg_id`** **\*** **string** -**`pay_method`** **\***** ****string** + **PG MID** -**Payment method code** + **`escrow`** **boolean** -**`channel`** **\***** ****string** + **Indicates an escrow payment** -**Payment environment code** + **`apply_num`** **string** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **Credit card approval number** -**`pg_provider`** **\***** ****string** + **`bank_code`** **string** -**PG code** + **Bank code** ---- + **`bank_name`** **string** -**`emb_pg_provider`** **\***** ****string** + **Bank name** -**Hub-type PG code** + --- -**`pg_tid`** **\*** **string** + **`card_code`** **string** -**PG transaction ID** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**`pg_id`** **\***** ****string** + **`card_name`** **string** -**PG MID** + **Credit card name** -**`escrow`** **boolean** + **`card_quota`** **integer** -**Indicates an escrow payment** + **Number of installments (0 means one-off)** -**`apply_num`** **string** + **`card_number`** **string** -**Credit card approval number** + **Masked credit card number** -**`bank_code`** **string** + --- -**Bank code** + **`card_type`** **string** -**`bank_name`** **string** + **Credit card type code** -**Bank name** + - 0: credit + - 1: check ---- + **`vbank_code`** **string** -**`card_code`** **string** + **Virtual account bank code (refer to image below)** -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + --- -**`card_name`** **string** + **`vbank_name`** **string** -**Credit card name** + **Refund virtual account** -**`card_quota`** **integer** + **`vbank_holder`** **string** -**Number of installments (0 means one-off)** + **Refund virtual account holder** -**`card_number`** **string** + **`vbank_date`** **string** -**Masked credit card number** + **Refund virtual account expiration (UNIX timestamp)** ---- + **`vbank_issued_at`** **string** -**`card_type`** **string** + **Refund virtual account created at (UNIX timestamp)** -**Credit card type code** + **`name`** **string** -- 0: credit -- 1: check + **Product name** -**`vbank_code`** **string** + **`amount`** **\*** **integer** -**Virtual account bank code (refer to image below)** + **Order (payment) amount** ---- + **`cancel_amount`** **integer** -**`vbank_name`** **string** + **Cancelled amount** -**Refund virtual account** + **`currency`** **string** -**`vbank_holder`** **string** + **Currency** -**Refund virtual account holder** + - USD + - KRW + - EUR -**`vbank_date`** **string** + --- -**Refund virtual account expiration (UNIX timestamp)** + **`buyer_name`** **string** -**`vbank_issued_at`** **string** + **Customer name** -**Refund virtual account created at (UNIX timestamp)** + **`buyer_email`** **string** -**`name`** **string** + **Customer email** -**Product name** + **`buyer_tel`** **string** -**`amount`** **\*** **integer** + **Customer phone** -**Order (payment) amount** - -**`cancel_amount`** **integer** - -**Cancelled amount** - -**`currency`** **string** - -**Currency** - -- USD -- KRW -- EUR - ---- + **`buyer_addr`** **string** -**`buyer_name`** **string** + **Customer address** -**Customer name** + **`buyer_postcode`** **string** -**`buyer_email`** **string** + **Customer zip code** -**Customer email**\ + **`custom_data`** **string** -**`buyer_tel`** **string** + **echo data as JSON string** -**Customer phone** + **`user_agent`** **string** -**`buyer_addr`** **string** + **UserAgent of the device where payment is initiated** -**Customer address** + **`status`** **\*** **string** -**`buyer_postcode`** **string** + **Payment status code** -**Customer zip code** + - ready + - paid + - cancelled + - failed -**`custom_data`** **string** + **`started_at`** **\*** **string** -**echo data as JSON string** + **Payment started at (UNIX timestamp)** -**`user_agent`** **string** + **`paid_at`** **\*** **string** -**UserAgent of the device where payment is initiated** + **Payment completed at (UNIX timestamp)** -**`status`** **\***** ****string** + **`failed_at`** **\*** **string** -**Payment status code** + **Payment failed at (UNIX timestamp)** -- ready -- paid -- cancelled -- failed + **`cancelled_at`** **\*** **string** -**`started_at`** **\*** **string** + **Payment cancelled at (UNIX timestamp)** -**Payment started at (UNIX timestamp)** + **`fail_reason`** **string** -**`paid_at`** **\***** ****string** + **Reason for failure** -**Payment completed at (UNIX timestamp)**\ + **`cancel_reason`** **string** -**`failed_at`** **\***** ****string** + **Reason for cancellation** -**Payment failed at (UNIX timestamp)** + **`receipt_url`** **string** -**`cancelled_at`** **\***** ****string** + **Credit card receipt URL** -**Payment cancelled at (UNIX timestamp)** + **`cash_receipt_issued`** **boolean** -**`fail_reason`** **string** + **Option to automatically issue cash receipt** -**Reason for failure** + **`customer_uid`** **string** -**`cancel_reason`** **string** + **customer\_uid related to the payment transaction** -**Reason for cancellation** + **`customer_uid_usage`** **string** -**`receipt_url`** **string** + **customer\_uid use code** -**Credit card receipt URL** + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance -**`cash_receipt_issued` ****boolean** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**Option to automatically issue cash receipt** + **`Cancellation/partial cancellation history`** + + -**`customer_uid`** **string** + + + **cancel\_history array \[]** -**customer\_uid related to the payment transaction** + **`pg_tid`** **\*** **string** -**`customer_uid_usage`** **string** + **PG cancellation transaction ID** -**customer\_uid use code** + **`amount`** **\*** **integer** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **Cancelled amount** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`cancelled_at`** **\*** **string** -**`Cancellation/partial cancellation history`** + **Cancelled at (UNIX timestamp)** - - + **`reason`** **\*** **string(256)** - - -**cancel\_history array \[]** + **Reason for cancellation** -**`pg_tid`** **\***** ****string** + **`receipt_url`** **\*** **string(300)** -**PG cancellation transaction ID** - -**`amount`** **\*** **integer** - -**Cancelled amount** - -**`cancelled_at`** **\*** **string** - -**Cancelled at (UNIX timestamp)** - -**`reason`** **\*** **string(256)** - -**Reason for cancellation** - -**`receipt_url`** **\***** ****string(300)** - -**Cancellation receipt URL. Availability varies by PG.** - - - - - - - -```javascript -{ - // Response -} -``` - - + **Cancellation receipt URL. Availability varies by PG.** + + + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -429,7 +409,7 @@ A non-zero code includes a message like 'Invalid payment info. > > Required for Paymentwall PG -> **`buyer_name` ****string** +> **`buyer_name`** **string** > > **Customer name** > @@ -442,79 +422,77 @@ A non-zero code includes a message like 'Invalid payment info. > Required for Paymentwall PG
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe/again**](https://api.iamport.kr/#!/subscribe/again) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe/again**](https://api.iamport.kr/#!/subscribe/again) diff --git a/src/content/docs/en/api/api/request-non-authenticated-payment-one-time-api.mdx b/src/content/docs/en/api/api/request-non-authenticated-payment-one-time-api.mdx index b23ca8f3d..6953d9f7f 100644 --- a/src/content/docs/en/api/api/request-non-authenticated-payment-one-time-api.mdx +++ b/src/content/docs/en/api/api/request-non-authenticated-payment-one-time-api.mdx @@ -4,440 +4,426 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; Requests payment with credit card information. - -If you pass + + If you pass -**customer_uid** + **customer\_uid** -, the billing key used for a successful payment will be saved for future payments. If customer_uid is not specified, it will not be saved. You cannot reuse the same + , the billing key used for a successful payment will be saved for future payments. If customer\_uid is not specified, it will not be saved. You cannot reuse the same -**merchant_uid** + **merchant\_uid** - for another request. + for another request. + - + ## Parameters -### Parameters + ### Body -#### Body + + + **Order ID** + + - - + + Currency code -**Order ID** + KRW, USD, VND ... + - + + + **Payment amount** + + - - -Currency code + + Tax-free amount + -KRW, USD, VND ... + + **Credit card number** - - - + **(dddd-dddd-dddd-dddd)** + -**Payment amount** + + **Credit card expiration** - + **(YYYY-MM)** + - - -Tax-free amount + + **6-digit DOB** **(yymmdd)** - - -**Credit card number** + (For corporate cards, specify 10-digit business registration number) + -**(dddd-dddd-dddd-dddd)** + + First 2-digits of credit card password + - - -**Credit card expiration** + + CVC code -**(YYYY-MM)** + (last 3 digits (4 digits for AMEX) of the code at the back of the card). Applicable to **Paymentwall only** + - - -**6-digit DOB**** (yymmdd)** + + Specify this value to save the card information as billing key and use it for future payments. + -(For corporate cards, specify 10-digit business registration number) + + + **PG code** + + - - -First 2-digits of credit card password + + Product name + - - -CVC code + + Customer name + -(last 3 digits (4 digits for AMEX) of the code at the back of the card). Applicable to **Paymentwall only** + + Customer email + - - -Specify this value to save the card information as billing key and use it for future payments. + + Customer phone + - - - + + Customer address + -**PG code** + + Customer zip code + - + + Number of installment months + - - -Product name + + Whether or not there are interest-free installments paid by merchants + - - -Customer name + + Custom data + - - -Customer email + + Webhook URL for success notification + - - -Customer phone + + Customer's browser (PC) IP + - - -Customer address + + (For overseas PG only) Payment ID issued by PG for another payment after 3D secure authentication + - - -Customer zip code + + (For overseas PG only) Token issued by PG for another payment after 3D secure authentication + - - -Number of installment months + ### Responses - - -Whether or not there are interest-free installments paid by merchants + + + + **`code`** **\*** **integer** - - -Custom data + **Response code** - - -Webhook URL for success notification + 0: success, Not 0: check the message - - -Customer's browser (PC) IP + **`message`** **\*** **string** - - -(For overseas PG only) Payment ID issued by PG for another payment after 3D secure authentication + **Response message** - - -(For overseas PG only) Token issued by PG for another payment after 3D secure authentication + A non-zero code includes a message like 'Invalid payment info'. - + **`response`** **(PaymentAnnotation, optional)** + + -### Responses + + + **`code`** **\*** **integer** - - - -**`code`** **\***** ****integer** + **`Response code`** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***** ****string** + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info. -A non-zero code includes a message like 'Invalid payment info'. + **`imp_uid`** \* **string** -**`response`** **(PaymentAnnotation, optional)** + **i'mport payment transaction UID** - - + **`merchant_uid`** **\*** **string** - - -**`code`** **\***** ****integer** + **Order ID** -**`Response code`** + **`pay_method`** **\*** **string** -0: success, Not 0: check the message + **Payment method code** -**`message`** **\***** ****string** + **`channel`** **\*** **string** -**Response message** + **Payment environment code** -A non-zero code includes a message like 'Invalid payment info. + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**`imp_uid`** \* **string** + **`pg_provider`** **\*** **string** -**i'mport payment transaction UID** + **PG code** -**`merchant_uid`** **\***** ****string** + --- -**Order ID** + **`emb_pg_provider`** **\*** **string** -**`pay_method`** **\***** ****string** + **Hub-type PG code** -**Payment method code** + **`pg_tid`** **\*** **string** -**`channel`** **\***** ****string** + **PG transaction ID** -**Payment environment code** + **`pg_id`** **\*** **string** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **PG MID** -**`pg_provider`** **\***** ****string** + **`escrow`** **boolean** -**PG code** + **Indicates an escrow payment** ---- + **`apply_num`** **string** -**`emb_pg_provider`** **\***** ****string** + **Credit card approval number** -**Hub-type PG code** + **`bank_code`** **string** -**`pg_tid`** **\*** **string** + **Bank code** -**PG transaction ID** + **`bank_name`** **string** -**`pg_id`** **\***** ****string** + **Bank name** -**PG MID** + --- -**`escrow`** **boolean** + **`card_code`** **string** -**Indicates an escrow payment** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**`apply_num`** **string** + **`card_name`** **string** -**Credit card approval number** + **Credit card name** -**`bank_code`** **string** + **`card_quota`** **integer** -**Bank code** + **Number of installments (0 means one-off)** -**`bank_name`** **string** + **`card_number`** **string** -**Bank name** + **Masked credit card number** ---- + --- -**`card_code`** **string** + **`card_type`** **string** -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **Credit card type code** -**`card_name`** **string** + - 0: credit + - 1: check -**Credit card name** + **`vbank_code`** **string** -**`card_quota`** **integer** + **Virtual account bank code (refer to image below)** -**Number of installments (0 means one-off)** + --- -**`card_number`** **string** + **`vbank_name`** **string** -**Masked credit card number** + **Refund virtual account** ---- + **`vbank_holder`** **string** -**`card_type`** **string** + **Refund virtual account holder** -**Credit card type code** + **`vbank_date`** **string** -- 0: credit -- 1: check + **Refund virtual account expiration (UNIX timestamp)** -**`vbank_code`** **string** + **`vbank_issued_at`** **string** -**Virtual account bank code (refer to image below)** + **Refund virtual account created at (UNIX timestamp)** ---- - -**`vbank_name`** **string** - -**Refund virtual account** + **`name`** **string** -**`vbank_holder`** **string** + **Product name** -**Refund virtual account holder** + **`amount`** **\*** **integer** -**`vbank_date`** **string** + **Order (payment) amount** -**Refund virtual account expiration (UNIX timestamp)** + **`cancel_amount`** **integer** -**`vbank_issued_at`** **string** + **Cancelled amount** -**Refund virtual account created at (UNIX timestamp)** + **`currency`** **string** -**`name`** **string** + **Currency** -**Product name** + - USD + - KRW + - EUR -**`amount`** **\*** **integer** + --- -**Order (payment) amount** + **`buyer_name`** **string** -**`cancel_amount`** **integer** + **Customer name** -**Cancelled amount** + **`buyer_email`** **string** -**`currency`** **string** + **Customer email** -**Currency** - -- USD -- KRW -- EUR - ---- + **`buyer_tel`** **string** -**`buyer_name`** **string** + **Customer phone** -**Customer name** + **`buyer_addr`** **string** -**`buyer_email`** **string** + **Customer address** -**Customer email**\ + **`buyer_postcode`** **string** -**`buyer_tel`** **string** + **Customer zip code** -**Customer phone** + **`custom_data`** **string** -**`buyer_addr`** **string** + **echo data as JSON string** -**Customer address** + **`user_agent`** **string** -**`buyer_postcode`** **string** + **UserAgent of the device where payment is initiated** -**Customer zip code** + **`status`** **\*** **string** -**`custom_data`** **string** + **Payment status code** -**echo data as JSON string** + - ready + - paid + - cancelled + - failed -**`user_agent`** **string** + **`started_at`** **\*** **string** -**UserAgent of the device where payment is initiated** + **Payment started at (UNIX timestamp)** -**`status`** **\***** ****string** + **`paid_at`** **\*** **string** -**Payment status code** + **Payment completed at (UNIX timestamp)**\\ -- ready -- paid -- cancelled -- failed + **`failed_at`** **\*** **string** -**`started_at`** **\*** **string** + **Payment failed at (UNIX timestamp)** -**Payment started at (UNIX timestamp)** + **`cancelled_at`** **\*** **string** -**`paid_at`** **\***** ****string** + **Payment cancelled at (UNIX timestamp)** -**Payment completed at (UNIX timestamp)**\ + **`fail_reason`** **string** -**`failed_at`** **\***** ****string** + **Reason for failure** -**Payment failed at (UNIX timestamp)** + **`cancel_reason`** **string** -**`cancelled_at`** **\***** ****string** + **Reason for cancellation** -**Payment cancelled at (UNIX timestamp)** + **`receipt_url`** **string** -**`fail_reason`** **string** + **Credit card receipt URL** -**Reason for failure** + **`cash_receipt_issued`** **boolean** -**`cancel_reason`** **string** + **Option to automatically issue cash receipt** -**Reason for cancellation** + **`customer_uid`** **string** -**`receipt_url`** **string** + **customer\_uid related to the payment transaction** -**Credit card receipt URL** + **`customer_uid_usage`** **string** -**`cash_receipt_issued` ****boolean** + **customer\_uid use code** -**Option to automatically issue cash receipt** + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance -**`customer_uid`** **string** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**customer\_uid related to the payment transaction** + **`Cancellation/partial cancellation history`** + + -**`customer_uid_usage`** **string** + + + **cancel\_history array \[]** -**customer\_uid use code** + **`pg_tid`** **\*** **string** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **PG cancellation transaction ID** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`amount`** **\*** **integer** -**`Cancellation/partial cancellation history`** + **Cancelled amount** - - + **`cancelled_at`** **\*** **string** - - -**cancel\_history array \[]** + **Cancelled at (UNIX timestamp)** -**`pg_tid`** **\***** ****string** + **`reason`** **\*** **string(256)** -**PG cancellation transaction ID** + **Reason for cancellation** -**`amount`** **\*** **integer** + **`receipt_url`** **\*** **string(300)** -**Cancelled amount** - -**`cancelled_at`** **\*** **string** - -**Cancelled at (UNIX timestamp)** - -**`reason`** **\*** **string(256)** - -**Reason for cancellation** - -**`receipt_url`** **\***** ****string(300)** - -**Cancellation receipt URL. Availability varies by PG.** - - - - - - - -```javascript -{ - // Response -} -``` - - + **Cancellation receipt URL. Availability varies by PG.** + + + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -503,79 +489,77 @@ A non-zero code includes a message like 'Invalid payment info. > with this customer\_uid value in the future.
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe/onetime**](https://api.iamport.kr/#!/subscribe/onetime) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe/onetime**](https://api.iamport.kr/#!/subscribe/onetime) diff --git a/src/content/docs/en/api/billing-key-api/api-1.mdx b/src/content/docs/en/api/billing-key-api/api-1.mdx index e3e52e7f4..5aab51919 100644 --- a/src/content/docs/en/api/billing-key-api/api-1.mdx +++ b/src/content/docs/en/api/billing-key-api/api-1.mdx @@ -4,207 +4,194 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Requests a billing key with credit card information. +## Requests a billing key with credit card information. - - - - -### Parameters - -#### Path - - - - -**Billing key** - - + - + ### Parameters -#### Body + #### Path - -**PG code** + + + **Billing key** + + - - -**Credit card number** + #### Body -**XXXX-XXXX-XXXX-XXXX** + + **PG code** + - - -**Credit card expiration** + + **Credit card number** -**YYYY-MM** + **XXXX-XXXX-XXXX-XXXX** + - - -**6-digit DOB** + + **Credit card expiration** -**10-digit business registration number for corporate card** + **YYYY-MM** + - - -**First 2-digits of credit card password** + + **6-digit DOB** - - -**CVC code** + **10-digit business registration number for corporate card** + - - -**Card holder** + + **First 2-digits of credit card password** + - - -**Card holder's phone** + + **CVC code** + - - -**Card holder's email** + + **Card holder** + - - -**Card holder's address** + + **Card holder's phone** + - - -Card holder's zip code + + **Card holder's email** + - - -Customer ID ( + + **Card holder's address** + - + + Card holder's zip code + -**For Toss Payments only** + + Customer ID ( - + + **For Toss Payments only** + -) + ) + - + ### Responses -### Responses + + + + **`code`** **\*** **integer** - - - -**`code`** **\***** ****integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***\*\* ****string\*\* + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + **`response`** **(CustomerAnnotation, optional)** + + -**`response`** **(CustomerAnnotation, optional)** + + + **`code`** **\*** **integer** - - + **Response code** - - -**`code`** **\*** **integer** + 0: success, Not 0: check the message -**Response code** + **`message`** **\*** **string** -0: success, Not 0: check the message + **Response message** -**`message`** **\***\*\* ****string\*\* + A non-zero code includes a message like 'Invalid payment info'. -**Response message** + **`customer_uid`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **`Customer ID`** -**`customer_uid`** **\*** **string** + **`pg_provider`** **\*** **string** -**`Customer ID`**\ + **PG code for billing key** -**`pg_provider`** **\***\*\* ****string\*\* + **`pg_id`** **\*** **string** -**PG code for billing key** + **PG merchant ID (MID) for billing key** -**`pg_id`** **\***\*\* ****string\*\* + **`card_name`** **\*** **string** -**PG merchant ID (MID) for billing key** + **`Credit card name`** -**`card_name`** **\*** **string** + **`card_code`** **\*** **string** -**`Credit card name`** + **`Credit card code`** -**`card_code`** **\***\*\* ****string\*\* + **`card_number`** **\*** **string** -**`Credit card code`** + **`Masked card number`** -**`card_number`** **\***\*\* ****string\*\* + **`card_type`** **\*** **string** -**`Masked card number`** + **`Credit card type`** -**`card_type`** **\***\*\* ****string\*\* + **Not supported in some PGs (returns null)** -**`Credit card type`** + **`customer_name`** **\*** **string** -**Not supported in some PGs (returns null)** + **`Customer name`** -**`customer_name`** **\***\*\* ****string\*\* + **`customer_tel`** **\*** **string** -**`Customer name`** + **`Customer phone`** -**`customer_tel`** **\*** **string** + **`customer_email`** **\*** **string** -**`Customer phone`** + **`Customer email`** -**`customer_email`** **\***\*\* ****string\*\* + **`customer_addr`** **\*** **string** -**`Customer email`** + **`Customer address`** -**`customer_addr`** **\***\*\* ****string\*\* + **`customer_postcode`** **\*** **string** -**`Customer address`** + **`Customer zip code`** -**`customer_postcode`** **\***\*\* ****string\*\* + **`inserted`** **\*** **integer** -**`Customer zip code`** + **`Billing key issued at`** (UNIX timestamp) -**`inserted`** **\***\*\* ****integer\*\* + **`updated`** **\*** **integer** -**`Billing key issued at`** (UNIX timestamp) - -**`updated`** **\***\*\* ****integer\*\* - -**`Billing key updated at`** (UNIX timestamp) - - - - - - - -```javascript -{ - // Response -} -``` - - + **`Billing key updated at`** (UNIX timestamp) + + + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -225,52 +212,49 @@ A non-zero code includes a message like 'Invalid payment info'. > > May be omitted for some PGs upon pre-agreement. -> **` customer_id`` `****`string`** +> **`customer_id`** **`string`** > > **`Customer ID`** > > **For Toss Payments only** -**Using this API requires a pre-agreement with the PG.** - -- You may modify the required card information upon agreement with the PG. -- Special attention to security is required due to using sensitive card information. -- The `customer_uid` must be unique and issued per **customer-card number** pair. + **Using this API requires a pre-agreement with the PG.** + - You may modify the required card information upon agreement with the PG. + - Special attention to security is required due to using sensitive card information. + - The `customer_uid` must be unique and issued per **customer-card number** pair.
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "customer_uid": "string", - "pg_provider": "string", - "pg_id": "string", - "card_name": "string", - "card_code": "string", - "card_number": "string", - "card_type": "null", - "customer_name": "string", - "customer_tel": "string", - "customer_email": "string", - "customer_addr": "string", - "customer_postcode": "string", - "inserted": 0, - "updated": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "customer_uid": "string", + "pg_provider": "string", + "pg_id": "string", + "card_name": "string", + "card_code": "string", + "card_number": "string", + "card_type": "null", + "customer_name": "string", + "customer_tel": "string", + "customer_email": "string", + "customer_addr": "string", + "customer_postcode": "string", + "inserted": 0, + "updated": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe.customer/customer_save**](https://api.iamport.kr/#!/subscribe.customer/customer_save) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe.customer/customer\_save**](https://api.iamport.kr/#!/subscribe.customer/customer_save) diff --git a/src/content/docs/en/api/billing-key-api/delete-billing-key-api.mdx b/src/content/docs/en/api/billing-key-api/delete-billing-key-api.mdx index 239fbb720..5fc894b9d 100644 --- a/src/content/docs/en/api/billing-key-api/delete-billing-key-api.mdx +++ b/src/content/docs/en/api/billing-key-api/delete-billing-key-api.mdx @@ -4,198 +4,185 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Deletes a billing key. You must check for any scheduled payments on the billing key. +## Deletes a billing key. You must check for any scheduled payments on the billing key. - -A deleted billing key cannot be restored. - - - -### Parameters - -#### Path - - - - -**Billing key** + + A deleted billing key cannot be restored. + - + ### Parameters - + #### Path -#### Query + + + **Billing key** + + - -**Reason for deletion** + #### Query - - -**Requester** + + **Reason for deletion** + -(for Naver Pay only) + + **Requester** - + (for Naver Pay only) + -### Responses + ### Responses - - - -**`code`** **\***** ****integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***\*\* ****string\*\* + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. -**`response`** **(CustomerAnnotation, optional)** + **`response`** **(CustomerAnnotation, optional)** + + - - + + + **`code`** **\*** **integer** - - -**`code`** **\*** **integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***\*\* ****string\*\* + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + **`customer_uid`** **\*** **string** -**`customer_uid`** **\*** **string** + **`Customer ID`** -**`Customer ID`**\ + **`pg_provider`** **\*** **string** -**`pg_provider`** **\***\*\* ****string\*\* + **PG code for billing key** -**PG code for billing key** + **`pg_id`** **\*** **string** -**`pg_id`** **\***\*\* ****string\*\* + **PG merchant ID (MID) for billing key** -**PG merchant ID (MID) for billing key** + **`card_name`** **\*** **string** -**`card_name`** **\*** **string** + **`Credit card name`** -**`Credit card name`** + **`card_code`** **\*** **string** -**`card_code`** **\***\*\* ****string\*\* + **`Credit card code`** -**`Credit card code`** + **`card_number`** **\*** **string** -**`card_number`** **\***\*\* ****string\*\* + **`Masked card number`** -**`Masked card number`** + **`card_type`** **\*** **string** -**`card_type`** **\***\*\* ****string\*\* + **`Credit card type`** -**`Credit card type`** + **Not supported in some PGs (returns null)** -**Not supported in some PGs (returns null)** + **`customer_name`** **\*** **string** -**`customer_name`** **\***\*\* ****string\*\* + **`Customer name`** -**`Customer name`** + **`customer_tel`** **\*** **string** -**`customer_tel`** **\*** **string** + **`Customer phone`** -**`Customer phone`** + **`customer_email`** **\*** **string** -**`customer_email`** **\***\*\* ****string\*\* + **`Customer email`** -**`Customer email`** + **`customer_addr`** **\*** **string** -**`customer_addr`** **\***\*\* ****string\*\* + **`Customer address`** -**`Customer address`** + **`customer_postcode`** **\*** **string** -**`customer_postcode`** **\***\*\* ****string\*\* + **`Customer zip code`** -**`Customer zip code`** + **`inserted`** **\*** **integer** -**`inserted`** **\***\*\* ****integer\*\* + **`Billing key issued at`** (UNIX timestamp) -**`Billing key issued at`** (UNIX timestamp) + **`updated`** **\*** **integer** -**`updated`** **\***\*\* ****integer\*\* + **`Billing key updated at`** (UNIX timestamp) + + + -**`Billing key updated at`** (UNIX timestamp) - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "customer_uid": "string", - "pg_provider": "string", - "pg_id": "string", - "card_name": "string", - "card_code": "string", - "card_number": "string", - "card_type": "null", - "customer_name": "string", - "customer_tel": "string", - "customer_email": "string", - "customer_addr": "string", - "customer_postcode": "string", - "inserted": 0, - "updated": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "customer_uid": "string", + "pg_provider": "string", + "pg_id": "string", + "card_name": "string", + "card_code": "string", + "card_number": "string", + "card_type": "null", + "customer_name": "string", + "customer_tel": "string", + "customer_email": "string", + "customer_addr": "string", + "customer_postcode": "string", + "inserted": 0, + "updated": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe.customer/customer_delete**](https://api.iamport.kr/#!/subscribe.customer/customer_delete) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe.customer/customer\_delete**](https://api.iamport.kr/#!/subscribe.customer/customer_delete) diff --git a/src/content/docs/en/api/billing-key-api/get-billing-key-api.mdx b/src/content/docs/en/api/billing-key-api/get-billing-key-api.mdx index 44c98eea2..88fa2a1eb 100644 --- a/src/content/docs/en/api/billing-key-api/get-billing-key-api.mdx +++ b/src/content/docs/en/api/billing-key-api/get-billing-key-api.mdx @@ -4,184 +4,171 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets details of a billing key. +## Gets details of a billing key. - - - - -### Parameters - -#### Path - - - + -**Billing key** + ### Parameters - + #### Path - + + + **Billing key** + + -### Responses + ### Responses - - - -**`code`** **\***** ****integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***\*\* ****string\*\* + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. -**`response`** **(CustomerAnnotation, optional)** + **`response`** **(CustomerAnnotation, optional)** + + - - + + + **`code`** **\*** **integer** - - -**`code`** **\*** **integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***\*\* ****string\*\* + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + **`customer_uid`** **\*** **string** -**`customer_uid`** **\*** **string** + **`Customer ID`** -**`Customer ID`**\ + **`pg_provider`** **\*** **string** -**`pg_provider`** **\***\*\* ****string\*\* + **PG code for billing key** -**PG code for billing key** + **`pg_id`** **\*** **string** -**`pg_id`** **\***\*\* ****string\*\* + **PG merchant ID (MID) for billing key** -**PG merchant ID (MID) for billing key** + **`card_name`** **\*** **string** -**`card_name`** **\*** **string** + **`Credit card name`** -**`Credit card name`** + **`card_code`** **\*** **string** -**`card_code`** **\***\*\* ****string\*\* + **`Credit card code`** -**`Credit card code`** + **`card_number`** **\*** **string** -**`card_number`** **\***\*\* ****string\*\* + **`Masked card number`** -**`Masked card number`** + **`card_type`** **\*** **string** -**`card_type`** **\***\*\* ****string\*\* + **`Credit card type`** -**`Credit card type`** + **Not supported in some PGs (returns null)** -**Not supported in some PGs (returns null)** + **`customer_name`** **\*** **string** -**`customer_name`** **\***\*\* ****string\*\* + **`Customer name`** -**`Customer name`** + **`customer_tel`** **\*** **string** -**`customer_tel`** **\*** **string** + **`Customer phone`** -**`Customer phone`** + **`customer_email`** **\*** **string** -**`customer_email`** **\***\*\* ****string\*\* + **`Customer email`** -**`Customer email`** + **`customer_addr`** **\*** **string** -**`customer_addr`** **\***\*\* ****string\*\* + **`Customer address`** -**`Customer address`** + **`customer_postcode`** **\*** **string** -**`customer_postcode`** **\***\*\* ****string\*\* + **`Customer zip code`** -**`Customer zip code`** + **`inserted`** **\*** **integer** -**`inserted`** **\***\*\* ****integer\*\* + **`Billing key issued at`** (UNIX timestamp) -**`Billing key issued at`** (UNIX timestamp) + **`updated`** **\*** **integer** -**`updated`** **\***\*\* ****integer\*\* + **`Billing key updated at`** (UNIX timestamp) + + + -**`Billing key updated at`** (UNIX timestamp) - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "customer_uid": "string", - "pg_provider": "string", - "pg_id": "string", - "card_name": "string", - "card_code": "string", - "card_number": "string", - "card_type": "null", - "customer_name": "string", - "customer_tel": "string", - "customer_email": "string", - "customer_addr": "string", - "customer_postcode": "string", - "inserted": 0, - "updated": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "customer_uid": "string", + "pg_provider": "string", + "pg_id": "string", + "card_name": "string", + "card_code": "string", + "card_number": "string", + "card_type": "null", + "customer_name": "string", + "customer_tel": "string", + "customer_email": "string", + "customer_addr": "string", + "customer_postcode": "string", + "inserted": 0, + "updated": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe.customer/customer_view**](https://api.iamport.kr/#!/subscribe.customer/customer_view) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe.customer/customer\_view**](https://api.iamport.kr/#!/subscribe.customer/customer_view) diff --git a/src/content/docs/en/api/billing-key-api/get-billing-keys-api.mdx b/src/content/docs/en/api/billing-key-api/get-billing-keys-api.mdx index 9ef6dd6d4..793df1119 100644 --- a/src/content/docs/en/api/billing-key-api/get-billing-keys-api.mdx +++ b/src/content/docs/en/api/billing-key-api/get-billing-keys-api.mdx @@ -4,195 +4,183 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets details of multiple billing keys. +## Gets details of multiple billing keys. - -Gets details (card info) of billing keys for the specified array of customer_uid - -_s._ - -Each card is mapped to a unique - -**customer_uid** - -. - - - -### Parameters - -#### Query - - - + + Gets details (card info) of billing keys for the specified array of customer\_uid -**Billing key** + _s._ - + Each card is mapped to a unique - + **customer\_uid** -### Responses + . + - - - -**`code`** **\***** ****integer** + ### Parameters -**Response code** + #### Query -0: success, Not 0: check the message + + + **Billing key** + + -**`message`** **\***\*\* ****string\*\* + ### Responses -**Response message** + + + + **`code`** **\*** **integer** -A non-zero code includes a message like 'Invalid payment info'. + **Response code** -**`response`** **(CustomerAnnotation, optional)** + 0: success, Not 0: check the message - - + **`message`** **\*** **string** - - -**`code`** **\*** **integer** + **Response message** -**Response code** + A non-zero code includes a message like 'Invalid payment info'. -0: success, Not 0: check the message + **`response`** **(CustomerAnnotation, optional)** + + -**`message`** **\***\*\* ****string\*\* + + + **`code`** **\*** **integer** -**Response message** + **Response code** -A non-zero code includes a message like 'Invalid payment info'. + 0: success, Not 0: check the message -**`customer_uid`** **\*** **string** + **`message`** **\*** **string** -**`Customer ID`**\ + **Response message** -**`pg_provider`** **\***\*\* ****string\*\* + A non-zero code includes a message like 'Invalid payment info'. -**PG code for billing key** + **`customer_uid`** **\*** **string** -**`pg_id`** **\***\*\* ****string\*\* + **`Customer ID`** -**PG merchant ID (MID) for billing key** + **`pg_provider`** **\*** **string** -**`card_name`** **\*** **string** + **PG code for billing key** -**`Credit card name`** + **`pg_id`** **\*** **string** -**`card_code`** **\***\*\* ****string\*\* + **PG merchant ID (MID) for billing key** -**`Credit card code`** + **`card_name`** **\*** **string** -**`card_number`** **\***\*\* ****string\*\* + **`Credit card name`** -**`Masked card number`** + **`card_code`** **\*** **string** -**`card_type`** **\***\*\* ****string\*\* + **`Credit card code`** -**`Credit card type`** + **`card_number`** **\*** **string** -**Not supported in some PGs (returns null)** + **`Masked card number`** -**`customer_name`** **\***\*\* ****string\*\* + **`card_type`** **\*** **string** -**`Customer name`** + **`Credit card type`** -**`customer_tel`** **\*** **string** + **Not supported in some PGs (returns null)** -**`Customer phone`** + **`customer_name`** **\*** **string** -**`customer_email`** **\***\*\* ****string\*\* + **`Customer name`** -**`Customer email`** + **`customer_tel`** **\*** **string** -**`customer_addr`** **\***\*\* ****string\*\* + **`Customer phone`** -**`Customer address`** + **`customer_email`** **\*** **string** -**`customer_postcode`** **\***\*\* ****string\*\* + **`Customer email`** -**`Customer zip code`** + **`customer_addr`** **\*** **string** -**`inserted`** **\***\*\* ****integer\*\* + **`Customer address`** -**`Billing key issued at`** (UNIX timestamp) + **`customer_postcode`** **\*** **string** -**`updated`** **\***\*\* ****integer\*\* + **`Customer zip code`** -**`Billing key updated at`** (UNIX timestamp) + **`inserted`** **\*** **integer** - - + **`Billing key issued at`** (UNIX timestamp) - + **`updated`** **\*** **integer** - -```javascript -{ - // Response -} -``` + **`Billing key updated at`** (UNIX timestamp) + + + - - - -```javascript -{ - // Response -} -``` - - - - - -
-

Response Model Schema

+ + ```ts + { + // Response + } + ``` + -```json -{ - "code": 0, - "message": "string", - "response": [ + + ```ts { - "customer_uid": "string", - "pg_provider": "string", - "pg_id": "string", - "card_name": "string", - "card_code": "string", - "card_number": "string", - "card_type": "null", - "customer_name": "string", - "customer_tel": "string", - "customer_email": "string", - "customer_addr": "string", - "customer_postcode": "string", - "inserted": 0, - "updated": 0 + // Response } - ] -} -``` + ``` + + +
+

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "customer_uid": "string", + "pg_provider": "string", + "pg_id": "string", + "card_name": "string", + "card_code": "string", + "card_number": "string", + "card_type": "null", + "customer_name": "string", + "customer_tel": "string", + "customer_email": "string", + "customer_addr": "string", + "customer_postcode": "string", + "inserted": 0, + "updated": 0 + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe.customer/customer_view_multiple**](https://api.iamport.kr/#!/subscribe.customer/customer_view_multiple) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe.customer/customer\_view\_multiple**](https://api.iamport.kr/#!/subscribe.customer/customer_view_multiple) diff --git a/src/content/docs/en/api/billing-key-api/get-scheduled-payments-api.mdx b/src/content/docs/en/api/billing-key-api/get-scheduled-payments-api.mdx index 632651f0a..01995d2ca 100644 --- a/src/content/docs/en/api/billing-key-api/get-scheduled-payments-api.mdx +++ b/src/content/docs/en/api/billing-key-api/get-scheduled-payments-api.mdx @@ -4,223 +4,210 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets scheduled payments by billing key. +## Gets scheduled payments by billing key. - -Returns scheduled payments using pagination (up to 3 months period). - - - -### Parameters - -#### Path - - - - -**Billing key** - - - - - -#### Query + + Returns scheduled payments using pagination (up to 3 months period). + - -**Search result paging** + ### Parameters -Starts at 1 (default: 1) + #### Path - - -**Search start time** + + + **Billing key** + + -UNIX timestamp + #### Query - - -**Search end time** + + **Search result paging** -UNIX timestamp + Starts at 1 (default: 1) + - - -**Schedule status** + + **Search start time** -If not specified, returns for all status + UNIX timestamp + -`scheduled` + + **Search end time** -`executed` + UNIX timestamp + -`revoked` + + **Schedule status** - + If not specified, returns for all status -### Responses + `scheduled` - - - -**`code`** **\***** ****integer** + `executed` -**Response code** + `revoked` + -0: success, Not 0: check the message + ### Responses -**`message`** **\***** ****string** + + + + **`code`** **\*** **integer** -**Response message** + **Response code** -A non-zero code includes a message like 'Invalid payment info'. + 0: success, Not 0: check the message -**`response`** **(CustomerAnnotation, optional)** + **`message`** **\*** **string** - - + **Response message** - - -**`code`** **\*** **integer** + A non-zero code includes a message like 'Invalid payment info'. -**Response code** + **`response`** **(CustomerAnnotation, optional)** + + -0: success, Not 0: check the message + + + **`code`** **\*** **integer** -**`message`** **\***** ****string** + **Response code** -**Response message** + 0: success, Not 0: check the message -A non-zero code includes a message like 'Invalid payment info'. + **`message`** **\*** **string** -**`customer_uid`** **\*** **string** + **Response message** -**`Customer ID`**\ + A non-zero code includes a message like 'Invalid payment info'. -**`pg_provider`** **\***** ****string** + **`customer_uid`** **\*** **string** -**PG code for billing key** + **`Customer ID`** -**`pg_id`** **\***** ****string** + **`pg_provider`** **\*** **string** -**PG merchant ID (MID) for billing key** + **PG code for billing key** -**`card_name`** **\*** **string** + **`pg_id`** **\*** **string** -**`Credit card name`** + **PG merchant ID (MID) for billing key** -**`card_code`** **\***** ****string** + **`card_name`** **\*** **string** -**`Credit card code`** + **`Credit card name`** -**`card_number`** **\***** ****string** + **`card_code`** **\*** **string** -**`Masked card number`** + **`Credit card code`** -**`card_type`** **\***** ****string** + **`card_number`** **\*** **string** -**`Credit card type`** + **`Masked card number`** -**Not supported in some PGs (returns null)** + **`card_type`** **\*** **string** -**`customer_name`** **\***** ****string** + **`Credit card type`** -**`Customer name`** + **Not supported in some PGs (returns null)** -**`customer_tel`** **\*** **string** + **`customer_name`** **\*** **string** -**`Customer phone`** + **`Customer name`** -**`customer_email`** **\***** ****string** + **`customer_tel`** **\*** **string** -**`Customer email`** + **`Customer phone`** -**`customer_addr`** **\***** ****string** + **`customer_email`** **\*** **string** -**`Customer address`** + **`Customer email`** -**`customer_postcode`** **\***** ****string** + **`customer_addr`** **\*** **string** -**`Customer zip code`** + **`Customer address`** -**`inserted`** **\***** ****integer** + **`customer_postcode`** **\*** **string** -**`Billing key issued at`** (UNIX timestamp) + **`Customer zip code`** -**`updated`** **\***** ****integer** + **`inserted`** **\*** **integer** -**`Billing key updated at`** (UNIX timestamp) + **`Billing key issued at`** (UNIX timestamp) - - + **`updated`** **\*** **integer** - + **`Billing key updated at`** (UNIX timestamp) + + + - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - - -
-

Response Model Schema

+ + ```ts + { + // Response + } + ``` + -```json -{ - "code": 0, - "message": "string", - "response": [ + + ```ts { - "customer_uid": "string", - "merchant_uid": "string", - "imp_uid": "string", - "schedule_at": "0", - "executed_at": "0", - "revoked_at": "0", - "amount": 0, - "name": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "schedule_status": "scheduled", - "payment_status": "paid", - "fail_reason": "string" + // Response } - ] -} -``` + ``` + + +
+

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "customer_uid": "string", + "merchant_uid": "string", + "imp_uid": "string", + "schedule_at": "0", + "executed_at": "0", + "revoked_at": "0", + "amount": 0, + "name": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "schedule_status": "scheduled", + "payment_status": "paid", + "fail_reason": "string" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe.customer/findSchedulesByCustomer**](https://api.iamport.kr/#!/subscribe.customer/findSchedulesByCustomer) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe.customer/findSchedulesByCustomer**](https://api.iamport.kr/#!/subscribe.customer/findSchedulesByCustomer) diff --git a/src/content/docs/en/api/cash-receipt-api/cancel-cash-receipt-external-api.mdx b/src/content/docs/en/api/cash-receipt-api/cancel-cash-receipt-external-api.mdx index 8227b0abb..7578eb771 100644 --- a/src/content/docs/en/api/cash-receipt-api/cancel-cash-receipt-external-api.mdx +++ b/src/content/docs/en/api/cash-receipt-api/cancel-cash-receipt-external-api.mdx @@ -4,185 +4,168 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Cancels a cash receipt issued for an external transaction. +## Cancels a cash receipt issued for an external transaction.
-

Supported PGs

- -- **KG INICIS** -- **NHN KCP** -- **Settle Bank** -- **NICE Payments** -- **PAYJOA (Daou)** -- **KICC** - +

Supported PGs

+ + - **KG INICIS** + - **NHN KCP** + - **Settle Bank** + - **NICE Payments** + - **PAYJOA (Daou)** + - **KICC**
- -This cancels the issuance of a cash receipt for a payment processed externally through an i'mport supported PG. Pass the - -**merchant_uid** - -, the unique order number for the cash transaction, that was used to request the issuance of cash receipt. - - - -### Parameters - -#### Path + + This cancels the issuance of a cash receipt for a payment processed externally through an i'mport supported PG. Pass the - - + **merchant\_uid** -**i'mport transaction ID** + , the unique order number for the cash transaction, that was used to request the issuance of cash receipt. + - + ### Parameters - + #### Path - + + + **i'mport transaction ID** + + -### Responses + ### Responses - - - -**`code`** **\***** ****integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***** ****string** + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. -**`response`****`(ExternalReceiptAnnotation, optional)`** + **`response`****`(ExternalReceiptAnnotation, optional)`** + + - - + + + **`imp_uid`` `****`*`****`string`** - - -**`imp_uid`` `****`*`****`string`** + **`i'mport transaction ID`** -**`i'mport transaction ID`** + **`receipt_tid`` `****`string`** -**`receipt_tid`` `****`string`** + **`Cash receipt ID issued by PG`** -**`Cash receipt ID issued by PG`** + **`apply_num`****`*`****`string`** -**`apply_num`****`*`****`string`** + **`Cash receipt ID issued by National Tax Service`** -**`Cash receipt ID issued by National Tax Service`** + **`type`` `****`*`****`string`** -**`type`` `****`*`****`string`** + **`Recipient type`** -**`Recipient type`** + - Personal use: `person` + - Business use: `company` -- Personal use: `person` -- Business use: `company` + **`amount`****`*`****`integer`** -**`amount`****`*`****`integer`** + **`Cash receipt Amount`** -**`Cash receipt Amount`** + **`vat`****`*`****`integer`** -**`vat`****`*`****`integer`** + **`VAT`** -**`VAT`** + **`receipt_url`` `****`string`** -**`receipt_url`` `****`string`** + **`Cash receipt URL`** -**`Cash receipt URL`** + **`applied_at`****`*`****`integer`** -**`applied_at`****`*`****`integer`** + **Issued at** `UNIX TIMESTAMP` -**Issued at** `UNIX TIMESTAMP` + **`cancelled_at`` `****`integer`** -**`cancelled_at`` `****`integer`** + **`Cancelled at`** `UNIX TIMESTAMP` + + + -**`Cancelled at`** `UNIX TIMESTAMP` + + ```ts + { + // Response + } + ``` + - - + + ```ts + { + // Response + } + ``` + - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "merchant_uid": "string", - "receipt_tid": "string", - "apply_num": "string", - "type": "person", - "amount": 0, - "vat": 0, - "receipt_url": "string", - "applied_at": 0, - "cancelled_at": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "merchant_uid": "string", + "receipt_tid": "string", + "apply_num": "string", + "type": "person", + "amount": 0, + "vat": 0, + "receipt_url": "string", + "applied_at": 0, + "cancelled_at": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/receipts/revokeExternalReceipt**](https://api.iamport.kr/#!/receipts/revokeExternalReceipt) + **Swagger Test Link** + [**https://api.iamport.kr/#!/receipts/revokeExternalReceipt**](https://api.iamport.kr/#!/receipts/revokeExternalReceipt) diff --git a/src/content/docs/en/api/cash-receipt-api/cancel-cash-receipt-transaction-api.mdx b/src/content/docs/en/api/cash-receipt-api/cancel-cash-receipt-transaction-api.mdx index 4c89abbc0..8f115e025 100644 --- a/src/content/docs/en/api/cash-receipt-api/cancel-cash-receipt-transaction-api.mdx +++ b/src/content/docs/en/api/cash-receipt-api/cancel-cash-receipt-transaction-api.mdx @@ -4,180 +4,164 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Cancels cash receipt transaction processed through i'mport. +## Cancels cash receipt transaction processed through i'mport.
-

Supported PGs

- -- **KG INICIS** -- **NHN KCP** -- **Settle Bank** -- **NICE Payments** -- **PAYJOA (Daou)** -- **KICC** - +

Supported PGs

+ + - **KG INICIS** + - **NHN KCP** + - **Settle Bank** + - **NICE Payments** + - **PAYJOA (Daou)** + - **KICC**
- -(To cancel cash receipt transactions not related to i'mport, refer to - -[**link**](http://localhost:5000/s/wWX2hlvRZLZrXeH1aacF/api/api-8/api-3) - - - -**.** - - - -) + + (To cancel cash receipt transactions not related to i'mport, refer to - + [**link**](http://localhost:5000/s/wWX2hlvRZLZrXeH1aacF/api/api-8/api-3) -### Parameters + + **.** + -#### Path + ) + - - + ### Parameters -**i'mport transaction ID** + #### Path - + + + **i'mport transaction ID** + + - + ### Responses -### Responses + + + + **`code`** **\*** **integer** - - - -**`code`** **\***** ****integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***** ****string** + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + **`response`` `****`(ReceiptAnnotation, optional)`** + + -**`response`` `****`(ReceiptAnnotation, optional)`** + + + **`imp_uid`` `****`*`****`string`** - - + **`i'mport transaction ID`** - - -**`imp_uid`` `****`*`****`string`** + **`receipt_tid`` `****`string`** -**`i'mport transaction ID`** + **`Cash receipt ID issued by PG`** -**`receipt_tid`` `****`string`** + **`apply_num`****`*`****`string`** -**`Cash receipt ID issued by PG`** + **`Cash receipt ID issued by National Tax Service`** -**`apply_num`****`*`****`string`** + **`type`` `****`*`****`string`** -**`Cash receipt ID issued by National Tax Service`** + **`Recipient type`** -**`type`` `****`*`****`string`** + - Personal use: `person` + - Business use: `company` -**`Recipient type`** + **`amount`****`*`****`integer`** -- Personal use: `person` -- Business use: `company` + **`Cash receipt Amount`** -**`amount`****`*`****`integer`** + **`vat`****`*`****`integer`** -**`Cash receipt Amount`** + **`VAT`** -**`vat`****`*`****`integer`** + **`receipt_url`` `****`string`** -**`VAT`** + **`Cash receipt URL`** -**`receipt_url`` `****`string`** + **`applied_at`****`*`****`integer`** -**`Cash receipt URL`** + **Issued at** `UNIX TIMESTAMP` -**`applied_at`****`*`****`integer`** + **`cancelled_at`` `****`integer`** -**Issued at** `UNIX TIMESTAMP` + **`Cancelled at`** `UNIX TIMESTAMP` + + + -**`cancelled_at`` `****`integer`** + + ```ts + { + // Response + } + ``` + -**`Cancelled at`** `UNIX TIMESTAMP` - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "receipt_tid": "string", - "apply_num": "string", - "type": "person", - "amount": 0, - "vat": 0, - "receipt_url": "string", - "applied_at": 0, - "cancelled_at": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "receipt_tid": "string", + "apply_num": "string", + "type": "person", + "amount": 0, + "vat": 0, + "receipt_url": "string", + "applied_at": 0, + "cancelled_at": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/receipts/revokeReceipt**](https://api.iamport.kr/#!/receipts/revokeReceipt) + **Swagger Test Link** + [**https://api.iamport.kr/#!/receipts/revokeReceipt**](https://api.iamport.kr/#!/receipts/revokeReceipt) diff --git a/src/content/docs/en/api/cash-receipt-api/get-cash-receipt-api.mdx b/src/content/docs/en/api/cash-receipt-api/get-cash-receipt-api.mdx index 24ceea8b1..ca11302e3 100644 --- a/src/content/docs/en/api/cash-receipt-api/get-cash-receipt-api.mdx +++ b/src/content/docs/en/api/cash-receipt-api/get-cash-receipt-api.mdx @@ -4,148 +4,135 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets cash receipt information issued via i'mport. +## Gets cash receipt information issued via i'mport. - - - - -### Parameters - -#### Path - - - + -**i'mport transaction ID** + ### Parameters - + #### Path - + + + **i'mport transaction ID** + + -### Responses + ### Responses - - - -**`code`** **\***** ****integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***** ****string** + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. -**`response`` `****`(ReceiptAnnotation, optional)`** + **`response`` `****`(ReceiptAnnotation, optional)`** + + - - + + + **`imp_uid`` `****`*`****`string`** - - -**`imp_uid`` `****`*`****`string`** + **`i'mport transaction ID`** -**`i'mport transaction ID`** + **`receipt_tid`` `****`string`** -**`receipt_tid`` `****`string`** + **`Cash receipt ID issued by PG`** -**`Cash receipt ID issued by PG`** + **`apply_num`****`*`****`string`** -**`apply_num`****`*`****`string`** + **`Cash receipt ID issued by National Tax Service`** -**`Cash receipt ID issued by National Tax Service`** + **`type`` `****`*`****`string`** -**`type`` `****`*`****`string`** + **`Recipient type`** -**`Recipient type`** + - Personal use: `person` + - Business use: `company` -- Personal use: `person` -- Business use: `company` + **`amount`****`*`****`integer`** -**`amount`****`*`****`integer`** + **`Cash receipt Amount`** -**`Cash receipt Amount`** + **`vat`****`*`****`integer`** -**`vat`****`*`****`integer`** + **`VAT`** -**`VAT`** + **`receipt_url`` `****`string`** -**`receipt_url`` `****`string`** + **`Cash receipt URL`** -**`Cash receipt URL`** + **`applied_at`****`*`****`integer`** -**`applied_at`****`*`****`integer`** + **Issued at** `UNIX TIMESTAMP` -**Issued at** `UNIX TIMESTAMP` + **`cancelled_at`` `****`integer`** -**`cancelled_at`` `****`integer`** + **`Cancelled at`** `UNIX TIMESTAMP` + + + -**`Cancelled at`** `UNIX TIMESTAMP` - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "receipt_tid": "string", - "apply_num": "string", - "type": "person", - "amount": 0, - "vat": 0, - "receipt_url": "string", - "applied_at": 0, - "cancelled_at": 0 - } -} -``` - +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "receipt_tid": "string", + "apply_num": "string", + "type": "person", + "amount": 0, + "vat": 0, + "receipt_url": "string", + "applied_at": 0, + "cancelled_at": 0 + } + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/receipts/getReceipt**](https://api.iamport.kr/#!/receipts/getReceipt) + **Swagger Test Link** + [**https://api.iamport.kr/#!/receipts/getReceipt**](https://api.iamport.kr/#!/receipts/getReceipt) diff --git a/src/content/docs/en/api/cash-receipt-api/get-cash-receipt-external-api.mdx b/src/content/docs/en/api/cash-receipt-api/get-cash-receipt-external-api.mdx index b9222bc24..60fc276af 100644 --- a/src/content/docs/en/api/cash-receipt-api/get-cash-receipt-external-api.mdx +++ b/src/content/docs/en/api/cash-receipt-api/get-cash-receipt-external-api.mdx @@ -4,148 +4,135 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets cash receipt information for an external transaction. +## Gets cash receipt information for an external transaction. - - - - -### Parameters - -#### Path - - - + -**i'mport transaction ID** + ### Parameters - + #### Path - + + + **i'mport transaction ID** + + -### Responses + ### Responses - - - -**`code`** **\***** ****integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***** ****string** + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. -**`response`****`(ExternalReceiptAnnotation, optional)`** + **`response`****`(ExternalReceiptAnnotation, optional)`** + + - - + + + **`imp_uid`` `****`*`****`string`** - - -**`imp_uid`` `****`*`****`string`** + **`i'mport transaction ID`** -**`i'mport transaction ID`** + **`receipt_tid`` `****`string`** -**`receipt_tid`` `****`string`** + **`Cash receipt ID issued by PG`** -**`Cash receipt ID issued by PG`** + **`apply_num`****`*`****`string`** -**`apply_num`****`*`****`string`** + **`Cash receipt ID issued by National Tax Service`** -**`Cash receipt ID issued by National Tax Service`** + **`type`` `****`*`****`string`** -**`type`` `****`*`****`string`** + **`Recipient type`** -**`Recipient type`** + - Personal use: `person` + - Business use: `company` -- Personal use: `person` -- Business use: `company` + **`amount`****`*`****`integer`** -**`amount`****`*`****`integer`** + **`Cash receipt Amount`** -**`Cash receipt Amount`** + **`vat`****`*`****`integer`** -**`vat`****`*`****`integer`** + **`VAT`** -**`VAT`** + **`receipt_url`` `****`string`** -**`receipt_url`` `****`string`** + **`Cash receipt URL`** -**`Cash receipt URL`** + **`applied_at`****`*`****`integer`** -**`applied_at`****`*`****`integer`** + **Issued at** `UNIX TIMESTAMP` -**Issued at** `UNIX TIMESTAMP` + **`cancelled_at`` `****`integer`** -**`cancelled_at`` `****`integer`** + **`Cancelled at`** `UNIX TIMESTAMP` + + + -**`Cancelled at`** `UNIX TIMESTAMP` - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "merchant_uid": "string", - "receipt_tid": "string", - "apply_num": "string", - "type": "person", - "amount": 0, - "vat": 0, - "receipt_url": "string", - "applied_at": 0, - "cancelled_at": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "merchant_uid": "string", + "receipt_tid": "string", + "apply_num": "string", + "type": "person", + "amount": 0, + "vat": 0, + "receipt_url": "string", + "applied_at": 0, + "cancelled_at": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/receipts/getExternalReceipt**](https://api.iamport.kr/#!/receipts/getExternalReceipt) + **Swagger Test Link** + [**https://api.iamport.kr/#!/receipts/getExternalReceipt**](https://api.iamport.kr/#!/receipts/getExternalReceipt) diff --git a/src/content/docs/en/api/cash-receipt-api/request-cash-receipt-api.mdx b/src/content/docs/en/api/cash-receipt-api/request-cash-receipt-api.mdx index 99982c3f7..a8127e483 100644 --- a/src/content/docs/en/api/cash-receipt-api/request-cash-receipt-api.mdx +++ b/src/content/docs/en/api/cash-receipt-api/request-cash-receipt-api.mdx @@ -4,210 +4,194 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Requests cash receipt for a cash transaction. +## Requests cash receipt for a cash transaction. A cash receipt is issued for the i'mport transaction number (**`imp_uid`**) of the cash transaction (**virtual account, account transfer**) processed through i'mport. The cash receipt amount is **automatically applied as cash transaction amount**. For a partially cancelled transaction, cash receipt is **issued for the remaining balance**.
-

Supported PGs

- -- **KG INICIS** -- **NHN KCP** -- **Settle Bank** -- **NICE Payments** -- **PAYJOA (Daou)** -- **KICC** - +

Supported PGs

+ + - **KG INICIS** + - **NHN KCP** + - **Settle Bank** + - **NICE Payments** + - **PAYJOA (Daou)** + - **KICC**
- - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** + - + ### Parameters - + #### Path -#### Body + + + **i'mport transaction ID** + + - - + #### Body -**Cash receipt code** + + + **Cash receipt code** + + - + + **Cash receipt code type** - - -**Cash receipt code type** + `person: social security number` -`person: social security number` + `business: business registration number` -`business: business registration number` + `phone: mobile phone number` -`phone: mobile phone number` + `taxcard: National Tax Service cash receipt card` + -`taxcard: National Tax Service cash receipt card` + + **Cash receipt type** - - -**Cash receipt type** + `For income deduction (personal) : person` -`For income deduction (personal) : person` + `For proof of expenses (business) : company` -`For proof of expenses (business) : company` + `Default: person` + -`Default: person` + + **Merchant's customer service phone** - - -**Merchant's customer service phone** + (Required for PayJoa only) + -(Required for PayJoa only) + + **Merchant's business name** - - -**Merchant's business name** + (Required for PayJoa only) + -(Required for PayJoa only) + + **Merchant's business registration number** - - -**Merchant's business registration number** + (Required for PayJoa only) + -(Required for PayJoa only) + + **Customer name** + - - -**Customer name** + + **Customer email** + - - -**Customer email** + + **Customer phone** + - - -**Customer phone** + + **Tax free amount** + - - -**Tax free amount** + ### Responses - + + + + **`code`** **\*** **integer** -### Responses + **Response code** - - - -**`code`** **\***** ****integer** + 0: success, Not 0: check the message -**Response code** + **`message`** **\*** **string** -0: success, Not 0: check the message + **Response message** -**`message`** **\***** ****string** + A non-zero code includes a message like 'Invalid payment info'. -**Response message** + **`response`` `****`(ReceiptAnnotation, optional)`** + + -A non-zero code includes a message like 'Invalid payment info'. + + + **`imp_uid`` `****`*`****`string`** -**`response`` `****`(ReceiptAnnotation, optional)`** + **`i'mport transaction ID`** - - + **`receipt_tid`` `****`string`** - - -**`imp_uid`` `****`*`****`string`** + **`Cash receipt ID issued by PG`** -**`i'mport transaction ID`** + **`apply_num`****`*`****`string`** -**`receipt_tid`` `****`string`** + **`Cash receipt ID issued by National Tax Service`** -**`Cash receipt ID issued by PG`** + **`type`` `****`*`****`string`** -**`apply_num`****`*`****`string`** + **`Recipient type`** -**`Cash receipt ID issued by National Tax Service`** + - Personal use: `person` + - Business use: `company` -**`type`` `****`*`****`string`** + **`amount`****`*`****`integer`** -**`Recipient type`** + **`Cash receipt Amount`** -- Personal use: `person` -- Business use: `company` + **`vat`****`*`****`integer`** -**`amount`****`*`****`integer`** + **`VAT`** -**`Cash receipt Amount`** + **`receipt_url`` `****`string`** -**`vat`****`*`****`integer`** + **`Cash receipt URL`** -**`VAT`** + **`applied_at`****`*`****`integer`** -**`receipt_url`` `****`string`** + **Issued at** `UNIX TIMESTAMP` -**`Cash receipt URL`** + **`cancelled_at`` `****`integer`** -**`applied_at`****`*`****`integer`** + **`Cancelled at`** `UNIX TIMESTAMP` + + + -**Issued at** `UNIX TIMESTAMP` + + ```ts + { + // Response + } + ``` + -**`cancelled_at`` `****`integer`** - -**`Cancelled at`** `UNIX TIMESTAMP` - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -223,37 +207,35 @@ A non-zero code includes a message like 'Invalid payment info'. > > **`Cash receipt code type`** > -> **Required for**** KICC and Settlebank only** +> **Required for** **KICC and Settlebank only** > > Request for KG INICIS/NHN KCP/Nice Payments/PayJoa is automatically processed with only the > **identifier.**
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "receipt_tid": "string", - "apply_num": "string", - "type": "person", - "amount": 0, - "vat": 0, - "receipt_url": "string", - "applied_at": 0, - "cancelled_at": 0 - } -} -``` - +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "receipt_tid": "string", + "apply_num": "string", + "type": "person", + "amount": 0, + "vat": 0, + "receipt_url": "string", + "applied_at": 0, + "cancelled_at": 0 + } + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/receipts/issueReceipt**](https://api.iamport.kr/#!/receipts/issueReceipt) + **Swagger Test Link** + [**https://api.iamport.kr/#!/receipts/issueReceipt**](https://api.iamport.kr/#!/receipts/issueReceipt) diff --git a/src/content/docs/en/api/cash-receipt-api/request-cash-receipt-external-api.mdx b/src/content/docs/en/api/cash-receipt-api/request-cash-receipt-external-api.mdx index f307ad6fa..cd18d94dc 100644 --- a/src/content/docs/en/api/cash-receipt-api/request-cash-receipt-external-api.mdx +++ b/src/content/docs/en/api/cash-receipt-api/request-cash-receipt-external-api.mdx @@ -4,219 +4,202 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Requests a cash receipt for an external cash transaction. +## Requests a cash receipt for an external cash transaction.
-

Supported PGs

- -- **KG INICIS** -- **NHN KCP** -- **Settle Bank** -- **NICE Payments** -- **PAYJOA (Daou)** -- **KICC** - +

Supported PGs

+ + - **KG INICIS** + - **NHN KCP** + - **Settle Bank** + - **NICE Payments** + - **PAYJOA (Daou)** + - **KICC**
- -A cash receipt can be issued for a non-i'mport transaction. However, the order number must be the same as the cash transaction order number so that it can be replaced later. - -If the `pg` parameter is not specified, the request will be processed using the default PG. - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** + + A cash receipt can be issued for a non-i'mport transaction. However, the order number must be the same as the cash transaction order number so that it can be replaced later. - + If the `pg` parameter is not specified, the request will be processed using the default PG. + - + ### Parameters -#### Body + #### Path - - + + + **i'mport transaction ID** + + -**Order name** + #### Body - + + + **Order name** + + - - - + + + **Amount** + + -**Amount** + + **Cash receipt code** - + `National Tax Service cash receipt card` - - -**Cash receipt code** + `Mobile phone number` -`National Tax Service cash receipt card` + `Social security number` -`Mobile phone number` + `Business registration number` -`Social security number` + `Mobile phone number` + -`Business registration number` + + **Cash receipt code type** -`Mobile phone number` + `person: social security number` - - -**Cash receipt code type** + `business: business registration number` -`person: social security number` + `phone: mobile phone number` -`business: business registration number` + `taxcard: National Tax Service cash receipt card` + -`phone: mobile phone number` + + **Cash receipt type** -`taxcard: National Tax Service cash receipt card` + `For income deduction (personal) : person` - - -**Cash receipt type** + `For proof of expenses (business) : company` -`For income deduction (personal) : person` + `Default: person` + -`For proof of expenses (business) : company` + + **Customer name** + -`Default: person` + + **Customer email** + - - -**Customer name** + + **Customer phone** + - - -**Customer email** + + **Tax free amount** + - - -**Customer phone** + + **PG code** + - - -**Tax free amount** + ### Responses - - -**PG code** + + + + **`code`** **\*** **integer** - + **Response code** -### Responses + 0: success, Not 0: check the message - - - -**`code`** **\***** ****integer** + **`message`** **\*** **string** -**Response code** + **Response message** -0: success, Not 0: check the message + A non-zero code includes a message like 'Invalid payment info'. -**`message`** **\***** ****string** + **`response`****`(ExternalReceiptAnnotation, optional)`** + + -**Response message** + + + **`imp_uid`` `****`*`****`string`** -A non-zero code includes a message like 'Invalid payment info'. + **`i'mport transaction ID`** -**`response`****`(ExternalReceiptAnnotation, optional)`** + **`receipt_tid`` `****`string`** - - + **`Cash receipt ID issued by PG`** - - -**`imp_uid`` `****`*`****`string`** + **`apply_num`****`*`****`string`** -**`i'mport transaction ID`** + **`Cash receipt ID issued by National Tax Service`** -**`receipt_tid`` `****`string`** + **`type`` `****`*`****`string`** -**`Cash receipt ID issued by PG`** + **`Recipient type`** -**`apply_num`****`*`****`string`** + - Personal use: `person` + - Business use: `company` -**`Cash receipt ID issued by National Tax Service`** + **`amount`****`*`****`integer`** -**`type`` `****`*`****`string`** + **`Cash receipt Amount`** -**`Recipient type`** + **`vat`****`*`****`integer`** -- Personal use: `person` -- Business use: `company` + **`VAT`** -**`amount`****`*`****`integer`** + **`receipt_url`` `****`string`** -**`Cash receipt Amount`** + **`Cash receipt URL`** -**`vat`****`*`****`integer`** + **`applied_at`****`*`****`integer`** -**`VAT`** + **Issued at** `UNIX TIMESTAMP` -**`receipt_url`` `****`string`** + **`cancelled_at`` `****`integer`** -**`Cash receipt URL`** + **`Cancelled at`** `UNIX TIMESTAMP` + + + -**`applied_at`****`*`****`integer`** + + ```ts + { + // Response + } + ``` + -**Issued at** `UNIX TIMESTAMP` - -**`cancelled_at`` `****`integer`** - -**`Cancelled at`** `UNIX TIMESTAMP` - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -232,7 +215,7 @@ A non-zero code includes a message like 'Invalid payment info'. > > **`Cash receipt code type`** > -> **Required for**** KICC and Settlebank only** +> **Required for** **KICC and Settlebank only** > > Request for KG INICIS/NHN KCP/Nice Payments/PayJoa is automatically processed with only the > **identifier.** @@ -255,31 +238,29 @@ A non-zero code includes a message like 'Invalid payment info'. > - If you have multiple MIDs from NICE Payments, specify as **nice.MID1** or **nice.MID2**.
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "merchant_uid": "string", - "receipt_tid": "string", - "apply_num": "string", - "type": "person", - "amount": 0, - "vat": 0, - "receipt_url": "string", - "applied_at": 0, - "cancelled_at": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "merchant_uid": "string", + "receipt_tid": "string", + "apply_num": "string", + "type": "person", + "amount": 0, + "vat": 0, + "receipt_url": "string", + "applied_at": 0, + "cancelled_at": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/receipts/issueExternalReceipt**](https://api.iamport.kr/#!/receipts/issueExternalReceipt) + **Swagger Test Link** + [**https://api.iamport.kr/#!/receipts/issueExternalReceipt**](https://api.iamport.kr/#!/receipts/issueExternalReceipt) diff --git a/src/content/docs/en/api/escrow-api/add-delivery-info-api.mdx b/src/content/docs/en/api/escrow-api/add-delivery-info-api.mdx index 12c0ba476..b58ec7b39 100644 --- a/src/content/docs/en/api/escrow-api/add-delivery-info-api.mdx +++ b/src/content/docs/en/api/escrow-api/add-delivery-info-api.mdx @@ -4,172 +4,150 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Adds delivery info for an escrow transaction. +## Adds delivery info for an escrow transaction.
-

Supported PGs

- -- KG INICIS -- NHN KCP -- PAYJOA (Daou) +

Supported PGs

+ - KG INICIS + - NHN KCP + - PAYJOA (Daou)
- -The request body must be **2-depth JSON**. - -[**Courier codes**](../../tips/code) - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** - - - - - -#### Body - - - - -**Sender info** - - - - - - - -**Receiver info** - - - - - - - -**Delivery info** - - - - - -### Responses - - - - -**`code`** **\***** ****integer** - -**Response code** - -0: success, Not 0: check the message + + The request body must be **2-depth JSON**. -**`message`** **\***\*\* ****string\*\* + [**Courier codes**](../../tips/code) + -**Response message** + ### Parameters -A non-zero code includes a message like 'Invalid payment info'. + #### Path -**`response`****`(EscrowLogisAnnotation, optional)`** + + + **i'mport transaction ID** + + - - - - - -**`company`** **`*`****`string`** - -**`Courier code`** - -**`invoice`****`*`****`string`** - -**`Tracking number`** - -**`sent_at`****`*`****`integer`** - -**`Sent at`** _**UNIX TIMESTAMP**_ - -**`applied_at`**_**`*`**_**`integer`** - -**`Delivery info created at`** _**UNIX TIMESTAMP**_ - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + #### Body + + + **Sender info** + + + + + + **Receiver info** + + + + + + **Delivery info** + + + + ### Responses + + + + + **`code`** **\*** **integer** + + **Response code** + + 0: success, Not 0: check the message + + **`message`** **\*** **string** + + **Response message** + + A non-zero code includes a message like 'Invalid payment info'. + + **`response`****`(EscrowLogisAnnotation, optional)`** + + + + + + **`company`** **`*`****`string`** + + **`Courier code`** + + **`invoice`****`*`****`string`** + + **`Tracking number`** + + **`sent_at`****`*`****`integer`** + + **`Sent at`** _**UNIX TIMESTAMP**_ + + **`applied_at`**_**`*`**_**`integer`** + + **`Delivery info created at`** _**UNIX TIMESTAMP**_ + + + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -179,28 +157,27 @@ A non-zero code includes a message like 'Invalid payment info'. > **`Sender info`**
-

EscrowLogisSenderAnnotation

- -**`name (string, optional)`** +

EscrowLogisSenderAnnotation

-**`Sender's name (Required for: KG INICIS)`** + **`name (string, optional)`** -**`tel (string, optional)`** + **`Sender's name (Required for: KG INICIS)`** -**`Sender's phone (Required for: KG INICIS)`** + **`tel (string, optional)`** -**`addr (string, optional)`** + **`Sender's phone (Required for: KG INICIS)`** -**`Sender's address (Required for: KG INICIS)`** + **`addr (string, optional)`** -**`postcode (string, optional)`** + **`Sender's address (Required for: KG INICIS)`** -**`Sender's zip code (Required for: KG INICIS)`** + **`postcode (string, optional)`** -**`relationship (string, optional)`** + **`Sender's zip code (Required for: KG INICIS)`** -**`Relationship with sender (Required for: PAYJOA, Example: Self)`** + **`relationship (string, optional)`** + **`Relationship with sender (Required for: PAYJOA, Example: Self)`**
> **`receiver`****`*`****`Json`** @@ -208,24 +185,23 @@ A non-zero code includes a message like 'Invalid payment info'. > **`Receiver info`**
-

EscrowLogisReceiverAnnotation

- -**`name (string, optional)`** +

EscrowLogisReceiverAnnotation

-**`Receiver's name (Required for: KG INICIS)`** + **`name (string, optional)`** -**`tel (string, optional)`** + **`Receiver's name (Required for: KG INICIS)`** -**`Receiver's phone (Required for: KG INICIS)`** + **`tel (string, optional)`** -**`addr (string, optional)`** + **`Receiver's phone (Required for: KG INICIS)`** -**`Receiver's address (Required for: KG INICIS)`** + **`addr (string, optional)`** -**`postcode (string, optional)`** + **`Receiver's address (Required for: KG INICIS)`** -**`Receiver's zip code (Required for: KG INICIS)`** + **`postcode (string, optional)`** + **`Receiver's zip code (Required for: KG INICIS)`**
> **`logis`****`*`****`Json`** @@ -233,53 +209,50 @@ A non-zero code includes a message like 'Invalid payment info'. > **`Delivery info`**
-

EscrowLogisInfoAnnotation

+

EscrowLogisInfoAnnotation

-**`company (string)`** + **`company (string)`** -**`Courier code`** + **`Courier code`** -**`invoice (string)`** + **`invoice (string)`** -**`Tracking number`** + **`Tracking number`** -**`sent_at (integer)`** + **`sent_at (integer)`** -**`Sent at UNIX TIMESTAMP`** + **`Sent at UNIX TIMESTAMP`** -**`receiving_at (string, optional)`** + **`receiving_at (string, optional)`** -**`Received at (Required for: PAYJOA / Example: YYYYMMDD)`** + **`Received at (Required for: PAYJOA / Example: YYYYMMDD)`** -**`address (string, optional)`** - -**`Shipping address (Required for: PAYJOA)`** + **`address (string, optional)`** + **`Shipping address (Required for: PAYJOA)`**
### Response
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "company": "string", - "invoice": "string", - "sent_at": 0, - "applied_at": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "company": "string", + "invoice": "string", + "sent_at": 0, + "applied_at": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/escrow.logis/escrow_logis_save**](https://api.iamport.kr/#!/escrow.logis/escrow_logis_save) + **Swagger Test Link** + [**https://api.iamport.kr/#!/escrow.logis/escrow\_logis\_save**](https://api.iamport.kr/#!/escrow.logis/escrow_logis_save) diff --git a/src/content/docs/en/api/escrow-api/get-delivery-info-api.mdx b/src/content/docs/en/api/escrow-api/get-delivery-info-api.mdx index 42d4148a2..2a70182d2 100644 --- a/src/content/docs/en/api/escrow-api/get-delivery-info-api.mdx +++ b/src/content/docs/en/api/escrow-api/get-delivery-info-api.mdx @@ -4,147 +4,131 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets delivery information for an escrow payment transaction. +## Gets delivery information for an escrow payment transaction.
-

Supported PGs

- -- KG INICIS -- NHN KCP -- PAYJOA (Daou) +

Supported PGs

+ - KG INICIS + - NHN KCP + - PAYJOA (Daou)
- - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** + - + ### Parameters - + #### Path -### Responses + + + **i'mport transaction ID** + + - - - -**`code`** **\***** ****integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\***\*\* ****string\*\* + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**`response`****`(EscrowLogisAnnotation, optional)`** + A non-zero code includes a message like 'Invalid payment info'. - - + **`response`****`(EscrowLogisAnnotation, optional)`** + + - - -**`company`** **`*`****`string`** + + + **`company`** **`*`****`string`** -**`Courier code`** + **`Courier code`** -**`invoice`****`*`****`string`** + **`invoice`****`*`****`string`** -**`Tracking number`** + **`Tracking number`** -**`sent_at`****`*`****`integer`** + **`sent_at`****`*`****`integer`** -**`Sent at`** _**UNIX TIMESTAMP**_ + **`Sent at`** _**UNIX TIMESTAMP**_ -**`applied_at`**_**`*`**_**`integer`** + **`applied_at`**_**`*`**_**`integer`** -**`Delivery info created at`** _**UNIX TIMESTAMP**_ + **`Delivery info created at`** _**UNIX TIMESTAMP**_ + + + - - + + ```ts + { + // Response + } + ``` + - + + ```ts + { + // Response + } + ``` + - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "company": "string", - "invoice": "string", - "sent_at": 0, - "applied_at": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "company": "string", + "invoice": "string", + "sent_at": 0, + "applied_at": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/escrow.logis/escrow_logis_get**](https://api.iamport.kr/#!/escrow.logis/escrow_logis_get) + **Swagger Test Link** + [**https://api.iamport.kr/#!/escrow.logis/escrow\_logis\_get**](https://api.iamport.kr/#!/escrow.logis/escrow_logis_get) diff --git a/src/content/docs/en/api/escrow-api/readme.mdx b/src/content/docs/en/api/escrow-api/readme.mdx index 349fd1a2f..b5feb1f59 100644 --- a/src/content/docs/en/api/escrow-api/readme.mdx +++ b/src/content/docs/en/api/escrow-api/readme.mdx @@ -5,7 +5,7 @@ description: Learn about escrow service API. import ContentRef from "~/components/gitbook/ContentRef.astro"; -### Escrow API currently supports the following PGs: +## Escrow API currently supports the following PGs: - KG Inicis - NHN KCP diff --git a/src/content/docs/en/api/escrow-api/update-delivery-info-api.mdx b/src/content/docs/en/api/escrow-api/update-delivery-info-api.mdx index 03d1e4979..ac73acf55 100644 --- a/src/content/docs/en/api/escrow-api/update-delivery-info-api.mdx +++ b/src/content/docs/en/api/escrow-api/update-delivery-info-api.mdx @@ -4,138 +4,118 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; +import Hint from "~/components/Hint.astro"; -### Updates delivery info for an escrow transaction. +## Updates delivery info for an escrow transaction.
-

Supported PGs

- -- KG INICIS -- NHN KCP -- PAYJOA (Daou) +

Supported PGs

+ - KG INICIS + - NHN KCP + - PAYJOA (Daou)
- -The request body must be **2-depth JSON**. - -All parameters are required. Required properties for sender and receiver JSON objects vary by PG. - -All values, to be updated and maintained, must be specified. - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** - - - - - -#### Body - - - - -**Sender info** - - - - - - - -**Receiver info** - - - - - - - -**Delivery info** - - - - - -### Responses - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - + + The request body must be **2-depth JSON**. + + All parameters are required. Required properties for sender and receiver JSON objects vary by PG. + + All values, to be updated and maintained, must be specified. + + + ### Parameters + + #### Path + + + + **i'mport transaction ID** + + + + #### Body + + + + **Sender info** + + + + + + **Receiver info** + + + + + + **Delivery info** + + + + ### Responses + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -145,28 +125,27 @@ All values, to be updated and maintained, must be specified. > **`Sender info`**
-

EscrowLogisSenderAnnotation

- -**`name (string, optional)`** +

EscrowLogisSenderAnnotation

-**`Sender's name (Required for: KG INICIS)`** + **`name (string, optional)`** -**`tel (string, optional)`** + **`Sender's name (Required for: KG INICIS)`** -**`Sender's phone (Required for: KG INICIS)`** + **`tel (string, optional)`** -**`addr (string, optional)`** + **`Sender's phone (Required for: KG INICIS)`** -**`Sender's address (Required for: KG INICIS)`** + **`addr (string, optional)`** -**`postcode (string, optional)`** + **`Sender's address (Required for: KG INICIS)`** -**`Sender's zip code (Required for: KG INICIS)`** + **`postcode (string, optional)`** -**`relationship (string, optional)`** + **`Sender's zip code (Required for: KG INICIS)`** -**`Relationship with sender (Required for: PAYJOA, Example: Self)`** + **`relationship (string, optional)`** + **`Relationship with sender (Required for: PAYJOA, Example: Self)`**
> **`receiver`****`*`****`Json`** @@ -174,24 +153,23 @@ All values, to be updated and maintained, must be specified. > **`Receiver info`**
-

EscrowLogisReceiverAnnotation

+

EscrowLogisReceiverAnnotation

-**`name (string, optional)`** + **`name (string, optional)`** -**`Receiver's name (Required for: KG INICIS)`** + **`Receiver's name (Required for: KG INICIS)`** -**`tel (string, optional)`** + **`tel (string, optional)`** -**`Receiver's phone (Required for: KG INICIS)`** + **`Receiver's phone (Required for: KG INICIS)`** -**`addr (string, optional)`** + **`addr (string, optional)`** -**`Receiver's address (Required for: KG INICIS)`** + **`Receiver's address (Required for: KG INICIS)`** -**`postcode (string, optional)`** - -**`Receiver's zip code (Required for: KG INICIS)`** + **`postcode (string, optional)`** + **`Receiver's zip code (Required for: KG INICIS)`**
> **`logis`****`*`****`Json`** @@ -199,28 +177,27 @@ All values, to be updated and maintained, must be specified. > **`Delivery info`**
-

EscrowLogisInfoAnnotation

- -**`company (string)`** +

EscrowLogisInfoAnnotation

-**`Courier code`** + **`company (string)`** -**`invoice (string)`** + **`Courier code`** -**`Tracking number`** + **`invoice (string)`** -**`sent_at (integer)`** + **`Tracking number`** -**`Sent at UNIX TIMESTAMP`** + **`sent_at (integer)`** -**`receiving_at (string, optional)`** + **`Sent at UNIX TIMESTAMP`** -**`Received at (Required for: PAYJOA / Example: YYYYMMDD)`** + **`receiving_at (string, optional)`** -**`address (string, optional)`** + **`Received at (Required for: PAYJOA / Example: YYYYMMDD)`** -**`Shipping address (Required for: PAYJOA)`** + **`address (string, optional)`** + **`Shipping address (Required for: PAYJOA)`**
```json title="Request Body Sample" @@ -241,26 +218,24 @@ All values, to be updated and maintained, must be specified. ```
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "company": "string", - "invoice": "string", - "sent_at": 0, - "applied_at": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "company": "string", + "invoice": "string", + "sent_at": 0, + "applied_at": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/escrow.logis/escrow_logis_edit**](https://api.iamport.kr/#!/escrow.logis/escrow_logis_edit) + **Swagger Test Link** + [**https://api.iamport.kr/#!/escrow.logis/escrow\_logis\_edit**](https://api.iamport.kr/#!/escrow.logis/escrow_logis_edit) diff --git a/src/content/docs/en/api/identity-verification-api/confirm-identity-verification-api.mdx b/src/content/docs/en/api/identity-verification-api/confirm-identity-verification-api.mdx index 44e9d61d8..23499b6ce 100644 --- a/src/content/docs/en/api/identity-verification-api/confirm-identity-verification-api.mdx +++ b/src/content/docs/en/api/identity-verification-api/confirm-identity-verification-api.mdx @@ -4,239 +4,223 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Confirms the identity verification based on the submitted verification ID and OTP number. +## Confirms the identity verification based on the submitted verification ID and OTP number. - -If verification is successful, this return a response with the user's name, phone number, carrier, gender, foreigner status, date of birth, CI, and DI values. - -\ - - - -### Parameters - -#### Path - - - - -**i'mport verification ID** - - + + If verification is successful, this return a response with the user's name, phone number, carrier, gender, foreigner status, date of birth, CI, and DI values. + - + ### Parameters -#### Body + #### Path - - + + + **i'mport verification ID** + + -**OTP number received via SMS** + #### Body - + + + **OTP number received via SMS** + + - + ### Responses -### Responses + + + + **`code`** **\*** **integer** - - - -**`code`** **\***** ****integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***** ****string** + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + **response** **(CertificationAnnotation, optional)** + + -**response** **(CertificationAnnotation, optional)** + + + **`imp_uid`** \* **string** - - + **`verification ID`** - - -**`imp_uid`** \* **string** + **`merchant_uid`** **string** -**`verification ID`** + **`Order ID`** -**`merchant_uid`** **string** + **`pg_tid`** **string** -**`Order ID`** + **`PG verification ID`** -**`pg_tid`** **string** + **`pg_provider`** **\*** **string** -**`PG verification ID`** + **`PG provider`** -**`pg_provider`** **\***** ****string** + **`name`** **string** -**`PG provider`** + **`Name`** -**`name`** **string** + **`gender`** **string** -**`Name`** + **`Gender`** -**`gender`** **string** + - male + - female -**`Gender`** + **`birthday`** **string** -- male -- female + **`DOB`** -**`birthday` ****string** + ISO8601 date in string format. YYYY-MM-DD (10-digit) -**`DOB`** + **`foreigner`** **\*** **boolean** -ISO8601 date in string format. YYYY-MM-DD (10-digit) + **`Foreigner status`** -**`foreigner`** **\*** **boolean** + When signing a Danal identity verification service contract, + you must request to use foreigner identification service. -**`Foreigner status`** + - true : foreigner + - false : not foreigner -When signing a Danal identity verification service contract, you must request to use foreigner identification service. + **`phone`** **string** -- true : foreigner -- false : not foreigner + **`Mobile phone number`** -**`phone`** **string** + Returns mobile phone number with only numbers without special symbols. + This attribute is omitted unless pre-approved by the carrier. + For pre-approval from the carrier, send a request with your Danal CPID to **[cs@iamport.kr](mailto:cs@iamport.kr)**. -**`Mobile phone number`** + **`carrier`** **string** -Returns mobile phone number with only numbers without special symbols. This attribute is omitted unless pre-approved by the carrier. For pre-approval from the carrier, send a request with your Danal CPID to **cs@iamport.kr**. + **`Mobile carrier`** -**`carrier`** **string** + Requires pre-approval from the carrier (send a request with your Danal CPID to **[cs@iamport.kr](mailto:cs@iamport.kr)**). -**`Mobile carrier`** + - SKT + - KT + - LGT + - SKT\_MVNO + - KT\_MVNO + - LGT\_MVNO -Requires pre-approval from the carrier (send a request with your Danal CPID to **cs@iamport.kr**). + **`certified`** **\*** **boolean** -- SKT -- KT -- LGT -- SKT\_MVNO -- KT\_MVNO -- LGT\_MVNO + **`Whether verification is successful`** -**`certified`** **\*** **boolean** + **`certified_at`** **string** -**`Whether verification is successful`** + **`Verified at`** (UNIX timestamp) -**`certified_at`** **string** + **`unique_key`** **string** -**`Verified at`** (UNIX timestamp) + **`Personal Identification Key (CI)`** -**`unique_key` ****string** + **`unique_in_site`** **string** -**`Personal Identification Key (CI)`** + **`Merchant Personal Identification Key (DI)`** -**`unique_in_site`** **string** + **`origin`** **string** -**`Merchant Personal Identification Key (DI)`** + **URL of the web page where the identity verification process is processed** -**`origin`** **string** + **`foreigner_v2`** **boolean** -**URL of the web page where the identity verification process is processed** + **`Foreigner status (nullable)`** -**`foreigner_v2`** **boolean** + - true : foreigner + - false : not foreigner -**`Foreigner status (nullable)`** + Requires a separate request to use Danal identity verification service + + + -- true : foreigner -- false : not foreigner + + ```ts + { + // Response + } + ``` + -Requires a separate request to use Danal identity verification service + + ```ts + { + // Response + } + ``` + - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pg_tid": "string", - "pg_provider": "string", - "name": "string", - "gender": "string", - "birth": 0, - "birthday": "string", - "foreigner": true, - "phone": "string", - "carrier": "SKT", - "certified": true, - "certified_at": 0, - "unique_key": "string", - "unique_in_site": "string", - "origin": "string", - "foreigner_v2": true +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pg_tid": "string", + "pg_provider": "string", + "name": "string", + "gender": "string", + "birth": 0, + "birthday": "string", + "foreigner": true, + "phone": "string", + "carrier": "SKT", + "certified": true, + "certified_at": 0, + "unique_key": "string", + "unique_in_site": "string", + "origin": "string", + "foreigner_v2": true + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/certifications/confirmOTP**](https://api.iamport.kr/#!/certifications/confirmOTP) + **Swagger Test Link** + [**https://api.iamport.kr/#!/certifications/confirmOTP**](https://api.iamport.kr/#!/certifications/confirmOTP) diff --git a/src/content/docs/en/api/identity-verification-api/delete-identity-verification-api.mdx b/src/content/docs/en/api/identity-verification-api/delete-identity-verification-api.mdx index 39dab1b6d..a4f68ad9c 100644 --- a/src/content/docs/en/api/identity-verification-api/delete-identity-verification-api.mdx +++ b/src/content/docs/en/api/identity-verification-api/delete-identity-verification-api.mdx @@ -4,216 +4,204 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Permanently deletes identity verification info from i'mport server. +## Permanently deletes identity verification info from i'mport server. - - - - -### Parameters - -#### Path - - - - -**i'mport verification ID** + - + ### Parameters - + #### Path -### Responses + + + **i'mport verification ID** + + - - - -**`code`** **\***** ****integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\***** ****string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**response** **(CertificationAnnotation, optional)** + A non-zero code includes a message like 'Invalid payment info'. - - + **response** **(CertificationAnnotation, optional)** + + - - -**`imp_uid`** \* **string** + + + **`imp_uid`** \* **string** -**`verification ID`** + **`verification ID`** -**`merchant_uid`** **string** + **`merchant_uid`** **string** -**`Order ID`** + **`Order ID`** -**`pg_tid`** **string** + **`pg_tid`** **string** -**`PG verification ID`** + **`PG verification ID`** -**`pg_provider`** **\***** ****string** + **`pg_provider`** **\*** **string** -**`PG provider`** + **`PG provider`** -**`name`** **string** + **`name`** **string** -**`Name`** + **`Name`** -**`gender`** **string** + **`gender`** **string** -**`Gender`** + **`Gender`** -- male -- female + - male + - female -**`birthday` ****string** + **`birthday`** **string** -**`DOB`** + **`DOB`** -ISO8601 date in string format. YYYY-MM-DD (10-digit) + ISO8601 date in string format. YYYY-MM-DD (10-digit) -**`foreigner`** **\*** **boolean** + **`foreigner`** **\*** **boolean** -**`Foreigner status`** + **`Foreigner status`** -When signing a Danal identity verification service contract, you must request to use foreigner identification service. + When signing a Danal identity verification service contract, you must request to use foreigner identification service. -- true : foreigner -- false : not foreigner + - true : foreigner + - false : not foreigner -**`phone`** **string** + **`phone`** **string** -**`Mobile phone number`** + **`Mobile phone number`** -Returns mobile phone number with only numbers without special symbols. This attribute is omitted unless pre-approved by the carrier. For pre-approval from the carrier, send a request with your Danal CPID to **cs@iamport.kr**. + Returns mobile phone number with only numbers without special symbols. + This attribute is omitted unless pre-approved by the carrier. + For pre-approval from the carrier, send a request with your Danal CPID to **[cs@iamport.kr](mailto:cs@iamport.kr)**. -**`carrier`** **string** + **`carrier`** **string** -**`Mobile carrier`** + **`Mobile carrier`** -Requires pre-approval from the carrier (send a request with your Danal CPID to **cs@iamport.kr**). + Requires pre-approval from the carrier (send a request with your Danal CPID to **[cs@iamport.kr](mailto:cs@iamport.kr)**). -- SKT -- KT -- LGT -- SKT\_MVNO -- KT\_MVNO -- LGT\_MVNO + - SKT + - KT + - LGT + - SKT\_MVNO + - KT\_MVNO + - LGT\_MVNO -**`certified`** **\*** **boolean** + **`certified`** **\*** **boolean** -**`Whether verification is successful`** + **`Whether verification is successful`** -**`certified_at`** **string** + **`certified_at`** **string** -**`Verified at`** (UNIX timestamp) + **`Verified at`** (UNIX timestamp) -**`unique_key` ****string** + **`unique_key`** **string** -**`Personal Identification Key (CI)`** + **`Personal Identification Key (CI)`** -**`unique_in_site`** **string** + **`unique_in_site`** **string** -**`Merchant Personal Identification Key (DI)`** + **`Merchant Personal Identification Key (DI)`** -**`origin`** **string** + **`origin`** **string** -**URL of the web page where the identity verification process is processed** + **URL of the web page where the identity verification process is processed** -**`foreigner_v2`** **boolean** + **`foreigner_v2`** **boolean** -**`Foreigner status (nullable)`** + **`Foreigner status (nullable)`** -- true : foreigner -- false : not foreigner + - true : foreigner + - false : not foreigner -Requires a separate request to use Danal identity verification service + Requires a separate request to use Danal identity verification service + + + - - + + ```ts + { + // Response + } + ``` + - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pg_tid": "string", - "pg_provider": "string", - "name": "string", - "gender": "string", - "birth": 0, - "birthday": "string", - "foreigner": true, - "phone": "string", - "carrier": "SKT", - "certified": true, - "certified_at": 0, - "unique_key": "string", - "unique_in_site": "string", - "origin": "string", - "foreigner_v2": true +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pg_tid": "string", + "pg_provider": "string", + "name": "string", + "gender": "string", + "birth": 0, + "birthday": "string", + "foreigner": true, + "phone": "string", + "carrier": "SKT", + "certified": true, + "certified_at": 0, + "unique_key": "string", + "unique_in_site": "string", + "origin": "string", + "foreigner_v2": true + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/certifications/deleteCertification**](https://api.iamport.kr/#!/certifications/deleteCertification) + **Swagger Test Link** + [**https://api.iamport.kr/#!/certifications/deleteCertification**](https://api.iamport.kr/#!/certifications/deleteCertification) diff --git a/src/content/docs/en/api/identity-verification-api/get-identity-verification-result-api.mdx b/src/content/docs/en/api/identity-verification-api/get-identity-verification-result-api.mdx index 19306c6b0..ef63cc77b 100644 --- a/src/content/docs/en/api/identity-verification-api/get-identity-verification-result-api.mdx +++ b/src/content/docs/en/api/identity-verification-api/get-identity-verification-result-api.mdx @@ -4,207 +4,196 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets identity verification result. +## Gets identity verification result. - - - - -### Parameters - -#### Body - - - + -**i'mport verification ID** + ### Parameters - + #### Body - + + + **i'mport verification ID** + + -### Responses + ### Responses - - - -**`code`** **\***** ****integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***** ****string** + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. -**response** **(CertificationAnnotation, optional)** + **response** **(CertificationAnnotation, optional)** + + - - + + + **`imp_uid`** \* **string** - - -**`imp_uid`** \* **string** + **`verification ID`** -**`verification ID`** + **`merchant_uid`** **string** -**`merchant_uid`** **string** + **`Order ID`** -**`Order ID`** + **`pg_tid`** **string** -**`pg_tid`** **string** + **`PG verification ID`** -**`PG verification ID`** + **`pg_provider`** **\*** **string** -**`pg_provider`** **\***** ****string** + **`PG provider`** -**`PG provider`** + **`name`** **string** -**`name`** **string** + **`Name`** -**`Name`** + **`gender`** **string** -**`gender`** **string** + **`Gender`** -**`Gender`** + - male + - female -- male -- female + **`birthday`** **string** -**`birthday` ****string** + **`DOB`** -**`DOB`** + ISO8601 date in string format. YYYY-MM-DD (10-digit) -ISO8601 date in string format. YYYY-MM-DD (10-digit) + **`foreigner`** **\*** **boolean** -**`foreigner`** **\*** **boolean** + **`Foreigner status`** -**`Foreigner status`** + When signing a Danal identity verification service contract, you must request to use foreigner identification service. -When signing a Danal identity verification service contract, you must request to use foreigner identification service. + - true : foreigner + - false : not foreigner -- true : foreigner -- false : not foreigner + **`phone`** **string** -**`phone`** **string** + **`Mobile phone number`** -**`Mobile phone number`** + Returns mobile phone number with only numbers without special symbols. + This attribute is omitted unless pre-approved by the carrier. + For pre-approval from the carrier, send a request with your Danal CPID to **[cs@iamport.kr](mailto:cs@iamport.kr)**. -Returns mobile phone number with only numbers without special symbols. This attribute is omitted unless pre-approved by the carrier. For pre-approval from the carrier, send a request with your Danal CPID to **cs@iamport.kr**. + **`carrier`** **string** -**`carrier`** **string** + **`Mobile carrier`** -**`Mobile carrier`** + Requires pre-approval from the carrier (send a request with your Danal CPID to **[cs@iamport.kr](mailto:cs@iamport.kr)**). -Requires pre-approval from the carrier (send a request with your Danal CPID to **cs@iamport.kr**). + - SKT + - KT + - LGT + - SKT\_MVNO + - KT\_MVNO + - LGT\_MVNO -- SKT -- KT -- LGT -- SKT\_MVNO -- KT\_MVNO -- LGT\_MVNO + **`certified`** **\*** **boolean** -**`certified`** **\*** **boolean** + **`Whether verification is successful`** -**`Whether verification is successful`** + **`certified_at`** **string** -**`certified_at`** **string** + **`Verified at`** (UNIX timestamp) -**`Verified at`** (UNIX timestamp) + **`unique_key`** **string** -**`unique_key` ****string** + **`Personal Identification Key (CI)`** -**`Personal Identification Key (CI)`** + **`unique_in_site`** **string** -**`unique_in_site`** **string** + **`Merchant Personal Identification Key (DI)`** -**`Merchant Personal Identification Key (DI)`** + **`origin`** **string** -**`origin`** **string** + **URL of the web page where the identity verification process is processed** -**URL of the web page where the identity verification process is processed** + **`foreigner_v2`** **boolean** -**`foreigner_v2`** **boolean** + **`Foreigner status (nullable)`** -**`Foreigner status (nullable)`** + - true : foreigner + - false : not foreigner -- true : foreigner -- false : not foreigner + Requires a separate request to use Danal identity verification service + + + -Requires a separate request to use Danal identity verification service - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pg_tid": "string", - "pg_provider": "string", - "name": "string", - "gender": "string", - "birth": 0, - "birthday": "string", - "foreigner": true, - "phone": "string", - "carrier": "SKT", - "certified": true, - "certified_at": 0, - "unique_key": "string", - "unique_in_site": "string", - "origin": "string", - "foreigner_v2": true +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pg_tid": "string", + "pg_provider": "string", + "name": "string", + "gender": "string", + "birth": 0, + "birthday": "string", + "foreigner": true, + "phone": "string", + "carrier": "SKT", + "certified": true, + "certified_at": 0, + "unique_key": "string", + "unique_in_site": "string", + "origin": "string", + "foreigner_v2": true + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/certifications/getCertification**](https://api.iamport.kr/#!/certifications/getCertification) + **Swagger Test Link** + [**https://api.iamport.kr/#!/certifications/getCertification**](https://api.iamport.kr/#!/certifications/getCertification) diff --git a/src/content/docs/en/api/identity-verification-api/request-identity-verification-api.mdx b/src/content/docs/en/api/identity-verification-api/request-identity-verification-api.mdx index 1b0c80010..82e0cca4c 100644 --- a/src/content/docs/en/api/identity-verification-api/request-identity-verification-api.mdx +++ b/src/content/docs/en/api/identity-verification-api/request-identity-verification-api.mdx @@ -4,145 +4,134 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Sends OTP number via SMS confirming the user's identity based on the submitted personal information. +## Sends OTP number via SMS confirming the user's identity based on the submitted personal information. - -If the user's personal information is passed to the API and verified by the carrier, an OTP (6-digit verification number) is sent to the user via SMS. This is only supported by some merchants who have been pre-approved by the carrier, and is currently only being serviced through **Danal**. - -You can call the API by directly entering the name, date of birth + 7th digit of social security number, mobile phone number, and carrier information from the merchant. If the transmitted personal information is correct, a verification code SMS is sent to the mobile phone. - -When you receive an HTTP Status 200 response, it contains the verification ID (`imp_uid`) in the response body. To complete the verification process, call the /certifications/otp/confirm/\{imp\_uid} API with the OTP number. - - - -### Parameters - -#### Body + + If the user's personal information is passed to the API and verified by the carrier, an OTP (6-digit verification number) is sent to the user via SMS. This is only supported by some merchants who have been pre-approved by the carrier, and is currently only being serviced through **Danal**. - - + You can call the API by directly entering the name, date of birth + 7th digit of social security number, mobile phone number, and carrier information from the merchant. If the transmitted personal information is correct, a verification code SMS is sent to the mobile phone. -**User name** + When you receive an HTTP Status 200 response, it contains the verification ID (`imp_uid`) in the response body. To complete the verification process, call the /certifications/otp/confirm/\{imp\_uid} API with the OTP number. + - + ### Parameters - - - **Mobile number** + #### Body -May contain special characters. + + + **User name** + + - - -**DOB** + + **Mobile number** -**`YYYYMMDD (6-digit)`** + May contain special characters. + -May contain special characters. + + **DOB** - - -**Gender code** + **`YYYYMMDD (6-digit)`** -7th digit of 13-digit social security number + May contain special characters. + - - -**Carrier code** + + **Gender code** -**`SKT`** + 7th digit of 13-digit social security number + -**`KT`** + + **Carrier code** -**`LGT`** + **`SKT`** - - -**Budget phone?** + **`KT`** - - -**Merchant service name** + **`LGT`** + - - -**Order ID** + + **Budget phone?** + - - -**PG code** + + **Merchant service name** + - + + **Order ID** + -### Responses + + **PG code** + - - - -**`code`** **\*** **integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\*** **string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**response ** **(CertificationOTPAnnotation, optional)** + A non-zero code includes a message like 'Invalid payment info'. - - + **response** **(CertificationOTPAnnotation, optional)** + + - - -**`imp_uid *`` `** **`String`** + + + **`imp_uid *`` `** **`String`** -**`i'mport verification ID`** + **`i'mport verification ID`** + + + - - + + ```ts + { + // Response + } + ``` + - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -178,23 +167,21 @@ A non-zero code includes a message like 'Invalid payment info'. > **danal.\{Merchant ID}**
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/certifications/requestOTP**](https://api.iamport.kr/#!/certifications/requestOTP) + **Swagger Test Link** + [**https://api.iamport.kr/#!/certifications/requestOTP**](https://api.iamport.kr/#!/certifications/requestOTP) diff --git a/src/content/docs/en/api/import-api-overview.mdx b/src/content/docs/en/api/import-api-overview.mdx index 95be69fb4..934c4663f 100644 --- a/src/content/docs/en/api/import-api-overview.mdx +++ b/src/content/docs/en/api/import-api-overview.mdx @@ -6,41 +6,41 @@ description: Get an overview of the i'mport API. import Figure from "~/components/Figure.astro"; import Hint from "~/components/Hint.astro"; -### Learn how to configure HTTP header in i'mport API call. +## Learn how to configure HTTP header in i'mport API call. -1. Call [**/users/getToken**](rest-api-access-token) with **API Key** & **API secret** to get an **`access_token`**.\ +1. Call [**/users/getToken**](rest-api-access-token) with **API Key** & **API secret** + to get an **`access_token`**. -2. In the API call, include the **`access_token`** as **`Authorization:`****`access_token`** or **`X-ImpTokenHeader:`****`access_token`** in the HTTP header. +2. In the API call, include the **`access_token`** as **`Authorization:`****`access_token`** + or **`X-ImpTokenHeader:`****`access_token`** in the HTTP header. -**Content-Type** + **Content-Type** -API Content-Type supported in i'mport is: - -**Application.json;charset=UTF-8** + API Content-Type supported in i'mport is: + **Application.json;charset=UTF-8** -**Agency Merchant** - -Sub-merchants must specify the following in the **`HTTP Header`** and use the **Agent account's** **`API key`** and **`Secret`** to call the i'mport API. + **Agency Merchant** -- **`"Tier" : "`****`Tier code`**(Sub-merchant Tier Code)" + Sub-merchants must specify the following in the **`HTTP Header`** and use the **Agent account's** **`API key`** + and **`Secret`** to call the i'mport API. + - **`"Tier" : "`****`Tier code`**(Sub-merchant Tier Code)" ### API specification -To check the detailed specification for i'mport API response, select the **HTTP Status ****200** response as shown below. +To check the detailed specification for i'mport API response, select the **HTTP Status** **200** response as shown below.
-**API Swagger site** - -i'mport supports the Swagger API Specification. + **API Swagger site** -[**https://api.iamport.kr**](https://api.iamport.kr) + i'mport supports the Swagger API Specification. + [**https://api.iamport.kr**](https://api.iamport.kr) diff --git a/src/content/docs/en/api/miscellaneous-api/benepia-point/get-points-api.mdx b/src/content/docs/en/api/miscellaneous-api/benepia-point/get-points-api.mdx index df54def39..31433054b 100644 --- a/src/content/docs/en/api/miscellaneous-api/benepia-point/get-points-api.mdx +++ b/src/content/docs/en/api/miscellaneous-api/benepia-point/get-points-api.mdx @@ -4,120 +4,106 @@ description: 베네피아 포인트를 단건 조회 합니다. --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets Benepia points using user's Benepia account ID and password through KCP. +## Gets Benepia points using user's Benepia account ID and password through KCP. - -Requires KCP site code. - - - -### Parameters - -#### Body - - - - -**Benepia account ID** + + Requires KCP site code. + - + ### Parameters - - - + #### Body -**Benepia account password** + + + **Benepia account ID** + + - + + + **Benepia account password** + + - - -**PG code** + + **PG code** -If there are multiple KCP PG settings, specify as **kcp.\{KCP site code}**. If omitted, the KCP pg setting in Admin console is used. + If there are multiple KCP PG settings, specify as **kcp.\{KCP site code}**. If omitted, the KCP pg setting in Admin console is used. + - + ### Responses -### Responses + + + + **`code`** **\*** **integer** - - - -**`code`** **\***** ****integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***** ****string** + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + **`response`` `****`(BenepiaPointAnnotation, optional)`** + + -**`response`` `****`(BenepiaPointAnnotation, optional)`** + + + **`point`****`*`****`integer`** - - + **`Benepia points`** + + + - - -**`point`****`*`****`integer`** - -**`Benepia points`** - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "point": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "point": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/benepia/queryBenepiaPoint**](https://api.iamport.kr/#!/benepia/queryBenepiaPoint) + **Swagger Test Link** + [**https://api.iamport.kr/#!/benepia/queryBenepiaPoint**](https://api.iamport.kr/#!/benepia/queryBenepiaPoint) diff --git a/src/content/docs/en/api/miscellaneous-api/benepia-point/request-point-payment-api.mdx b/src/content/docs/en/api/miscellaneous-api/benepia-point/request-point-payment-api.mdx index f3cdbbfcb..ba84f40d3 100644 --- a/src/content/docs/en/api/miscellaneous-api/benepia-point/request-point-payment-api.mdx +++ b/src/content/docs/en/api/miscellaneous-api/benepia-point/request-point-payment-api.mdx @@ -4,469 +4,448 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Requests payment using Benepia (benefit) points. +## Requests payment using Benepia (benefit) points. - -Requests payment using Benepia points through KCP by passing user's Benepia account ID and password with the payment information. Requires KCP site code. - - - -### Parameters - -#### Body - - - - -**Benepia account ID** - - - - - - - -**Benepia account password** - - - - - - - -**Order ID** + + Requests payment using Benepia points through KCP by passing user's Benepia account ID and password with the payment information. Requires KCP site code. + - + ### Parameters - - - + #### Body -**Amount** + + + **Benepia account ID** + + - + + + **Benepia account password** + + - - - + + + **Order ID** + + -**Product name** + + + **Amount** + + - + + + **Product name** + + - - -**Customer name** + + **Customer name** + - - -**Customer email** + + **Customer email** + - - -**Customer phone** + + **Customer phone** + - - -**Customer address** + + **Customer address** + - - -**Customer zip code** + + **Customer zip code** + - - -**PG code** + + **PG code** + - - -**Notification URL (Webhook URL)** + + **Notification URL (Webhook URL)** + - - -**Custom data** + + **Custom data** + - + ### Responses -### Responses + + + + **`code`** **\*** **integer** - - - -**`code`** **\***** ****integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***** ****string** + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + **`response`** **`(PaymentAnnotation, optional)`** + + -**`response`** **`(PaymentAnnotation, optional)`** + + + **`code`** **\*** **integer** - - + **`Response code`** - - -**`code`** **\***** ****integer** + 0: success, Not 0: check the message -**`Response code`** + **`message`** **\*** **string** -0: success, Not 0: check the message + **Response message** -**`message`** **\***** ****string** + A non-zero code includes a message like 'Invalid payment info. -**Response message** + **`imp_uid`** \* **string** -A non-zero code includes a message like 'Invalid payment info. + **i'mport payment transaction UID** -**`imp_uid`** \* **string** + **`merchant_uid`** **\*** **string** -**i'mport payment transaction UID** + **Order ID** -**`merchant_uid`** **\***** ****string** + **`pay_method`** **\*** **string** -**Order ID** + **Payment method code** -**`pay_method`** **\***** ****string** + **`channel`** **\*** **string** -**Payment method code** + **Payment environment code** -**`channel`** **\***** ****string** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**Payment environment code** + **`pg_provider`** **\*** **string** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **PG code** -**`pg_provider`** **\***** ****string** + --- -**PG code** + **`emb_pg_provider`** **\*** **string** ---- - -**`emb_pg_provider`** **\***** ****string** - -**Hub-type PG code** - -**`pg_tid`** **\*** **string** + **Hub-type PG code** -**PG transaction ID** + **`pg_tid`** **\*** **string** -**`pg_id`** **\***** ****string** + **PG transaction ID** -**PG MID** + **`pg_id`** **\*** **string** -**`escrow`** **boolean** + **PG MID** -**Indicates an escrow payment** + **`escrow`** **boolean** -**`apply_num`** **string** + **Indicates an escrow payment** -**Credit card approval number** + **`apply_num`** **string** -**`bank_code`** **string** + **Credit card approval number** -**Bank code** + **`bank_code`** **string** -**`bank_name`** **string** + **Bank code** -**Bank name** + **`bank_name`** **string** ---- + **Bank name** -**`card_code`** **string** + --- -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **`card_code`** **string** -**`card_name`** **string** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**Credit card name** + **`card_name`** **string** -**`card_quota`** **integer** + **Credit card name** -**Number of installments (0 means one-off)** + **`card_quota`** **integer** -**`card_number`** **string** + **Number of installments (0 means one-off)** -**Masked credit card number** + **`card_number`** **string** ---- + **Masked credit card number** -**`card_type`** **string** + --- -**Credit card type code** + **`card_type`** **string** -- 0: credit -- 1: check + **Credit card type code** -**`vbank_code`** **string** + - 0: credit + - 1: check -**Virtual account bank code (refer to image below)** + **`vbank_code`** **string** ---- + **Virtual account bank code (refer to image below)** -**`vbank_name`** **string** + --- -**Refund virtual account** + **`vbank_name`** **string** -**`vbank_holder`** **string** + **Refund virtual account** -**Refund virtual account holder** + **`vbank_holder`** **string** -**`vbank_date`** **string** + **Refund virtual account holder** -**Refund virtual account expiration (UNIX timestamp)** + **`vbank_date`** **string** -**`vbank_issued_at`** **string** + **Refund virtual account expiration (UNIX timestamp)** -**Refund virtual account created at (UNIX timestamp)** + **`vbank_issued_at`** **string** -**`name`** **string** + **Refund virtual account created at (UNIX timestamp)** -**Product name** + **`name`** **string** -**`amount`** **\*** **integer** + **Product name** -**Order (payment) amount** + **`amount`** **\*** **integer** -**`cancel_amount`** **integer** + **Order (payment) amount** -**Cancelled amount** + **`cancel_amount`** **integer** -**`currency`** **string** + **Cancelled amount** -**Currency** + **`currency`** **string** -- USD -- KRW -- EUR + **Currency** ---- + - USD + - KRW + - EUR -**`buyer_name`** **string** + --- -**Customer name** + **`buyer_name`** **string** -**`buyer_email`** **string** + **Customer name** -**Customer email**\ + **`buyer_email`** **string** -**`buyer_tel`** **string** + **Customer email**\\ -**Customer phone** + **`buyer_tel`** **string** -**`buyer_addr`** **string** + **Customer phone** -**Customer address** + **`buyer_addr`** **string** -**`buyer_postcode`** **string** + **Customer address** -**Customer zip code** + **`buyer_postcode`** **string** -**`custom_data`** **string** + **Customer zip code** -**echo data as JSON string** + **`custom_data`** **string** -**`user_agent`** **string** + **echo data as JSON string** -**UserAgent of the device where payment is initiated** + **`user_agent`** **string** -**`status`** **\***** ****string** + **UserAgent of the device where payment is initiated** -**Payment status code** + **`status`** **\*** **string** -- ready -- paid -- cancelled -- failed + **Payment status code** -**`started_at`** **\*** **string** + - ready + - paid + - cancelled + - failed -**Payment started at (UNIX timestamp)** + **`started_at`** **\*** **string** -**`paid_at`** **\***** ****string** + **Payment started at (UNIX timestamp)** -**Payment completed at (UNIX timestamp)**\ + **`paid_at`** **\*** **string** -**`failed_at`** **\***** ****string** + **Payment completed at (UNIX timestamp)**\\ -**Payment failed at (UNIX timestamp)** + **`failed_at`** **\*** **string** -**`cancelled_at`** **\***** ****string** + **Payment failed at (UNIX timestamp)** -**Payment cancelled at (UNIX timestamp)** + **`cancelled_at`** **\*** **string** -**`fail_reason`** **string** + **Payment cancelled at (UNIX timestamp)** -**Reason for failure** + **`fail_reason`** **string** -**`cancel_reason`** **string** + **Reason for failure** -**Reason for cancellation** + **`cancel_reason`** **string** -**`receipt_url`** **string** + **Reason for cancellation** -**Credit card receipt URL** + **`receipt_url`** **string** -**`cash_receipt_issued` ****boolean** + **Credit card receipt URL** -**Option to automatically issue cash receipt** + **`cash_receipt_issued`** **boolean** -**`customer_uid`** **string** + **Option to automatically issue cash receipt** -**customer\_uid related to the payment transaction** + **`customer_uid`** **string** -**`customer_uid_usage`** **string** + **customer\_uid related to the payment transaction** -**customer\_uid use code** + **`customer_uid_usage`** **string** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **customer\_uid use code** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance -**`Cancellation/partial cancellation history`** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** - - + **`Cancellation/partial cancellation history`** + + - - -**`pg_tid`** **\***** ****string** + + + **`pg_tid`** **\*** **string** -**PG cancellation transaction ID** + **PG cancellation transaction ID** -**`amount`** **\*** **integer** + **`amount`** **\*** **integer** -**Cancelled amount** + **Cancelled amount** -**`cancelled_at`** **\*** **string** + **`cancelled_at`** **\*** **string** -**Cancelled at (UNIX timestamp)** + **Cancelled at (UNIX timestamp)** -**`reason`** **\*** **string(256)** + **`reason`** **\*** **string(256)** -**Reason for cancellation** + **Reason for cancellation** -**`receipt_url`** **\***** ****string(300)** + **`receipt_url`** **\*** **string(300)** -**Cancellation receipt URL. Availability varies by PG.** + **Cancellation receipt URL. Availability varies by PG.** + + + - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/benepia/payBenepiaPoint**](https://api.iamport.kr/#!/benepia/payBenepiaPoint) + **Swagger Test Link** + [**https://api.iamport.kr/#!/benepia/payBenepiaPoint**](https://api.iamport.kr/#!/benepia/payBenepiaPoint) diff --git a/src/content/docs/en/api/miscellaneous-api/convenience-store-payment/cancel-barcode-api.mdx b/src/content/docs/en/api/miscellaneous-api/convenience-store-payment/cancel-barcode-api.mdx index 0aeddc78a..b4c9ecad6 100644 --- a/src/content/docs/en/api/miscellaneous-api/convenience-store-payment/cancel-barcode-api.mdx +++ b/src/content/docs/en/api/miscellaneous-api/convenience-store-payment/cancel-barcode-api.mdx @@ -4,182 +4,172 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Cancels a convenience store barcode to block payment. +## Cancels a convenience store barcode to block payment. - -You can cancel a barcode with pending payment to block payment for orders that cannot be fulfilled due to out of stock items etc. - - - -### Parameters - -#### Path + + You can cancel a barcode with pending payment to block payment for orders that cannot be fulfilled due to out of stock items etc. + - -**i'mport transaction ID** + ### Parameters -For convenience store payment + #### Path - + + **i'mport transaction ID** -### Responses + For convenience store payment + - - - -**`code`** **\***** ****integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\***** ****string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**`response`** **`(PaymentAnnotation, optional)`** + A non-zero code includes a message like 'Invalid payment info'. - - + **`response`** **`(PaymentAnnotation, optional)`** + + - - -**Response code** + + + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***** ****string** + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. + + - - + + + **`pg_tid`** **\*** **string** - - -**`pg_tid`** **\***** ****string** + **PG cancellation transaction ID** -**PG cancellation transaction ID** + **`amount`** **\*** **integer** -**`amount`** **\*** **integer** + **Cancelled amount** -**Cancelled amount** + **`cancelled_at`** **\*** **string** -**`cancelled_at`** **\*** **string** + **Cancelled at (UNIX timestamp)** -**Cancelled at (UNIX timestamp)** + **`reason`** **\*** **string(256)** -**`reason`** **\*** **string(256)** + **Reason for cancellation** -**Reason for cancellation** + **`receipt_url`** **\*** **string(300)** -**`receipt_url`** **\***** ****string(300)** - -**Cancellation receipt URL. Availability varies by PG.** - - - - - - - -```javascript -{ - // Response -} -``` - - + **Cancellation receipt URL. Availability varies by PG.** + + + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/cvs/revokeCvsPayment**](https://api.iamport.kr/#!/cvs/revokeCvsPayment) + **Swagger Test Link** + [**https://api.iamport.kr/#!/cvs/revokeCvsPayment**](https://api.iamport.kr/#!/cvs/revokeCvsPayment) diff --git a/src/content/docs/en/api/miscellaneous-api/convenience-store-payment/request-barcode-api.mdx b/src/content/docs/en/api/miscellaneous-api/convenience-store-payment/request-barcode-api.mdx index ca5cd3fe3..d6f6eb421 100644 --- a/src/content/docs/en/api/miscellaneous-api/convenience-store-payment/request-barcode-api.mdx +++ b/src/content/docs/en/api/miscellaneous-api/convenience-store-payment/request-barcode-api.mdx @@ -4,394 +4,380 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Requests issuance or registration of convenience store barcode. +## Requests issuance or registration of convenience store barcode. - -A customer can make payment by presenting the barcode image or number at a convenience store. - - - -### Parameters - -#### Body - - - - -**Order ID** - - - - - - - -**Amount** - - + + A customer can make payment by presenting the barcode image or number at a convenience store. + - - -**Barcode** + ### Parameters - - -**Convenience store payment deadline** + #### Body -Unix Timestamp + + + **Order ID** + + - - -**Product name** + + + **Amount** + + - - -**Customer name** + + **Barcode** + - - -**Customer email** + + **Convenience store payment deadline** - - -**Customer phone** + Unix Timestamp + - - -**Customer address** + + **Product name** + - - -**Customer zip code** + + **Customer name** + - - -**PG code** + + **Customer email** + - - -**URL for checking whether payment is acceptable** + + **Customer phone** + - - -**Notification URL for successful payment** + + **Customer address** + -If not specified, the Notification URL set in Admin console is used. + + **Customer zip code** + - - -**Custom data** + + **PG code** + - + + **URL for checking whether payment is acceptable** + - + + **Notification URL for successful payment** -### Responses + If not specified, the Notification URL set in Admin console is used. + - - - -**`code`** **\*** **integer** + + **Custom data** + -**Response code** + ### Responses -0: success, Not 0: check the message + + + + **`code`** **\*** **integer** -**`message`** **\*** **string** + **Response code** -**Response message** + 0: success, Not 0: check the message -A non-zero code includes a message like 'Invalid payment info'. + **`message`** **\*** **string** -**`response`** **`(PaymentAnnotation, optional)`** + **Response message** - - + A non-zero code includes a message like 'Invalid payment info'. - - -**`code`** **\*** **integer** + **`response`** **`(PaymentAnnotation, optional)`** + + -**`Response code`** + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **`Response code`** -**`message`** **\*** **string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info. + **Response message** -**`imp_uid`** \* **string** + A non-zero code includes a message like 'Invalid payment info. -**i'mport payment transaction UID** + **`imp_uid`** \* **string** -**`merchant_uid`** **\*** **string** + **i'mport payment transaction UID** -**Order ID** + **`merchant_uid`** **\*** **string** -**`pay_method`** **\*** **string** + **Order ID** -**Payment method code** + **`pay_method`** **\*** **string** -**`channel`** **\*** **string** + **Payment method code** -**Payment environment code** + **`channel`** **\*** **string** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **Payment environment code** -**`pg_provider`** **\*** **string** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**PG code** + **`pg_provider`** **\*** **string** ---- + **PG code** -**`emb_pg_provider`** **\*** **string** + --- -**Hub-type PG code** + **`emb_pg_provider`** **\*** **string** -**`pg_tid`** **\*** **string** + **Hub-type PG code** -**PG transaction ID** + **`pg_tid`** **\*** **string** -**`pg_id`** **\*** **string** + **PG transaction ID** -**PG MID** + **`pg_id`** **\*** **string** -**`escrow`** **boolean** + **PG MID** -**Indicates an escrow payment** + **`escrow`** **boolean** -**`apply_num`** **string** + **Indicates an escrow payment** -**Credit card approval number** + **`apply_num`** **string** -**`bank_code`** **string** + **Credit card approval number** -**Bank code** + **`bank_code`** **string** -**`bank_name`** **string** + **Bank code** -**Bank name** + **`bank_name`** **string** ---- + **Bank name** -**`card_code`** **string** + --- -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **`card_code`** **string** -**`card_name`** **string** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**Credit card name** + **`card_name`** **string** -**`card_quota`** **integer** + **Credit card name** -**Number of installments (0 means one-off)** + **`card_quota`** **integer** -**`card_number`** **string** + **Number of installments (0 means one-off)** -**Masked credit card number** + **`card_number`** **string** ---- + **Masked credit card number** -**`card_type`** **string** + --- -**Credit card type code** + **`card_type`** **string** -- 0: credit -- 1: check + **Credit card type code** -**`vbank_code`** **string** + - 0: credit + - 1: check -**Virtual account bank code (refer to image below)** + **`vbank_code`** **string** ---- + **Virtual account bank code (refer to image below)** -**`vbank_name`** **string** + --- -**Refund virtual account** + **`vbank_name`** **string** -**`vbank_holder`** **string** + **Refund virtual account** -**Refund virtual account holder** + **`vbank_holder`** **string** -**`vbank_date`** **string** + **Refund virtual account holder** -**Refund virtual account expiration (UNIX timestamp)** + **`vbank_date`** **string** -**`vbank_issued_at`** **string** + **Refund virtual account expiration (UNIX timestamp)** -**Refund virtual account created at (UNIX timestamp)** + **`vbank_issued_at`** **string** -**`name`** **string** + **Refund virtual account created at (UNIX timestamp)** -**Product name** + **`name`** **string** -**`amount`** **\*** **integer** + **Product name** -**Order (payment) amount** + **`amount`** **\*** **integer** -**`cancel_amount`** **integer** + **Order (payment) amount** -**Cancelled amount** + **`cancel_amount`** **integer** -**`currency`** **string** + **Cancelled amount** -**Currency** - -- USD -- KRW -- EUR - ---- + **`currency`** **string** -**`buyer_name`** **string** + **Currency** -**Customer name** + - USD + - KRW + - EUR -**`buyer_email`** **string** + --- -**Customer email**\ + **`buyer_name`** **string** -**`buyer_tel`** **string** + **Customer name** -**Customer phone** + **`buyer_email`** **string** -**`buyer_addr`** **string** + **Customer email** -**Customer address** + **`buyer_tel`** **string** -**`buyer_postcode`** **string** + **Customer phone** -**Customer zip code** + **`buyer_addr`** **string** -**`custom_data`** **string** + **Customer address** -**echo data as JSON string** + **`buyer_postcode`** **string** -**`user_agent`** **string** + **Customer zip code** -**UserAgent of the device where payment is initiated** + **`custom_data`** **string** -**`status`** **\*** **string** + **echo data as JSON string** -**Payment status code** + **`user_agent`** **string** -- ready -- paid -- cancelled -- failed + **UserAgent of the device where payment is initiated** -**`started_at`** **\*** **string** + **`status`** **\*** **string** -**Payment started at (UNIX timestamp)** + **Payment status code** -**`paid_at`** **\*** **string** + - ready + - paid + - cancelled + - failed -**Payment completed at (UNIX timestamp)**\ + **`started_at`** **\*** **string** -**`failed_at`** **\*** **string** + **Payment started at (UNIX timestamp)** -**Payment failed at (UNIX timestamp)** + **`paid_at`** **\*** **string** -**`cancelled_at`** **\*** **string** + **Payment completed at (UNIX timestamp)** -**Payment cancelled at (UNIX timestamp)** + **`failed_at`** **\*** **string** -**`fail_reason`** **string** + **Payment failed at (UNIX timestamp)** -**Reason for failure** + **`cancelled_at`** **\*** **string** -**`cancel_reason`** **string** + **Payment cancelled at (UNIX timestamp)** -**Reason for cancellation** + **`fail_reason`** **string** -**`receipt_url`** **string** + **Reason for failure** -**Credit card receipt URL** + **`cancel_reason`** **string** -**`cash_receipt_issued` ****boolean** + **Reason for cancellation** -**Option to automatically issue cash receipt** + **`receipt_url`** **string** -**`customer_uid`** **string** + **Credit card receipt URL** -**customer\_uid related to the payment transaction** + **`cash_receipt_issued`** **boolean** -**`customer_uid_usage`** **string** + **Option to automatically issue cash receipt** -**customer\_uid use code** + **`customer_uid`** **string** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **customer\_uid related to the payment transaction** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`customer_uid_usage`** **string** -**`Cancellation/partial cancellation history`** + **customer\_uid use code** - - + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance - - -**`pg_tid`** **\*** **string** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**PG cancellation transaction ID** + **`Cancellation/partial cancellation history`** + + -**`amount`** **\*** **integer** + + + **`pg_tid`** **\*** **string** -**Cancelled amount** + **PG cancellation transaction ID** -**`cancelled_at`** **\*** **string** + **`amount`** **\*** **integer** -**Cancelled at (UNIX timestamp)** + **Cancelled amount** -**`reason`** **\*** **string(256)** + **`cancelled_at`** **\*** **string** -**Reason for cancellation** + **Cancelled at (UNIX timestamp)** -**`receipt_url`** **\*** **string(300)** + **`reason`** **\*** **string(256)** -**Cancellation receipt URL. Availability varies by PG.** + **Reason for cancellation** - - + **`receipt_url`** **\*** **string(300)** - - - -```javascript -{ - // Response -} -``` - - + **Cancellation receipt URL. Availability varies by PG.** + + + + + ```ts + { + // Response + } + ``` + ### Key request parameter description -> **barcode ****string** +> **barcode** **string** > > **`Barcode number`** > > If there is a barcode number generated/managed by the merchant, you can use it instead of getting > one from GalaxiaMoneytree. -> **expired\_at ****integer** +> **expired\_at** **integer** > > **`Convenience store payment deadline`** > @@ -414,96 +400,91 @@ A non-zero code includes a message like 'Invalid payment info. > > **`200 response == acceptable / Other responses == Not acceptable`** > -> -> > ```json title="Webhook Body" > { -> event : 'Galaxia.Cvs.Confirm', -> imp_uid : 'imp_123412341234', -> merchant_uid : 'asdfasdfasdf', -> status : 'ready', -> extra : { -> barcode : '11222222', -> payType : 'card' //card or cash -> } +> "event": "Galaxia.Cvs.Confirm", +> "imp_uid": "imp_123412341234", +> "merchant_uid": "asdfasdfasdf", +> "status": "ready", +> "extra": { +> "barcode": "11222222", +> "payType": "card" //card or cash +> } > } > ``` ->
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/cvs/issueCvsPayment**](https://api.iamport.kr/#!/cvs/issueCvsPayment) + **Swagger Test Link** + [**https://api.iamport.kr/#!/cvs/issueCvsPayment**](https://api.iamport.kr/#!/cvs/issueCvsPayment) diff --git a/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-bank-codes-all-api.mdx b/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-bank-codes-all-api.mdx index ba4e7f205..7d3f05364 100644 --- a/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-bank-codes-all-api.mdx +++ b/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-bank-codes-all-api.mdx @@ -4,99 +4,88 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; -import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets a list of standard codes and names for all banks (based on KFTC codes). +## Gets a list of standard codes and names for all banks (based on KFTC codes). - - - - -### Responses - - - - -**`code`** **\***** ****integer** - -**Response code** - -0: success, Not 0: check the message - -**`message`** **\***** ****string** + -**Response message** + ### Responses -A non-zero code includes a message like 'Invalid payment info'. + + + + **`code`** **\*** **integer** -**`response`****`(Array[StandardCodeAnnotation], optional)`** + **Response code** - - + 0: success, Not 0: check the message - - -**`code`****`*`****`string`** + **`message`** **\*** **string** -**`Institution code (from KFTC)`** + **Response message** -**`name`` `****`*`****`string`** + A non-zero code includes a message like 'Invalid payment info'. -**`Institution name (from KFTC)`** + **`response`****`(Array[StandardCodeAnnotation], optional)`** + + - - + + + **`code`****`*`****`string`** - + **`Institution code (from KFTC)`** - -```javascript -{ - // Response -} -``` + **`name`` `****`*`****`string`** - + **`Institution name (from KFTC)`** + + + - -```javascript -{ - // Response -} -``` - - - - - -
-

Response Model Schema

+ + ```ts + { + // Response + } + ``` + -``` -{ - "code": 0, - "message": "string", - "response": [ + + ```ts { - "code": "string", - "name": "string" + // Response } - ] -} -``` + ``` + + +
+

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "code": "string", + "name": "string" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/codes/allBankCodes**](https://api.iamport.kr/#!/codes/allBankCodes) + **Swagger Test Link** + [**https://api.iamport.kr/#!/codes/allBankCodes**](https://api.iamport.kr/#!/codes/allBankCodes) diff --git a/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-bank-name-api.mdx b/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-bank-name-api.mdx index b36565b4e..485988d3b 100644 --- a/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-bank-name-api.mdx +++ b/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-bank-name-api.mdx @@ -4,110 +4,97 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets the bank name for a bank code. +## Gets the bank name for a bank code. - - - - -### Parameters - -#### Path - - - + -**Bank code** + ### Parameters - + #### Path - + + + **Bank code** + + -### Responses + ### Responses - - - -**`code`** **\***** ****integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***** ****string** + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. -**`response`****`(Array[StandardCodeAnnotation], optional)`** + **`response`****`(Array[StandardCodeAnnotation], optional)`** + + - - + + + **`code`****`*`****`string`** - - -**`code`****`*`****`string`** + **`Institution code (from KFTC)`** -**`Institution code (from KFTC)`** + **`name`` `****`*`****`string`** -**`name`` `****`*`****`string`** + **`Institution name (from KFTC)`** + + + -**`Institution name (from KFTC)`** - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "code": "string", - "name": "string" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "code": "string", + "name": "string" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/codes/bankCodes**](https://api.iamport.kr/#!/codes/bankCodes) + **Swagger Test Link** + [**https://api.iamport.kr/#!/codes/bankCodes**](https://api.iamport.kr/#!/codes/bankCodes) diff --git a/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-credit-card-codes-all-api.mdx b/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-credit-card-codes-all-api.mdx index 08a50c93b..34311da59 100644 --- a/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-credit-card-codes-all-api.mdx +++ b/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-credit-card-codes-all-api.mdx @@ -4,99 +4,88 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; -import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets a list of standard codes and names for all credit card companies (based on KFTC codes). +## Gets a list of standard codes and names for all credit card companies (based on KFTC codes). - - - - -### Responses - - - - -**`code`** **\***** ****integer** - -**Response code** - -0: success, Not 0: check the message - -**`message`** **\***** ****string** + -**Response message** + ### Responses -A non-zero code includes a message like 'Invalid payment info'. + + + + **`code`** **\*** **integer** -**`response`****`(Array[StandardCodeAnnotation], optional)`** + **Response code** - - + 0: success, Not 0: check the message - - -**`code`****`*`****`string`** + **`message`** **\*** **string** -**`Institution code (from KFTC)`** + **Response message** -**`name`` `****`*`****`string`** + A non-zero code includes a message like 'Invalid payment info'. -**`Institution name (from KFTC)`** + **`response`****`(Array[StandardCodeAnnotation], optional)`** + + - - + + + **`code`****`*`****`string`** - + **`Institution code (from KFTC)`** - -```javascript -{ - // Response -} -``` + **`name`` `****`*`****`string`** - + **`Institution name (from KFTC)`** + + + - -```javascript -{ - // Response -} -``` - - - - - -
-

Response Model Schema

+ + ```ts + { + // Response + } + ``` + -``` -{ - "code": 0, - "message": "string", - "response": [ + + ```ts { - "code": "string", - "name": "string" + // Response } - ] -} -``` + ``` + + +
+

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "code": "string", + "name": "string" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/codes/allCardCodes**](https://api.iamport.kr/#!/codes/allCardCodes) + **Swagger Test Link** + [**https://api.iamport.kr/#!/codes/allCardCodes**](https://api.iamport.kr/#!/codes/allCardCodes) diff --git a/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-credit-card-name-api.mdx b/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-credit-card-name-api.mdx index 8337dad2e..d10b684f1 100644 --- a/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-credit-card-name-api.mdx +++ b/src/content/docs/en/api/miscellaneous-api/financial-institution-codes/get-credit-card-name-api.mdx @@ -4,110 +4,97 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets the credit card name for a credit card code. +## Gets the credit card name for a credit card code. - - - - -### Parameters - -#### Path - - - + -**Credit card code** + ### Parameters - + #### Path - + + + **Credit card code** + + -### Responses + ### Responses - - - -**`code`** **\***** ****integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***** ****string** + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. -**`response`****`(Array[StandardCodeAnnotation], optional)`** + **`response`****`(Array[StandardCodeAnnotation], optional)`** + + - - + + + **`code`****`*`****`string`** - - -**`code`****`*`****`string`** + **`Institution code (from KFTC)`** -**`Institution code (from KFTC)`** + **`name`` `****`*`****`string`** -**`name`` `****`*`****`string`** + **`Institution name (from KFTC)`** + + + -**`Institution name (from KFTC)`** - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "code": "string", - "name": "string" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "code": "string", + "name": "string" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/codes/cardCodes**](https://api.iamport.kr/#!/codes/cardCodes) + **Swagger Test Link** + [**https://api.iamport.kr/#!/codes/cardCodes**](https://api.iamport.kr/#!/codes/cardCodes) diff --git a/src/content/docs/en/api/miscellaneous-api/pg-information/get-pg-mids-api.mdx b/src/content/docs/en/api/miscellaneous-api/pg-information/get-pg-mids-api.mdx index 0a6236f7d..3d8b4559a 100644 --- a/src/content/docs/en/api/miscellaneous-api/pg-information/get-pg-mids-api.mdx +++ b/src/content/docs/en/api/miscellaneous-api/pg-information/get-pg-mids-api.mdx @@ -4,97 +4,88 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; -import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets a list of PG settings (MIDs) configured in the Admin console. +## Gets a list of PG settings (MIDs) configured in the Admin console. - - - - -### Responses + - - - -**`code`** **\***** ****integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\***\*\* ****string\*\* + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**`response`****`(Array[PgSettingAnnotation], optional)`** + A non-zero code includes a message like 'Invalid payment info'. - - + **`response`****`(Array[PgSettingAnnotation], optional)`** + + - - -**`pg_provider`****`*`****`string`** + + + **`pg_provider`****`*`****`string`** -**`PG code`** + **`PG code`** -[**PG codes**](../../../tips/pg-codes) + [**PG codes**](../../../tips/pg-codes) -**`pg_id`****`*`****`string`** + **`pg_id`****`*`****`string`** -**`PG MID`** + **`PG MID`** -**` sandbox`` `****`*`****`boolean`** + **`sandbox`** **`*`****`boolean`** -**`Test mode?`** + **`Test mode?`** -**` type`` `****`*`****`string`** + **`type`** **`*`****`string`** -**`PG setting type`** - -- `payment` : Authenticated payment (Admin console > PG settings \[general/subscription] tab) -- `api_payment` : API payment (Admin console > PG settings \[general/key-in] tab) -- `certification` : Identity verification (Admin console > identity verification tab) - - - - - + **`PG setting type`** + - `payment` : Authenticated payment (Admin console > PG settings \[general/subscription] tab) + - `api_payment` : API payment (Admin console > PG settings \[general/key-in] tab) + - `certification` : Identity verification (Admin console > identity verification tab) + + +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": [ - { - "pg_provider": "string", - "pg_id": "string", - "sandbox": true, - "type": "payment" - } - ] -} -``` - +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "pg_provider": "string", + "pg_id": "string", + "sandbox": true, + "type": "payment" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/users/getPgSettingList**](https://api.iamport.kr/#!/users/getPgSettingList) + **Swagger Test Link** + [**https://api.iamport.kr/#!/users/getPgSettingList**](https://api.iamport.kr/#!/users/getPgSettingList) diff --git a/src/content/docs/en/api/overseas-pg-api/paymentwall-delivery-api.mdx b/src/content/docs/en/api/overseas-pg-api/paymentwall-delivery-api.mdx index e7c5c9782..3395c3527 100644 --- a/src/content/docs/en/api/overseas-pg-api/paymentwall-delivery-api.mdx +++ b/src/content/docs/en/api/overseas-pg-api/paymentwall-delivery-api.mdx @@ -4,241 +4,226 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Registers delivery information. +## Registers delivery information. Registers delivery information required by Paymentwall for e-Commerce (physical goods) businesses. - -If omitted, you cannot receive settlement from Paymentwall. - - - -### Parameters - -#### Body - - - - -**i'mport transaction ID** - - + + If omitted, you cannot receive settlement from Paymentwall. + - - - + ### Parameters -**Order ID** + #### Body - + + + **i'mport transaction ID** + + - - -**Product code** + + + **Order ID** + + -**`physical`** + + **Product code** -**`digital`** + **`physical`** - - -**Delivery status code** + **`digital`** + -**`order_placed`** + + **Delivery status code** -**`order_shipped`** + **`order_placed`** -**`delivering`** + **`order_shipped`** -**`delivered`** + **`delivering`** - - -**Tracking number** + **`delivered`** + -Required for physical order + + **Tracking number** - - -**Courier name** + Required for physical order + -Required for physical order + + **Courier name** - - -**Estimated delivery date/time** + Required for physical order + -Unix timestamp + + **Estimated delivery date/time** -(May specify current time for digital order) + Unix timestamp - - -**Estimated status update date/time** + (May specify current time for digital order) + -Unix timestamp sec + + **Estimated status update date/time** -(May specify current time for digital order) + Unix timestamp sec - - -**Reason** + (May specify current time for digital order) + - - -**Refundable?** + + **Reason** + -`yes` + + **Refundable?** -`no` + `yes` - - -**Details** + `no` + - - - + + **Details** + -**Recipient's email** + + + **Recipient's email** + + - + + **Recipient's country** - - -**Recipient's country** + Required for physical order + -Required for physical order + + **Recipient's city** - - -**Recipient's city** + Required for physical order + -Required for physical order + + **Recipient's zip code** - - -**Recipient's zip code** + Required for physical order + -Required for physical order + + **Recipient's state** - - -**Recipient's state** + Set to 'N/A' if outside of USA -Set to 'N/A' if outside of USA + Required for physical order + -Required for physical order + + **Recipient's street name** - - -**Recipient's street name** + Required for physical order + -Required for physical order + + **Recipient's phone** - - -**Recipient's phone** + Required for physical order + -Required for physical order + + **Recipient's first name** - - -**Recipient's first name** + Required for physical order + -Required for physical order + + **Recipient's last name** - - -**Recipient's last name** + Required for physical order + -Required for physical order + ### Responses - + + + + **`code`** **\*** **integer** -### Responses + **Response code** - - - -**`code`** **\***** ****integer** + 0: success, Not 0: check the message -**Response code** + **`message`** **\*** **string** -0: success, Not 0: check the message + **Response message** -**`message`** **\***\*\* ****string\*\* + A non-zero code includes a message like 'Invalid payment info'. -**Response message** + **response** **(PaymentwallDeliveryDetailAnnotation, optional):** -A non-zero code includes a message like 'Invalid payment info'. + Includes multiple error messages or 'success: 1' message when successful. + + -**response** **(PaymentwallDeliveryDetailAnnotation, optional):** + + + **`error_code`****`integer`** -Includes multiple error messages or 'success: 1' message when successful. + Success if null. Otherwise, check notices for error message. - - + **`error`` `****`string`** - - -**`error_code`****`integer`** + **`Error message`** -Success if null. Otherwise, check notices for error message. + **`notices`` `****`Array[string]`** -**` error`` `****`string`** - -**`Error message`** - -**` notices`` `****`Array[string]`** - -**`Detailed error message`** - - - - - - - -```javascript -{ - // Response -} -``` - - + **`Detailed error message`** + + + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "error_code": 0, - "error": "string", - "notices": ["string"] +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "error_code": 0, + "error": "string", + "notices": ["string"] + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/paymentwall/paymentwall_delivery**](https://api.iamport.kr/#!/paymentwall/paymentwall_delivery) + **Swagger Test Link** + [**https://api.iamport.kr/#!/paymentwall/paymentwall\_delivery**](https://api.iamport.kr/#!/paymentwall/paymentwall_delivery) diff --git a/src/content/docs/en/api/payment-api/cancel-payment-api.mdx b/src/content/docs/en/api/payment-api/cancel-payment-api.mdx index c7d8a5632..ba74863fa 100644 --- a/src/content/docs/en/api/payment-api/cancel-payment-api.mdx +++ b/src/content/docs/en/api/payment-api/cancel-payment-api.mdx @@ -4,366 +4,353 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### C**ancels a payment in full or partially regardless of the payment method and PG.** +## Cancels a payment in full or partially regardless of the payment method and PG. - -Credit card/instant account transfer/mobile micropayment: cancellation is processed immediately. - -Virtual account: if you provide the refund account information, the refund information will be registered with PG and processed on the next business day. **(Requires virtual account special service contract)** - - - -### Parameters - -#### Body - - - - -**ChaiPort transaction ID** - - - - - -**Order ID (Required if imp_uid is null)** + + Credit card/instant account transfer/mobile micropayment: cancellation is processed immediately. - - -Amount to refund ( + Virtual account: if you provide the refund account information, the refund information will be registered with PG and processed on the next business day. **(Requires virtual account special service contract)** + -**Full refund if null** + ### Parameters -) + #### Body - - -Tax free amount out of + + + **ChaiPort transaction ID** + + -`amount` + + **Order ID (Required if imp\_uid is null)** + - ( + + Amount to refund ( -**0 if null** + **Full refund if null** -) + ) + - - -Refundable amount + + Tax free amount out of - - -**Reason for cancellation** + `amount` - - -**Refund account holder** + ( - (Required for + **0 if null** -**virtual account** + ) + - cancellation) + + Refundable amount + - - -Refund account bank code (Refer to bank codes list below, required for + + **Reason for cancellation** + -**virtual account** + + **Refund account holder** - cancellation) + (Required for - - -Refund account number (Required for + **virtual account** -**virtual account** + cancellation) + - cancellation) + + Refund account bank code (Refer to bank codes list below, required for - - -Refund account holder's phone number (Required for + **virtual account** -**virtual account** + cancellation) + - cancellation and + + Refund account number (Required for - + **virtual account** -**Smartro PG** + cancellation) + - + + Refund account holder's phone number (Required for -) + **virtual account** - + cancellation and -### Responses + + **Smartro PG** + - - - -**`code`** **\***** ****integer** + ) + -**Response code** + ### Responses -0: success, \ -Not 0: check the message + + + + **`code`** **\*** **integer** -**`message`** **\***** ****string** + **Response code** -**Response message** + 0: success, \ + Not 0: check the message -A non-zero code includes a message like 'Invalid payment info. + **`message`** **\*** **string** -**`response`** **(PagedPaymentAnnotation, optional)** + **Response message** - - + A non-zero code includes a message like 'Invalid payment info. - - -**`imp_uid`** \* **string(32)** + **`response`** **(PagedPaymentAnnotation, optional)** + + -**i'mport payment transaction UID** + + + **`imp_uid`** \* **string(32)** -**`merchant_uid`** **\***** ****string(40)** + **i'mport payment transaction UID** -**Order ID** + **`merchant_uid`** **\*** **string(40)** -**`pay_method`** **\***** ****string(20)** + **Order ID** -**Payment method code** + **`pay_method`** **\*** **string(20)** -**`channel`** **\***** ****string(10)** + **Payment method code** -**Payment environment code** + **`channel`** **\*** **string(10)** -\['pc', 'mobile', 'api'] + **Payment environment code** -**`pg_provider`** **\***** ****string(16)** + \['pc', 'mobile', 'api'] -**PG code** + **`pg_provider`** **\*** **string(16)** ---- - -**`emb_pg_provider`** **\***** ****string(16)** - -**Hub-type PG code** + **PG code** -**`pg_tid`** **\*** **string(80)** + --- -**PG transaction ID** + **`emb_pg_provider`** **\*** **string(16)** -**`pg_id`** **\***** ****string(80)** + **Hub-type PG code** -**PG MID** + **`pg_tid`** **\*** **string(80)** -**`escrow`** **boolean** + **PG transaction ID** -**Indicates an escrow payment** + **`pg_id`** **\*** **string(80)** -**`apply_num`** **string(20)** + **PG MID** -**Credit card approval number** + **`escrow`** **boolean** -**`bank_code`** **string(4)** + **Indicates an escrow payment** -**Bank code** + **`apply_num`** **string(20)** -**`bank_name`** **string(20)** - -**Bank name** - ---- + **Credit card approval number** -**`card_code`** **string(3)** + **`bank_code`** **string(4)** -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **Bank code** -**`card_name`** **string(20)** + **`bank_name`** **string(20)** -**Credit card name** + **Bank name** -**`card_quota`** **integer** + --- -**Number of installments (0 means one-off)** + **`card_code`** **string(3)** -**`card_number`** **string(20)** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**Masked credit card number** + **`card_name`** **string(20)** ---- + **Credit card name** -**`card_type`** **string(2)** + **`card_quota`** **integer** -**Card type code** + **Number of installments (0 means one-off)** -**`vbank_code`** **string(4)** + **`card_number`** **string(20)** -**Virtual account bank code (refer to image below)** + **Masked credit card number** ---- + --- -**`vbank_name`** **string(20)** + **`card_type`** **string(2)** -**Refund virtual account** + **Card type code** -**`vbank_holder`** **string(16)** + **`vbank_code`** **string(4)** -**Refund virtual account holder** + **Virtual account bank code (refer to image below)** -**`vbank_date`** **string** + --- -**Refund virtual account expiration (UNIX timestamp)** + **`vbank_name`** **string(20)** -**`vbank_issued_at`** **string** + **Refund virtual account** -**Refund virtual account created at (UNIX timestamp)** + **`vbank_holder`** **string(16)** -**`name`** **string(40)** + **Refund virtual account holder** -**Product name** + **`vbank_date`** **string** -**`amount`** **\*** **integer** + **Refund virtual account expiration (UNIX timestamp)** -**Order (payment) amount** + **`vbank_issued_at`** **string** -**`cancel_amount`** **integer** + **Refund virtual account created at (UNIX timestamp)** -**Cancelled amount** + **`name`** **string(40)** -**`currency`** **string(3)** + **Product name** -**Currency** + **`amount`** **\*** **integer** ---- + **Order (payment) amount** -**`buyer_name`** **string(16)** + **`cancel_amount`** **integer** -**Customer name** + **Cancelled amount** -**`buyer_email`** **string(64)** + **`currency`** **string(3)** -**Customer email**\ + **Currency** -**`buyer_tel`** **string(16)** + --- -**Customer phone** + **`buyer_name`** **string(16)** -**`buyer_addr`** **string(128)** + **Customer name** -**Customer address** + **`buyer_email`** **string(64)** -**`buyer_postcode`** **string(8)** + **Customer email**\\ -**Customer zip code** + **`buyer_tel`** **string(16)** -**`custom_data`** **string** + **Customer phone** -**echo data as JSON string** + **`buyer_addr`** **string(128)** -**`user_agent`** **string(256)** + **Customer address** -**UserAgent of the device where payment is initiated** + **`buyer_postcode`** **string(8)** -**`status`** **\***** ****string(20)** + **Customer zip code** -**Payment status code** + **`custom_data`** **string** -**`started_at`** **\*** **string** + **echo data as JSON string** -**Payment started at (UNIX timestamp)** + **`user_agent`** **string(256)** -**`paid_at`** **\***** ****string** + **UserAgent of the device where payment is initiated** -**Payment completed at (UNIX timestamp)**\ + **`status`** **\*** **string(20)** -**`failed_at`** **\***** ****string** + **Payment status code** -**Payment failed at (UNIX timestamp)** + **`started_at`** **\*** **string** -**`cancelled_at`** **\***** ****string** + **Payment started at (UNIX timestamp)** -**Payment cancelled at (UNIX timestamp)** + **`paid_at`** **\*** **string** -**`fail_reason`** **string(256)** + **Payment completed at (UNIX timestamp)**\\ -**Reason for failure** + **`failed_at`** **\*** **string** -**`cancel_reason`** **string(256)** + **Payment failed at (UNIX timestamp)** -**Reason for cancellation** + **`cancelled_at`** **\*** **string** -**`receipt_url`** **string(300)** + **Payment cancelled at (UNIX timestamp)** -**Credit card receipt URL** + **`fail_reason`** **string(256)** -**`cash_receipt_issued` ****boolean** + **Reason for failure** -**Option to automatically issue cash receipt** + **`cancel_reason`** **string(256)** -**`customer_uid`** **string(80)** + **Reason for cancellation** -**customer\_uid related to the payment transaction** + **`receipt_url`** **string(300)** -**`customer_uid_usage`** **string****(20)** + **Credit card receipt URL** -**customer\_uid use code** + **`cash_receipt_issued`** **boolean** -\['issue', 'payment', 'payment.scheduled'] + **Option to automatically issue cash receipt** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`customer_uid`** **string(80)** -**`Cancellation/partial cancellation history`** + **customer\_uid related to the payment transaction** - - + **`customer_uid_usage`** **string****(20)** - - -**cancel\_history array \[]** + **customer\_uid use code** -**`pg_tid`** **\***** ****string** + \['issue', 'payment', 'payment.scheduled'] -**PG cancellation transaction ID** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**`amount`** **\*** **integer** + **`Cancellation/partial cancellation history`** + + -**Cancelled amount** + + + **cancel\_history array \[]** -**`cancelled_at`** **\*** **string** + **`pg_tid`** **\*** **string** -Cancelled at (UNIX timestamp) + **PG cancellation transaction ID** -**`reason`** **\*** **string(256)** + **`amount`** **\*** **integer** -**Reason for cancellation** + **Cancelled amount** -**`receipt_url`** **\***** ****string(300)** + **`cancelled_at`** **\*** **string** -**Cancellation receipt URL. Availability varies by PG.** + Cancelled at (UNIX timestamp) - - + **`reason`** **\*** **string(256)** - + **Reason for cancellation** - + **`receipt_url`** **\*** **string(300)** - + **Cancellation receipt URL. Availability varies by PG.** + + + + ### **Key parameters** @@ -378,89 +365,86 @@ Cancelled at (UNIX timestamp) > > The `checksum` is used to check whether the refundable amount is the same between the API > requester and the i'mport server. If they do not match, the refund request will fail. If the -> `checksum` is null, the verification is not performed.\ -> +> `checksum` is null, the verification is not performed.\\ -> **`amount`** **\***** ****integer** +> **`amount`** **\*** **integer** > > **Amount to cancel** > > If not specified, a full refund is requested.
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments/cancelPayment**](https://api.iamport.kr/#!/payments/cancelPayment) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments/cancelPayment**](https://api.iamport.kr/#!/payments/cancelPayment) diff --git a/src/content/docs/en/api/payment-api/get-balance-api-for-split-payment-transaction.mdx b/src/content/docs/en/api/payment-api/get-balance-api-for-split-payment-transaction.mdx index 2c8a911ae..1fe56de86 100644 --- a/src/content/docs/en/api/payment-api/get-balance-api-for-split-payment-transaction.mdx +++ b/src/content/docs/en/api/payment-api/get-balance-api-for-split-payment-transaction.mdx @@ -4,225 +4,211 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets the balance of a transaction paid for using multiple payment methods. +## Gets the balance of a transaction paid for using multiple payment methods. - -This is currently supported only by PAYCO. - - - -### Parameters - -#### Path - - - - -**i'mport order ID** + + This is currently supported only by PAYCO. + - + ### Parameters - + #### Path -### Responses + + + **i'mport order ID** + + - - - -**`code`** **\***** ****integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\***** ****string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**`response`` `****`(PaymentBalanceResponseAnnotation, optional)`** + A non-zero code includes a message like 'Invalid payment info'. - - + **`response`` `****`(PaymentBalanceResponseAnnotation, optional)`** + + - - -**`amount`` `****`Integer`** + + + **`amount`` `****`Integer`** -**`Total amount`** + **`Total amount`** -**`cash_receipt`` `****`(PaymentBalanceAnnotation):`** + **`cash_receipt`` `****`(PaymentBalanceAnnotation):`** -**`Cash receipt amount`** + **`Cash receipt amount`** -**`primary`` `****`(PaymentBalanceAnnotation):`** + **`primary`` `****`(PaymentBalanceAnnotation):`** -**`Payment method 1`**(credit card, account transfer, virtual account, mobile micropayment) amount + **`Payment method 1`**(credit card, account transfer, virtual account, mobile micropayment) amount -**`secondary`` `****`(PaymentBalanceAnnotation):`** + **`secondary`` `****`(PaymentBalanceAnnotation):`** -**`Payment method 2`** PG/credit card points amount + **`Payment method 2`** PG/credit card points amount -**`discount`` `****`(PaymentBalanceAnnotation):`** + **`discount`` `****`(PaymentBalanceAnnotation):`** -**`PG/credit card discount amount`** + **`PG/credit card discount amount`** -**`histories`` `****`(Array[PaymentBalanceBaseAnnotation], optional)`** + **`histories`` `****`(Array[PaymentBalanceBaseAnnotation], optional)`** -**`PaymentBalance history`** + **`PaymentBalance history`** + + - - + + + **`tax_free`` `****`Integer`** - - -**`tax_free`` `****`Integer`** + **`Tax free amount`** (excludes any refunded amount) -**`Tax free amount`** (excludes any refunded amount) + **`supply`` `****`Integer`** -**`supply`` `****`Integer`** + **`Taxed amount`** (excludes any refunded amount) -**`Taxed amount`** (excludes any refunded amount) + **`vat`** **`Integer`** -**`vat`** **`Integer`** + **`Tax`** (excludes any refunded amount) -**`Tax`** (excludes any refunded amount) + **`service`` `****`Integer`** -**`service`` `****`Integer`** + **`Fee`** (excludes any refunded amount) + + -**`Fee`** (excludes any refunded amount) + + + **`cash_receipt`` `****`(PaymentBalanceAnnotation):`** - - + **`Cash receipt amount`** - - -**`cash_receipt`` `****`(PaymentBalanceAnnotation):`** + **`primary`` `****`(PaymentBalanceAnnotation):`** -**`Cash receipt amount`** + **`Payment method 1`**(credit card, account transfer, virtual account, mobile micropayment) amount -**`primary`` `****`(PaymentBalanceAnnotation):`** + **`secondary`` `****`(PaymentBalanceAnnotation):`** -**`Payment method 1`**(credit card, account transfer, virtual account, mobile micropayment) amount + **`Payment method 2`** PG/credit card points amount -**`secondary`` `****`(PaymentBalanceAnnotation):`** + **`discount`` `****`(PaymentBalanceAnnotation):`** -**`Payment method 2`** PG/credit card points amount + **`PG/credit card discount amount`** -**`discount`` `****`(PaymentBalanceAnnotation):`** + **`created *`` `****`integer`** -**`PG/credit card discount amount`** + **`Balance created at (UNIX timestamp)`** + + + -**`created *`` `****`integer`** - -**`Balance created at (UNIX timestamp)`** - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "amount": 0, - "cash_receipt": { - "tax_free": 0, - "supply": 0, - "vat": 0, - "service": 0 - }, - "primary": { - "tax_free": 0, - "supply": 0, - "vat": 0, - "service": 0 - }, - "secondary": { - "tax_free": 0, - "supply": 0, - "vat": 0, - "service": 0 - }, - "discount": { - "tax_free": 0, - "supply": 0, - "vat": 0, - "service": 0 - }, - "histories": [ - { - "cash_receipt": { - "tax_free": 0, - "supply": 0, - "vat": 0, - "service": 0 - }, - "primary": { - "tax_free": 0, - "supply": 0, - "vat": 0, - "service": 0 - }, - "secondary": { - "tax_free": 0, - "supply": 0, - "vat": 0, - "service": 0 - }, - "discount": { - "tax_free": 0, - "supply": 0, - "vat": 0, - "service": 0 - }, - "created": 0 - } - ] +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "amount": 0, + "cash_receipt": { + "tax_free": 0, + "supply": 0, + "vat": 0, + "service": 0 + }, + "primary": { + "tax_free": 0, + "supply": 0, + "vat": 0, + "service": 0 + }, + "secondary": { + "tax_free": 0, + "supply": 0, + "vat": 0, + "service": 0 + }, + "discount": { + "tax_free": 0, + "supply": 0, + "vat": 0, + "service": 0 + }, + "histories": [ + { + "cash_receipt": { + "tax_free": 0, + "supply": 0, + "vat": 0, + "service": 0 + }, + "primary": { + "tax_free": 0, + "supply": 0, + "vat": 0, + "service": 0 + }, + "secondary": { + "tax_free": 0, + "supply": 0, + "vat": 0, + "service": 0 + }, + "discount": { + "tax_free": 0, + "supply": 0, + "vat": 0, + "service": 0 + }, + "created": 0 + } + ] + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments/balanceByImpUid**](https://api.iamport.kr/#!/payments/balanceByImpUid) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments/balanceByImpUid**](https://api.iamport.kr/#!/payments/balanceByImpUid) diff --git a/src/content/docs/en/api/payment-api/get-payment-amount-api.mdx b/src/content/docs/en/api/payment-api/get-payment-amount-api.mdx index b4d9c228a..0482f730f 100644 --- a/src/content/docs/en/api/payment-api/get-payment-amount-api.mdx +++ b/src/content/docs/en/api/payment-api/get-payment-amount-api.mdx @@ -4,103 +4,91 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets the amount saved via [**save payment amount API**](save-payment-amount-api). +## Gets the amount saved via [**save payment amount API**](save-payment-amount-api). - - - - -### Parameters - -#### Body - - - + -**Merchant order ID** + ### Parameters - + #### Body - + + + **Merchant order ID** + + -### Responses + ### Responses - - - -**`code`** **\***** ****integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\***\*\* ****string\*\* + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. - - **`response (PaymentPrepareAnnotation, optional)`** - + + **`response (PaymentPrepareAnnotation, optional)`** + + + - - + + + **`merchant_uid`` `****`*`****` `****`string`** - - -**`merchant_uid`` `****`*`****` `****`string`** + **`Merchant order ID`** -**`Merchant order ID`** + **`amount`****`*`****`number`** -**`amount`****`*`****`number`** - -**`Payment amount`** - - - - - - - -```javascript -{ - // Response -} -``` - - + **`Payment amount`** + + + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "merchant_uid": "string", - "amount": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "merchant_uid": "string", + "amount": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments.validation/getPaymentPrepareByMerchantUid**](https://api.iamport.kr/#!/payments.validation/getPaymentPrepareByMerchantUid) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments.validation/getPaymentPrepareByMerchantUid**](https://api.iamport.kr/#!/payments.validation/getPaymentPrepareByMerchantUid) diff --git a/src/content/docs/en/api/payment-api/get-payment-api.mdx b/src/content/docs/en/api/payment-api/get-payment-api.mdx index d1b6dfe6b..970da4c6b 100644 --- a/src/content/docs/en/api/payment-api/get-payment-api.mdx +++ b/src/content/docs/en/api/payment-api/get-payment-api.mdx @@ -4,406 +4,392 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets the details of a payment by imp\_uid. +## Gets the details of a payment by imp\_uid. - - - - -### Parameters - -#### Path - - - - -**Transaction ID** - - - - + -### Responses + ### Parameters - - - -**`code`** **\***** ****integer** + #### Path -**Response code** + + + **Transaction ID** + + -0: success, Not 0: check the message + ### Responses -**`message`** **\***** ****string** + + + + **`code`** **\*** **integer** -**Response message** + **Response code** -A non-zero code includes a message like 'Invalid payment info. + 0: success, Not 0: check the message -**`response`** **(PaymentAnnotation, optional)** + **`message`** **\*** **string** - - + **Response message** - - -**`code`** **\***** ****integer** + A non-zero code includes a message like 'Invalid payment info. -**`Response code`** + **`response`** **(PaymentAnnotation, optional)** + + -0: success, Not 0: check the message + + + **`code`** **\*** **integer** -**`message`** **\***** ****string** + **`Response code`** -**Response message** + 0: success, Not 0: check the message -A non-zero code includes a message like 'Invalid payment info. + **`message`** **\*** **string** -**`imp_uid`** \* **string** + **Response message** -**i'mport payment transaction UID** + A non-zero code includes a message like 'Invalid payment info. -**`merchant_uid`** **\***** ****string** + **`imp_uid`** \* **string** -**Order ID** + **i'mport payment transaction UID** -**`pay_method`** **\***** ****string** + **`merchant_uid`** **\*** **string** -**Payment method code** + **Order ID** -**`channel`** **\***** ****string** + **`pay_method`** **\*** **string** -**Payment environment code** + **Payment method code** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **`channel`** **\*** **string** -**`pg_provider`** **\***** ****string** + **Payment environment code** -**PG code** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated ---- - -**`emb_pg_provider`** **\***** ****string** + **`pg_provider`** **\*** **string** -**Hub-type PG code** + **PG code** -**`pg_tid`** **\*** **string** + --- -**PG transaction ID** + **`emb_pg_provider`** **\*** **string** -**`pg_id`** **\***** ****string** + **Hub-type PG code** -**PG MID** + **`pg_tid`** **\*** **string** -**`escrow`** **boolean** + **PG transaction ID** -**Indicates an escrow payment** + **`pg_id`** **\*** **string** -**`apply_num`** **string** + **PG MID** -**Credit card approval number** + **`escrow`** **boolean** -**`bank_code`** **string** + **Indicates an escrow payment** -**Bank code** + **`apply_num`** **string** -**`bank_name`** **string** + **Credit card approval number** -**Bank name** + **`bank_code`** **string** ---- + **Bank code** -**`card_code`** **string** + **`bank_name`** **string** -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **Bank name** -**`card_name`** **string** + --- -**Credit card name** + **`card_code`** **string** -**`card_quota`** **integer** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**Number of installments (0 means one-off)** + **`card_name`** **string** -**`card_number`** **string** + **Credit card name** -**Masked credit card number** + **`card_quota`** **integer** ---- + **Number of installments (0 means one-off)** -**`card_type`** **string** + **`card_number`** **string** -**Credit card type code** + **Masked credit card number** -- 0: credit -- 1: check + --- -**`vbank_code`** **string** + **`card_type`** **string** -**Virtual account bank code (refer to image below)** + **Credit card type code** ---- + - 0: credit + - 1: check -**`vbank_name`** **string** + **`vbank_code`** **string** -**Refund virtual account** + **Virtual account bank code (refer to image below)** -**`vbank_holder`** **string** + --- -**Refund virtual account holder** + **`vbank_name`** **string** -**`vbank_date`** **string** + **Refund virtual account** -**Refund virtual account expiration (UNIX timestamp)** + **`vbank_holder`** **string** -**`vbank_issued_at`** **string** + **Refund virtual account holder** -**Refund virtual account created at (UNIX timestamp)** + **`vbank_date`** **string** -**`name`** **string** + **Refund virtual account expiration (UNIX timestamp)** -**Product name** + **`vbank_issued_at`** **string** -**`amount`** **\*** **integer** + **Refund virtual account created at (UNIX timestamp)** -**Order (payment) amount** + **`name`** **string** -**`cancel_amount`** **integer** + **Product name** -**Cancelled amount** + **`amount`** **\*** **integer** -**`currency`** **string** + **Order (payment) amount** -**Currency** + **`cancel_amount`** **integer** -- USD -- KRW -- EUR + **Cancelled amount** ---- + **`currency`** **string** -**`buyer_name`** **string** + **Currency** -**Customer name** + - USD + - KRW + - EUR -**`buyer_email`** **string** + --- -**Customer email**\ + **`buyer_name`** **string** -**`buyer_tel`** **string** + **Customer name** -**Customer phone** + **`buyer_email`** **string** -**`buyer_addr`** **string** + **Customer email**\\ -**Customer address** + **`buyer_tel`** **string** -**`buyer_postcode`** **string** + **Customer phone** -**Customer zip code** + **`buyer_addr`** **string** -**`custom_data`** **string** + **Customer address** -**echo data as JSON string** + **`buyer_postcode`** **string** -**`user_agent`** **string** + **Customer zip code** -**UserAgent of the device where payment is initiated** + **`custom_data`** **string** -**`status`** **\***** ****string** + **echo data as JSON string** -**Payment status code** + **`user_agent`** **string** -- ready -- paid -- cancelled -- failed + **UserAgent of the device where payment is initiated** -**`started_at`** **\*** **string** + **`status`** **\*** **string** -**Payment started at (UNIX timestamp)** + **Payment status code** -**`paid_at`** **\***** ****string** + - ready + - paid + - cancelled + - failed -**Payment completed at (UNIX timestamp)**\ + **`started_at`** **\*** **string** -**`failed_at`** **\***** ****string** + **Payment started at (UNIX timestamp)** -**Payment failed at (UNIX timestamp)** + **`paid_at`** **\*** **string** -**`cancelled_at`** **\***** ****string** + **Payment completed at (UNIX timestamp)**\\ -**Payment cancelled at (UNIX timestamp)** + **`failed_at`** **\*** **string** -**`fail_reason`** **string** + **Payment failed at (UNIX timestamp)** -**Reason for failure** + **`cancelled_at`** **\*** **string** -**`cancel_reason`** **string** + **Payment cancelled at (UNIX timestamp)** -**Reason for cancellation** + **`fail_reason`** **string** -**`receipt_url`** **string** + **Reason for failure** -**Credit card receipt URL** + **`cancel_reason`** **string** -**`cash_receipt_issued` ****boolean** + **Reason for cancellation** -**Option to automatically issue cash receipt** + **`receipt_url`** **string** -**`customer_uid`** **string** + **Credit card receipt URL** -**customer\_uid related to the payment transaction** + **`cash_receipt_issued`** **boolean** -**`customer_uid_usage`** **string** + **Option to automatically issue cash receipt** -**customer\_uid use code** + **`customer_uid`** **string** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **customer\_uid related to the payment transaction** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`customer_uid_usage`** **string** -**`Cancellation/partial cancellation history`** + **customer\_uid use code** - - + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance - - -**cancel\_history array \[]** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**`pg_tid`** **\***** ****string** + **`Cancellation/partial cancellation history`** + + -**PG cancellation transaction ID** + + + **cancel\_history array \[]** -**`amount`** **\*** **integer** + **`pg_tid`** **\*** **string** -**Cancelled amount** + **PG cancellation transaction ID** -**`cancelled_at`** **\*** **string** + **`amount`** **\*** **integer** -**Cancelled at (UNIX timestamp)** + **Cancelled amount** -**`reason`** **\*** **string(256)** + **`cancelled_at`** **\*** **string** -**Reason for cancellation** + **Cancelled at (UNIX timestamp)** -**`receipt_url`** **\***** ****string(300)** + **`reason`** **\*** **string(256)** -**Cancellation receipt URL. Availability varies by PG.** + **Reason for cancellation** - - + **`receipt_url`** **\*** **string(300)** - + **Cancellation receipt URL. Availability varies by PG.** + + + - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments/getPaymentByImpUid**](https://api.iamport.kr/#!/payments/getPaymentByImpUid) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments/getPaymentByImpUid**](https://api.iamport.kr/#!/payments/getPaymentByImpUid) diff --git a/src/content/docs/en/api/payment-api/get-payments-api.mdx b/src/content/docs/en/api/payment-api/get-payments-api.mdx index 57bcdd178..52f4765a4 100644 --- a/src/content/docs/en/api/payment-api/get-payments-api.mdx +++ b/src/content/docs/en/api/payment-api/get-payments-api.mdx @@ -4,415 +4,402 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets the details of payments by multiple imp\_uids or merchant\_uids. +## Gets the details of payments by multiple imp\_uids or merchant\_uids. - -**Example call**\ -`/payments?imp_uid[]=imp_448280090638&imp_uid[]=imp_448280090639&merchant_uid[]=merchant_143434085216` - -Returns up to 100 - - - -### Parameters - -#### Query - - - - -**Transaction ID** - - - -Order ID - - - -### Responses - - - - -**`code`** **\***** ****integer** + + **Example call**\ + `/payments?imp_uid[]=imp_448280090638&imp_uid[]=imp_448280090639&merchant_uid[]=merchant_143434085216` -**Response code** + Returns up to 100 + -0: success, \ -Not 0: check the message + ### Parameters -**`message`** **\***** ****string** + #### Query -**Response message** + + **Transaction ID** + -A non-zero code includes a message like 'Invalid payment info. + + Order ID + -**`response`** **(Array\[PaymentAnnotation], optional)** + ### Responses - - + + + + **`code`** **\*** **integer** - - -**`code`** **\***** ****integer** + **Response code** -**`Response code`** + 0: success, \ + Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***** ****string** + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info. -A non-zero code includes a message like 'Invalid payment info. + **`response`** **(Array\[PaymentAnnotation], optional)** + + -**`imp_uid`** \* **string** + + + **`code`** **\*** **integer** -**i'mport payment transaction UID** + **`Response code`** -**`merchant_uid`** **\***** ****string** + 0: success, Not 0: check the message -**Order ID** + **`message`** **\*** **string** -**`pay_method`** **\***** ****string** + **Response message** -**Payment method code** + A non-zero code includes a message like 'Invalid payment info. -**`channel`** **\***** ****string** + **`imp_uid`** \* **string** -**Payment environment code** + **i'mport payment transaction UID** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **`merchant_uid`** **\*** **string** -**`pg_provider`** **\***** ****string** + **Order ID** -**PG code** + **`pay_method`** **\*** **string** ---- + **Payment method code** -**`emb_pg_provider`** **\***** ****string** + **`channel`** **\*** **string** -**Hub-type PG code** + **Payment environment code** -**`pg_tid`** **\*** **string** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**PG transaction ID** + **`pg_provider`** **\*** **string** -**`pg_id`** **\***** ****string** + **PG code** -**PG MID** + --- -**`escrow`** **boolean** + **`emb_pg_provider`** **\*** **string** -**Indicates an escrow payment** + **Hub-type PG code** -**`apply_num`** **string** + **`pg_tid`** **\*** **string** -**Credit card approval number** + **PG transaction ID** -**`bank_code`** **string** + **`pg_id`** **\*** **string** -**Bank code** + **PG MID** -**`bank_name`** **string** + **`escrow`** **boolean** -**Bank name** + **Indicates an escrow payment** ---- + **`apply_num`** **string** -**`card_code`** **string** + **Credit card approval number** -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **`bank_code`** **string** -**`card_name`** **string** + **Bank code** -**Credit card name** + **`bank_name`** **string** -**`card_quota`** **integer** + **Bank name** -**Number of installments (0 means one-off)** + --- -**`card_number`** **string** + **`card_code`** **string** -**Masked credit card number** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) ---- + **`card_name`** **string** -**`card_type`** **string** + **Credit card name** -**Credit card type code** + **`card_quota`** **integer** -- 0: credit -- 1: check + **Number of installments (0 means one-off)** -**`vbank_code`** **string** + **`card_number`** **string** -**Virtual account bank code (refer to image below)** + **Masked credit card number** ---- + --- -**`vbank_name`** **string** + **`card_type`** **string** -**Refund virtual account** + **Credit card type code** -**`vbank_holder`** **string** + - 0: credit + - 1: check -**Refund virtual account holder** + **`vbank_code`** **string** -**`vbank_date`** **string** + **Virtual account bank code (refer to image below)** -**Refund virtual account expiration (UNIX timestamp)** + --- -**`vbank_issued_at`** **string** + **`vbank_name`** **string** -**Refund virtual account created at (UNIX timestamp)** + **Refund virtual account** -**`name`** **string** + **`vbank_holder`** **string** -**Product name** + **Refund virtual account holder** -**`amount`** **\*** **integer** + **`vbank_date`** **string** -**Order (payment) amount** + **Refund virtual account expiration (UNIX timestamp)** -**`cancel_amount`** **integer** + **`vbank_issued_at`** **string** -**Cancelled amount** + **Refund virtual account created at (UNIX timestamp)** -**`currency`** **string** + **`name`** **string** -**Currency** - -- USD -- KRW -- EUR - ---- + **Product name** -**`buyer_name`** **string** + **`amount`** **\*** **integer** -**Customer name** + **Order (payment) amount** -**`buyer_email`** **string** + **`cancel_amount`** **integer** -**Customer email**\ + **Cancelled amount** -**`buyer_tel`** **string** + **`currency`** **string** -**Customer phone** + **Currency** -**`buyer_addr`** **string** + - USD + - KRW + - EUR -**Customer address** + --- -**`buyer_postcode`** **string** + **`buyer_name`** **string** -**Customer zip code** + **Customer name** -**`custom_data`** **string** + **`buyer_email`** **string** -**echo data as JSON string** + **Customer email** -**`user_agent`** **string** + **`buyer_tel`** **string** -**UserAgent of the device where payment is initiated** + **Customer phone** -**`status`** **\***** ****string** + **`buyer_addr`** **string** -**Payment status code** + **Customer address** -- ready -- paid -- cancelled -- failed + **`buyer_postcode`** **string** -**`started_at`** **\*** **string** + **Customer zip code** -**Payment started at (UNIX timestamp)** + **`custom_data`** **string** -**`paid_at`** **\***** ****string** + **echo data as JSON string** -**Payment completed at (UNIX timestamp)**\ + **`user_agent`** **string** -**`failed_at`** **\***** ****string** + **UserAgent of the device where payment is initiated** -**Payment failed at (UNIX timestamp)** + **`status`** **\*** **string** -**`cancelled_at`** **\***** ****string** + **Payment status code** -**Payment cancelled at (UNIX timestamp)** + - ready + - paid + - cancelled + - failed -**`fail_reason`** **string** + **`started_at`** **\*** **string** -**Reason for failure** + **Payment started at (UNIX timestamp)** -**`cancel_reason`** **string** + **`paid_at`** **\*** **string** -**Reason for cancellation** + **Payment completed at (UNIX timestamp)** -**`receipt_url`** **string** + **`failed_at`** **\*** **string** -**Credit card receipt URL** + **Payment failed at (UNIX timestamp)** -**`cash_receipt_issued` ****boolean** + **`cancelled_at`** **\*** **string** -**Option to automatically issue cash receipt** + **Payment cancelled at (UNIX timestamp)** -**`customer_uid`** **string** + **`fail_reason`** **string** -**customer\_uid related to the payment transaction** + **Reason for failure** -**`customer_uid_usage`** **string** + **`cancel_reason`** **string** -**customer\_uid use code** + **Reason for cancellation** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **`receipt_url`** **string** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **Credit card receipt URL** -**`Cancellation/partial cancellation history`** + **`cash_receipt_issued`****boolean** - - + **Option to automatically issue cash receipt** - - -**cancel\_history array \[]** + **`customer_uid`** **string** -**`pg_tid`** **\***** ****string** + **customer\_uid related to the payment transaction** -**PG cancellation transaction ID** + **`customer_uid_usage`** **string** -**`amount`** **\*** **integer** + **customer\_uid use code** -**Cancelled amount** + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance -**`cancelled_at`** **\*** **string** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**Cancelled at (UNIX timestamp)** + **`Cancellation/partial cancellation history`** + + -**`reason`** **\*** **string** + + + **cancel\_history array \[]** -**Reason for cancellation** + **`pg_tid`** **\*** **string** -**`receipt_url`** **\***** ****string** + **PG cancellation transaction ID** -**Cancellation receipt URL. Availability varies by PG.** + **`amount`** **\*** **integer** - - + **Cancelled amount** - + **`cancelled_at`** **\*** **string** - -```javascript -{ - // Response -} -``` + **Cancelled at (UNIX timestamp)** - + **`reason`** **\*** **string** - -```javascript -{ - // Response -} -``` + **Reason for cancellation** - + **`receipt_url`** **\*** **string** - + **Cancellation receipt URL. Availability varies by PG.** + + + -
-

Response Model Schema

+ + ```ts + { + // Response + } + ``` + -```json -{ - "code": 0, - "message": "string", - "response": [ + + ```ts { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" + // Response } - ] -} -``` + ``` + + +
+

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments/getPaymentListByImpUid**](https://api.iamport.kr/#!/payments/getPaymentListByImpUid) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments/getPaymentListByImpUid**](https://api.iamport.kr/#!/payments/getPaymentListByImpUid) diff --git a/src/content/docs/en/api/payment-api/get-payments-by-billing-key-api.mdx b/src/content/docs/en/api/payment-api/get-payments-by-billing-key-api.mdx index 37f052741..4825d451d 100644 --- a/src/content/docs/en/api/payment-api/get-payments-by-billing-key-api.mdx +++ b/src/content/docs/en/api/payment-api/get-payments-by-billing-key-api.mdx @@ -4,408 +4,393 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets payments made with the specified billing key. +## Gets payments made with the specified billing key. - - - - -### Parameters + -#### Path + ### Parameters - - + #### Path -**Billing key** + + + **Billing key** + + - + #### Query - + + **Paging page** -#### Query + Start from 1 + - -**Paging page** + ### Responses -Start from 1 + + + + **`code`** **\*** **integer** - + **Response code** -### Responses + 0: success, Not 0: check the message - - - -**`code`** **\***** ****integer** + **`message`** **\*** **string** -**Response code** + **Response message** -0: success, Not 0: check the message + A non-zero code includes a message like 'Invalid payment info'. -**`message`** **\***\*\* ****string\*\* + **`response`** **(Array\[PaymentAnnotation], optional)** + + -**Response message** + + + **`imp_uid`** \* **string** -A non-zero code includes a message like 'Invalid payment info'. + **i'mport payment transaction UID** -**`response`** **(Array\[PaymentAnnotation], optional)** + **`merchant_uid`** **\*** **string** - - + **Order ID** - - -**`imp_uid`** \* **string** + **`pay_method`** **\*** **string** -**i'mport payment transaction UID** + **Payment method code** -**`merchant_uid`** **\***\*\* ****string\*\* + **`channel`** **\*** **string** -**Order ID** + **Payment environment code** -**`pay_method`** **\***\*\* ****string\*\* + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**Payment method code** + **`pg_provider`** **\*** **string** -**`channel`** **\***\*\* ****string\*\* + **PG code** -**Payment environment code** + --- -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **`emb_pg_provider`** **\*** **string** -**`pg_provider`** **\***\*\* ****string\*\* + **Hub-type PG code** -**PG code** + **`pg_tid`** **\*** **string** ---- - -**`emb_pg_provider`** **\***\*\* ****string\*\* + **PG transaction ID** -**Hub-type PG code** + **`pg_id`** **\*** **string** -**`pg_tid`** **\*** **string** + **PG MID** -**PG transaction ID** + **`escrow`** **boolean** -**`pg_id`** **\***\*\* ****string\*\* + **Indicates an escrow payment** -**PG MID** + **`apply_num`** **string** -**`escrow`** **boolean** + **Credit card approval number** -**Indicates an escrow payment** + **`bank_code`** **string** -**`apply_num`** **string** + **Bank code** -**Credit card approval number** + **`bank_name`** **string** -**`bank_code`** **string** + **Bank name** -**Bank code** + --- -**`bank_name`** **string** + **`card_code`** **string** -**Bank name** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) ---- + **`card_name`** **string** -**`card_code`** **string** + **Credit card name** -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **`card_quota`** **integer** -**`card_name`** **string** + **Number of installments (0 means one-off)** -**Credit card name** + **`card_number`** **string** -**`card_quota`** **integer** + **Masked credit card number** -**Number of installments (0 means one-off)** + --- -**`card_number`** **string** + **`card_type`** **string** -**Masked credit card number** + **Credit card type code** ---- + - 0: credit + - 1: check -**`card_type`** **string** + **`vbank_code`** **string** -**Credit card type code** + **Virtual account bank code (refer to image below)** -- 0: credit -- 1: check + --- -**`vbank_code`** **string** + **`vbank_name`** **string** -**Virtual account bank code (refer to image below)** + **Refund virtual account** ---- + **`vbank_holder`** **string** -**`vbank_name`** **string** + **Refund virtual account holder** -**Refund virtual account** + **`vbank_date`** **string** -**`vbank_holder`** **string** + **Refund virtual account expiration (UNIX timestamp)** -**Refund virtual account holder** + **`vbank_issued_at`** **string** -**`vbank_date`** **string** + **Refund virtual account created at (UNIX timestamp)** -**Refund virtual account expiration (UNIX timestamp)** + **`name`** **string** -**`vbank_issued_at`** **string** + **Product name** -**Refund virtual account created at (UNIX timestamp)** + **`amount`** **\*** **integer** -**`name`** **string** + **Order (payment) amount** -**Product name** + **`cancel_amount`** **integer** -**`amount`** **\*** **integer** + **Cancelled amount** -**Order (payment) amount** + **`currency`** **string** -**`cancel_amount`** **integer** + **Currency** -**Cancelled amount** + - USD + - KRW + - EUR -**`currency`** **string** + --- -**Currency** + **`buyer_name`** **string** -- USD -- KRW -- EUR + **Customer name** ---- + **`buyer_email`** **string** -**`buyer_name`** **string** + **Customer email** -**Customer name** + **`buyer_tel`** **string** -**`buyer_email`** **string** + **Customer phone** -**Customer email**\ + **`buyer_addr`** **string** -**`buyer_tel`** **string** + **Customer address** -**Customer phone** + **`buyer_postcode`** **string** -**`buyer_addr`** **string** + **Customer zip code** -**Customer address** + **`custom_data`** **string** -**`buyer_postcode`** **string** + **echo data as JSON string** -**Customer zip code** + **`user_agent`** **string** -**`custom_data`** **string** + **UserAgent of the device where payment is initiated** -**echo data as JSON string** + **`status`** **\*** **string** -**`user_agent`** **string** + **Payment status code** -**UserAgent of the device where payment is initiated** + - ready + - paid + - cancelled + - failed -**`status`** **\***\*\* ****string\*\* + **`started_at`** **\*** **string** -**Payment status code** + **Payment started at (UNIX timestamp)** -- ready -- paid -- cancelled -- failed + **`paid_at`** **\*** **string** -**`started_at`** **\*** **string** + **Payment completed at (UNIX timestamp)** -**Payment started at (UNIX timestamp)** + **`failed_at`** **\*** **string** -**`paid_at`** **\***\*\* ****string\*\* + **Payment failed at (UNIX timestamp)** -**Payment completed at (UNIX timestamp)**\ + **`cancelled_at`** **\*** **string** -**`failed_at`** **\***\*\* ****string\*\* + **Payment cancelled at (UNIX timestamp)** -**Payment failed at (UNIX timestamp)** + **`fail_reason`** **string** -**`cancelled_at`** **\***\*\* ****string\*\* + **Reason for failure** -**Payment cancelled at (UNIX timestamp)** + **`cancel_reason`** **string** -**`fail_reason`** **string** + **Reason for cancellation** -**Reason for failure** + **`receipt_url`** **string** -**`cancel_reason`** **string** + **Credit card receipt URL** -**Reason for cancellation** + **`cash_receipt_issued`** **boolean** -**`receipt_url`** **string** + **Option to automatically issue cash receipt** -**Credit card receipt URL** + **`customer_uid`** **string** -**`cash_receipt_issued` ****boolean** + **customer\_uid related to the payment transaction** -**Option to automatically issue cash receipt** + **`customer_uid_usage`** **string** -**`customer_uid`** **string** + **customer\_uid use code** -**customer_uid related to the payment transaction** + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance -**`customer_uid_usage`** **string** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**customer_uid use code** + **`Cancellation/partial cancellation history`** + + -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + + + **cancel\_history array \[]** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`pg_tid`** **\*** **string** -**`Cancellation/partial cancellation history`** + **PG cancellation transaction ID** - - + **`amount`** **\*** **integer** - - -**cancel\_history array \[]** + **Cancelled amount** -**`pg_tid`** **\***\*\* ****string\*\* + **`cancelled_at`** **\*** **string** -**PG cancellation transaction ID** + **Cancelled at (UNIX timestamp)** -**`amount`** **\*** **integer** + **`reason`** **\*** **string(256)** -**Cancelled amount** + **Reason for cancellation** -**`cancelled_at`** **\*** **string** + **`receipt_url`** **\*** **string(300)** -**Cancelled at (UNIX timestamp)** + **Cancellation receipt URL. Availability varies by PG.** + + + -**`reason`** **\*** **string(256)** - -**Reason for cancellation** - -**`receipt_url`** **\***\*\* ****string(300)\*\* - -**Cancellation receipt URL. Availability varies by PG.** - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "total": 0, - "previous": 0, - "next": 0, - "list": [ - { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": ["string"], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" - } - ] +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "total": 0, + "previous": 0, + "next": 0, + "list": [ + { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": ["string"], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } + ] + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe.customer/customer_payments**](https://api.iamport.kr/#!/subscribe.customer/customer_payments) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe.customer/customer\_payments**](https://api.iamport.kr/#!/subscribe.customer/customer_payments) diff --git a/src/content/docs/en/api/payment-api/get-payments-by-order-id-status-all.mdx b/src/content/docs/en/api/payment-api/get-payments-by-order-id-status-all.mdx index c3729e6e0..a9e86f365 100644 --- a/src/content/docs/en/api/payment-api/get-payments-by-order-id-status-all.mdx +++ b/src/content/docs/en/api/payment-api/get-payments-by-order-id-status-all.mdx @@ -4,381 +4,366 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -Gets details of payments by order ID, status. This returns all transactions with the ID (for all -duplicate IDs). +## Gets details of payments by order ID, status. This returns all transactions with the ID (for all duplicate IDs). - -Returns all transactions with the ID (for all duplicate IDs). - - - -### Parameters - -#### Path - - - - -**Order ID** - - - - - -**Status code** - -ready - -paid - -failed - -cancelled + + Returns all transactions with the ID (for all duplicate IDs). + - + ### Parameters -#### Query + #### Path - -**Page number** + + + **Order ID** + + - - -**Search results per page** + + **Status code** - - -**Sort by code** + ready - + paid -### Responses + failed - - - -**`code`** **\*** **integer** + cancelled + -**Response code** + #### Query -0: success, Not 0: check the message + + **Page number** + -**`message`** **\*** **string** + + **Search results per page** + -**Response message** + + **Sort by code** + -A non-zero code includes a message like 'Invalid payment info'. + ### Responses -**`response`** **(PagedPaymentAnnotation, optional)** + + + + **`code`** **\*** **integer** - - + **Response code** - - -**`total`** **`*`** **`integer`** + 0: success, Not 0: check the message -**`Total search results`** + **`message`** **\*** **string** -**`previous`** **`*`** **`integer`** + **Response message** -**`Previous page number`** + A non-zero code includes a message like 'Invalid payment info'. -If none, 0 + **`response`** **(PagedPaymentAnnotation, optional)** + + -**`next`** **`*`** **`integer`** + + + **`total`** **`*`** **`integer`** -**`Next page number`** + **`Total search results`** -If none, 0 + **`previous`** **`*`** **`integer`** -**list ** **(Array\[PaymentAnnotation], optional)** + **`Previous page number`** -Array of payment records (up to 20) + If none, 0 - - + **`next`** **`*`** **`integer`** - - -**`imp_uid`** \* **string** + **`Next page number`** -**i'mport payment transaction UID** + If none, 0 -**`merchant_uid`** **\*** **string** + **list** **(Array\[PaymentAnnotation], optional)** -**Order ID** + Array of payment records (up to 20) + + -**`pay_method`** **\*** **string** + + + **`imp_uid`** \* **string** -**Payment method code** + **i'mport payment transaction UID** -**`channel`** **\*** **string** + **`merchant_uid`** **\*** **string** -**Payment environment code** + **Order ID** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **`pay_method`** **\*** **string** -**`pg_provider`** **\*** **string** + **Payment method code** -**PG code** + **`channel`** **\*** **string** ---- - -**`emb_pg_provider`** **\*** **string** - -**Hub-type PG code** - -**`pg_tid`** **\*** **string** + **Payment environment code** -**PG transaction ID** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**`pg_id`** **\*** **string** + **`pg_provider`** **\*** **string** -**PG MID** + **PG code** -**`escrow`** **boolean** + --- -**Indicates an escrow payment** + **`emb_pg_provider`** **\*** **string** -**`apply_num`** **string** + **Hub-type PG code** -**Credit card approval number** + **`pg_tid`** **\*** **string** -**`bank_code`** **string** + **PG transaction ID** -**Bank code** + **`pg_id`** **\*** **string** -**`bank_name`** **string** + **PG MID** -**Bank name** + **`escrow`** **boolean** ---- + **Indicates an escrow payment** -**`card_code`** **string** + **`apply_num`** **string** -**Credit card code (KFTC Credit Card Codes:** [ **link** ](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **Credit card approval number** -**`card_name`** **string** + **`bank_code`** **string** -**Credit card name** + **Bank code** -**`card_quota`** **integer** + **`bank_name`** **string** -**Number of installments (0 means one-off)** + **Bank name** -**`card_number`** **string** + --- -**Masked credit card number** + **`card_code`** **string** ---- + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**`card_type`** **string** + **`card_name`** **string** -**Credit card type code** + **Credit card name** -- 0: credit -- 1: check + **`card_quota`** **integer** -**`vbank_code`** **string** + **Number of installments (0 means one-off)** -**Virtual account bank code (refer to image below)** + **`card_number`** **string** ---- + **Masked credit card number** -**`vbank_name`** **string** + --- -**Refund virtual account** + **`card_type`** **string** -**`vbank_holder`** **string** + **Credit card type code** -**Refund virtual account holder** + - 0: credit + - 1: check -**`vbank_date`** **string** + **`vbank_code`** **string** -**Refund virtual account expiration (UNIX timestamp)** + **Virtual account bank code (refer to image below)** -**`vbank_issued_at`** **string** + --- -**Refund virtual account created at (UNIX timestamp)** + **`vbank_name`** **string** -**`name`** **string** + **Refund virtual account** -**Product name** + **`vbank_holder`** **string** -**`amount`** **\*** **integer** + **Refund virtual account holder** -**Order (payment) amount** + **`vbank_date`** **string** -**`cancel_amount`** **integer** + **Refund virtual account expiration (UNIX timestamp)** -**Cancelled amount** + **`vbank_issued_at`** **string** -**`currency`** **string** + **Refund virtual account created at (UNIX timestamp)** -**Currency** + **`name`** **string** -- USD -- KRW -- EUR + **Product name** ---- + **`amount`** **\*** **integer** -**`buyer_name`** **string** + **Order (payment) amount** -**Customer name** + **`cancel_amount`** **integer** -**`buyer_email`** **string** + **Cancelled amount** -**Customer email**\ + **`currency`** **string** -**`buyer_tel`** **string** + **Currency** -**Customer phone** + - USD + - KRW + - EUR -**`buyer_addr`** **string** + --- -**Customer address** + **`buyer_name`** **string** -**`buyer_postcode`** **string** + **Customer name** -**Customer zip code** + **`buyer_email`** **string** -**`custom_data`** **string** + **Customer email** -**echo data as JSON string** + **`buyer_tel`** **string** -**`user_agent`** **string** + **Customer phone** -**UserAgent of the device where payment is initiated** + **`buyer_addr`** **string** -**`status`** **\*** **string** + **Customer address** -**Payment status code** + **`buyer_postcode`** **string** -- ready -- paid -- cancelled -- failed + **Customer zip code** -**`started_at`** **\*** **string** + **`custom_data`** **string** -**Payment started at (UNIX timestamp)** + **echo data as JSON string** -**`paid_at`** **\*** **string** + **`user_agent`** **string** -**Payment completed at (UNIX timestamp)**\ + **UserAgent of the device where payment is initiated** -**`failed_at`** **\*** **string** + **`status`** **\*** **string** -**Payment failed at (UNIX timestamp)** + **Payment status code** -**`cancelled_at`** **\*** **string** + - ready + - paid + - cancelled + - failed -**Payment cancelled at (UNIX timestamp)** + **`started_at`** **\*** **string** -**`fail_reason`** **string** + **Payment started at (UNIX timestamp)** -**Reason for failure** + **`paid_at`** **\*** **string** -**`cancel_reason`** **string** + **Payment completed at (UNIX timestamp)** -**Reason for cancellation** + **`failed_at`** **\*** **string** -**`receipt_url`** **string** + **Payment failed at (UNIX timestamp)** -**Credit card receipt URL** + **`cancelled_at`** **\*** **string** -**`cash_receipt_issued`** **boolean** + **Payment cancelled at (UNIX timestamp)** -**Option to automatically issue cash receipt** + **`fail_reason`** **string** -**`customer_uid`** **string** + **Reason for failure** -**customer\_uid related to the payment transaction** + **`cancel_reason`** **string** -**`customer_uid_usage`** **string** + **Reason for cancellation** -**customer\_uid use code** + **`receipt_url`** **string** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **Credit card receipt URL** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`cash_receipt_issued`** **boolean** -**`Cancellation/partial cancellation history`** + **Option to automatically issue cash receipt** - - + **`customer_uid`** **string** - - -**cancel\_history array \[]** + **customer\_uid related to the payment transaction** -**`pg_tid`** **\*** **string** + **`customer_uid_usage`** **string** -**PG cancellation transaction ID** + **customer\_uid use code** -**`amount`** **\*** **integer** + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance -**Cancelled amount** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**`cancelled_at`** **\*** **string** + **`Cancellation/partial cancellation history`** + + -**Cancelled at (UNIX timestamp)** + + + **cancel\_history array \[]** -**`reason`** **\*** **string(256)** + **`pg_tid`** **\*** **string** -**Reason for cancellation** + **PG cancellation transaction ID** -**`receipt_url`** **\*** **string(300)** + **`amount`** **\*** **integer** -**Cancellation receipt URL. Availability varies by PG.** + **Cancelled amount** - - + **`cancelled_at`** **\*** **string** - + **Cancelled at (UNIX timestamp)** - -```javascript -{ - // Response -} -``` + **`reason`** **\*** **string(256)** - + **Reason for cancellation** - -```javascript -{ - // Response -} -``` + **`receipt_url`** **\*** **string(300)** - + **Cancellation receipt URL. Availability varies by PG.** + + + - -```javascript -{ - // Response -} -``` + + ```ts + { + // Response + } + ``` + - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -389,94 +374,101 @@ Array of payment records (up to 20) > > A minus (-) indicates a descending sort order. > -> - \-started : Sort in descending order (DESC) based on payment start time (payment window open time) -> - started : Sort in ascending order (ASC) based on payment start time (payment window open time) -> - \-paid : Sort in descending order (DESC) based on payment completion time +> - -started : Sort in descending order (DESC) +> based on payment start time (payment window open time) +> +> - started : Sort in ascending order (ASC) +> based on payment start time (payment window open time) +> +> - -paid : Sort in descending order (DESC) based on payment completion time +> > - paid: Sort in ascending order (ASC) based on payment completion time -> - \-updated : Sort in descending order (DESC) based on the last modification time (the modification time is changed whenever payment status changes) -> - updated : Sort in ascending order (ASC) based on the last modification time (the modification time is changed whenever payment status changes) +> +> - -updated : Sort in descending order (DESC) based on the last modification time +> (the modification time is changed whenever payment status changes) +> +> - updated : Sort in ascending order (ASC) based on the last modification time +> (the modification time is changed whenever payment status changes)
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "total": 0, - "previous": 0, - "next": 0, - "list": [ - { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" - } - ] +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "total": 0, + "previous": 0, + "next": 0, + "list": [ + { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } + ] + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments/getAllPaymentsByMerchantUid**](https://api.iamport.kr/#!/payments/getAllPaymentsByMerchantUid) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments/getAllPaymentsByMerchantUid**](https://api.iamport.kr/#!/payments/getAllPaymentsByMerchantUid) diff --git a/src/content/docs/en/api/payment-api/get-payments-by-order-id-status-top-1.mdx b/src/content/docs/en/api/payment-api/get-payments-by-order-id-status-top-1.mdx index 559444004..068cf5b94 100644 --- a/src/content/docs/en/api/payment-api/get-payments-by-order-id-status-top-1.mdx +++ b/src/content/docs/en/api/payment-api/get-payments-by-order-id-status-top-1.mdx @@ -4,338 +4,326 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets details of payments by order ID, status. This returns top 1 transaction based on the sort order. +## Gets details of payments by order ID, status. This returns top 1 transaction based on the sort order. - -If you specify the payment_status, this returns the latest data for the status. - - - -### Parameters - -#### Path - - - - -**Order ID** - - - - - -**Status code** - -`ready` - -`paid` - -`failed` + + If you specify the payment\_status, this returns the latest data for the status. + -`cancelled` + ### Parameters - + #### Path -#### Query + + + **Order ID** + + - -`Sort by code` + + **Status code** - + `ready` -### Responses + `paid` - - - -**`code`** **\***** ****integer** + `failed` -**Response code** + `cancelled` + -0: success, Not 0: check the message + #### Query -**`message`** **\***** ****string** + + `Sort by code` + -**Response message** + ### Responses -A non-zero code includes a message like 'Invalid payment info'. + + + + **`code`** **\*** **integer** -**`response`** **(PagedPaymentAnnotation, optional)** + **Response code** - - + 0: success, Not 0: check the message - - -**`imp_uid`** \* **string** + **`message`** **\*** **string** -**i'mport payment transaction UID** + **Response message** -**`merchant_uid`** **\***** ****string** + A non-zero code includes a message like 'Invalid payment info'. -**Order ID** + **`response`** **(PagedPaymentAnnotation, optional)** + + -**`pay_method`** **\***** ****string** + + + **`imp_uid`** \* **string** -**Payment method code** + **i'mport payment transaction UID** -**`channel`** **\***** ****string** + **`merchant_uid`** **\*** **string** -**Payment environment code** + **Order ID** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **`pay_method`** **\*** **string** -**`pg_provider`** **\***** ****string** + **Payment method code** -**PG code** + **`channel`** **\*** **string** ---- + **Payment environment code** -**`emb_pg_provider`** **\***** ****string** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**Hub-type PG code** + **`pg_provider`** **\*** **string** -**`pg_tid`** **\*** **string** + **PG code** -**PG transaction ID** + --- -**`pg_id`** **\***** ****string** + **`emb_pg_provider`** **\*** **string** -**PG MID** + **Hub-type PG code** -**`escrow`** **boolean** + **`pg_tid`** **\*** **string** -**Indicates an escrow payment** + **PG transaction ID** -**`apply_num`** **string** + **`pg_id`** **\*** **string** -**Credit card approval number** + **PG MID** -**`bank_code`** **string** + **`escrow`** **boolean** -**Bank code** + **Indicates an escrow payment** -**`bank_name`** **string** + **`apply_num`** **string** -**Bank name** + **Credit card approval number** ---- + **`bank_code`** **string** -**`card_code`** **string** + **Bank code** -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **`bank_name`** **string** -**`card_name`** **string** + **Bank name** -**Credit card name** + --- -**`card_quota`** **integer** + **`card_code`** **string** -**Number of installments (0 means one-off)** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**`card_number`** **string** + **`card_name`** **string** -**Masked credit card number** + **Credit card name** ---- + **`card_quota`** **integer** -**`card_type`** **string** + **Number of installments (0 means one-off)** -**Credit card type code** + **`card_number`** **string** -- 0: credit -- 1: check + **Masked credit card number** -**`vbank_code`** **string** + --- -**Virtual account bank code (refer to image below)** + **`card_type`** **string** ---- + **Credit card type code** -**`vbank_name`** **string** + - 0: credit + - 1: check -**Refund virtual account** + **`vbank_code`** **string** -**`vbank_holder`** **string** + **Virtual account bank code (refer to image below)** -**Refund virtual account holder** + --- -**`vbank_date`** **string** + **`vbank_name`** **string** -**Refund virtual account expiration (UNIX timestamp)** + **Refund virtual account** -**`vbank_issued_at`** **string** + **`vbank_holder`** **string** -**Refund virtual account created at (UNIX timestamp)** + **Refund virtual account holder** -**`name`** **string** + **`vbank_date`** **string** -**Product name** + **Refund virtual account expiration (UNIX timestamp)** -**`amount`** **\*** **integer** + **`vbank_issued_at`** **string** -**Order (payment) amount** + **Refund virtual account created at (UNIX timestamp)** -**`cancel_amount`** **integer** + **`name`** **string** -**Cancelled amount** + **Product name** -**`currency`** **string** + **`amount`** **\*** **integer** -**Currency** - -- USD -- KRW -- EUR - ---- + **Order (payment) amount** -**`buyer_name`** **string** + **`cancel_amount`** **integer** -**Customer name** + **Cancelled amount** -**`buyer_email`** **string** + **`currency`** **string** -**Customer email**\ + **Currency** -**`buyer_tel`** **string** + - USD + - KRW + - EUR -**Customer phone** + --- -**`buyer_addr`** **string** + **`buyer_name`** **string** -**Customer address** + **Customer name** -**`buyer_postcode`** **string** + **`buyer_email`** **string** -**Customer zip code** + **Customer email**\\ -**`custom_data`** **string** + **`buyer_tel`** **string** -**echo data as JSON string** + **Customer phone** -**`user_agent`** **string** + **`buyer_addr`** **string** -**UserAgent of the device where payment is initiated** + **Customer address** -**`status`** **\***** ****string** + **`buyer_postcode`** **string** -**Payment status code** + **Customer zip code** -- ready -- paid -- cancelled -- failed + **`custom_data`** **string** -**`started_at`** **\*** **string** + **echo data as JSON string** -**Payment started at (UNIX timestamp)** + **`user_agent`** **string** -**`paid_at`** **\***** ****string** + **UserAgent of the device where payment is initiated** -**Payment completed at (UNIX timestamp)**\ + **`status`** **\*** **string** -**`failed_at`** **\***** ****string** + **Payment status code** -**Payment failed at (UNIX timestamp)** + - ready + - paid + - cancelled + - failed -**`cancelled_at`** **\***** ****string** + **`started_at`** **\*** **string** -**Payment cancelled at (UNIX timestamp)** + **Payment started at (UNIX timestamp)** -**`fail_reason`** **string** + **`paid_at`** **\*** **string** -**Reason for failure** + **Payment completed at (UNIX timestamp)**\\ -**`cancel_reason`** **string** + **`failed_at`** **\*** **string** -**Reason for cancellation** + **Payment failed at (UNIX timestamp)** -**`receipt_url`** **string** + **`cancelled_at`** **\*** **string** -**Credit card receipt URL** + **Payment cancelled at (UNIX timestamp)** -**`cash_receipt_issued` ****boolean** + **`fail_reason`** **string** -**Option to automatically issue cash receipt** + **Reason for failure** -**`customer_uid`** **string** + **`cancel_reason`** **string** -**customer\_uid related to the payment transaction** + **Reason for cancellation** -**`customer_uid_usage`** **string** + **`receipt_url`** **string** -**customer\_uid use code** + **Credit card receipt URL** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **`cash_receipt_issued`** **boolean** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **Option to automatically issue cash receipt** -**`Cancellation/partial cancellation history`** + **`customer_uid`** **string** - - + **customer\_uid related to the payment transaction** - - -**cancel\_history array \[]** + **`customer_uid_usage`** **string** -**`pg_tid`** **\***** ****string** + **customer\_uid use code** -**PG cancellation transaction ID** + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance -**`amount`** **\*** **integer** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**Cancelled amount** + **`Cancellation/partial cancellation history`** + + -**`cancelled_at`** **\*** **string** + + + **cancel\_history array \[]** -**Cancelled at (UNIX timestamp)** + **`pg_tid`** **\*** **string** -**`reason`** **\*** **string(256)** + **PG cancellation transaction ID** -**Reason for cancellation** + **`amount`** **\*** **integer** -**`receipt_url`** **\***** ****string(300)** + **Cancelled amount** -**Cancellation receipt URL. Availability varies by PG.** + **`cancelled_at`** **\*** **string** - - + **Cancelled at (UNIX timestamp)** - + **`reason`** **\*** **string(256)** - -```javascript -{ - // Response -} -``` + **Reason for cancellation** - + **`receipt_url`** **\*** **string(300)** - -```javascript -{ - // Response -} -``` + **Cancellation receipt URL. Availability varies by PG.** + + + - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -346,87 +334,93 @@ A non-zero code includes a message like 'Invalid payment info'. > > A minus (-) indicates a descending sort order. > -> - \-started : Sort in descending order (DESC) based on payment start time (payment window open time) +> - -started : Sort in descending order (DESC) +> based on payment start time (payment window open time) +> > - started : Sort in ascending order (ASC) based on payment start time (payment window open time) -> - \-paid : Sort in descending order (DESC) based on payment completion time +> +> - -paid : Sort in descending order (DESC) based on payment completion time +> > - paid: Sort in ascending order (ASC) based on payment completion time -> - \-updated : Sort in descending order (DESC) based on the last modification time (the modification time is changed whenever payment status changes) -> - updated : Sort in ascending order (ASC) based on the last modification time (the modification time is changed whenever payment status changes +> +> - -updated : Sort in descending order (DESC) based on the last modification time +> (the modification time is changed whenever payment status changes) +> +> - updated : Sort in ascending order (ASC) based on the last modification time +> (the modification time is changed whenever payment status changes)
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments/getPaymentByMerchantUid**](https://api.iamport.kr/#!/payments/getPaymentByMerchantUid) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments/getPaymentByMerchantUid**](https://api.iamport.kr/#!/payments/getPaymentByMerchantUid) diff --git a/src/content/docs/en/api/payment-api/get-payments-by-status-api.mdx b/src/content/docs/en/api/payment-api/get-payments-by-status-api.mdx index d286b02db..b505e0455 100644 --- a/src/content/docs/en/api/payment-api/get-payments-by-status-api.mdx +++ b/src/content/docs/en/api/payment-api/get-payments-by-status-api.mdx @@ -4,381 +4,370 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets details of payments by payment status. +## Gets details of payments by payment status. - -The search period is up to **90** days. The default value of the `to` parameter is the current date, and that of the `from` parameter is 90 days before the `to` parameter. - -If `from`/`to` parameters are not specified, this returns the data for the last 90 days from the current time. - - - -### Parameters + + The search period is up to **90** days. The default value of the `to` parameter is the current date, and that of the `from` parameter is 90 days before the `to` parameter. -#### Path + If `from`/`to` parameters are not specified, this returns the data for the last 90 days from the current time. + - -**Payment status code** + ### Parameters -**all**\ -**ready**\ -**paid**\ -**cancelled**\ -**failed** + #### Path - + + **Payment status code** -#### Query + **all**\ + **ready**\ + **paid**\ + **cancelled**\ + **failed** + - -**Page number** + #### Query -Starts from 1 + + **Page number** - - -**Search results per page** + Starts from 1 + -Up to 1000, default: 20 + + **Search results per page** - - -**Search start time** + Up to 1000, default: 20 + -Default: 90 days before `to` parameter (UNIX timestamp) + + **Search start time** - - -**Search end time** + Default: 90 days before `to` parameter (UNIX timestamp) + -Default: current time (UNIX timestamp) + + **Search end time** - - -**Sort by** + Default: current time (UNIX timestamp) + -Default: started (Refer to description below) + + **Sort by** - + Default: started (Refer to description below) + -### Responses + ### Responses - - - -**`code`** **\*** **integer** + + + + **`code`** **\*** **integer** -**Response code** + **Response code** -0: success, Not 0: check the message + 0: success, Not 0: check the message -**`message`** **\*** **string** + **`message`** **\*** **string** -**Response message** + **Response message** -A non-zero code includes a message like 'Invalid payment info'. + A non-zero code includes a message like 'Invalid payment info'. -**`response`** **(PagedPaymentAnnotation, optional)** + **`response`** **(PagedPaymentAnnotation, optional)** + + - - + + + **`total`` `** **`*`** **`integer`** - - -**`total`` `** **`*`** **`integer`** + **`Total search results`** -**`Total search results`** + **`previous`** **`*`** **`integer`** -**`previous`** **`*`** **`integer`** + **`Previous page number`** -**`Previous page number`** + If none, 0 -If none, 0 + **`next`** **`*`** **`integer`** -**`next`** **`*`** **`integer`** + **`Next page number`** -**`Next page number`** + If none, 0 -If none, 0 + list **(Array\[PaymentAnnotation], optional)** -**list ** **(Array\[PaymentAnnotation], optional)** + Array of payment records (up to 20) + + -Array of payment records (up to 20) + + + **`imp_uid`** \* **string** - - + **i'mport payment transaction UID** - - -**`imp_uid`** \* **string** + **`merchant_uid`** **\*** **string** -**i'mport payment transaction UID** + **Order ID** -**`merchant_uid`** **\*** **string** + **`pay_method`** **\*** **string** -**Order ID** + **Payment method code** -**`pay_method`** **\*** **string** + **`channel`** **\*** **string** -**Payment method code** + **Payment environment code** -**`channel`** **\*** **string** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**Payment environment code** + **`pg_provider`** **\*** **string** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **PG code** -**`pg_provider`** **\*** **string** + --- -**PG code** + **`emb_pg_provider`** **\*** **string** ---- + **Hub-type PG code** -**`emb_pg_provider`** **\*** **string** + **`pg_tid`** **\*** **string** -**Hub-type PG code** + **PG transaction ID** -**`pg_tid`** **\*** **string** + **`pg_id`** **\*** **string** -**PG transaction ID** + **PG MID** -**`pg_id`** **\*** **string** + **`escrow`** **boolean** -**PG MID** + **Indicates an escrow payment** -**`escrow`** **boolean** + **`apply_num`** **string** -**Indicates an escrow payment** + **Credit card approval number** -**`apply_num`** **string** + **`bank_code`** **string** -**Credit card approval number** + **Bank code** -**`bank_code`** **string** + **`bank_name`** **string** -**Bank code** + **Bank name** -**`bank_name`** **string** + --- -**Bank name** + **`card_code`** **string** ---- + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**`card_code`** **string** + **`card_name`** **string** -**Credit card code (KFTC Credit Card Codes:** [ **link** ](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **Credit card name** -**`card_name`** **string** + **`card_quota`** **integer** -**Credit card name** + **Number of installments (0 means one-off)** -**`card_quota`** **integer** + **`card_number`** **string** -**Number of installments (0 means one-off)** + **Masked credit card number** -**`card_number`** **string** + --- -**Masked credit card number** + **`card_type`** **string** ---- + **Credit card type code** -**`card_type`** **string** + - 0: credit + - 1: check -**Credit card type code** + **`vbank_code`** **string** -- 0: credit -- 1: check + **Virtual account bank code (refer to image below)** -**`vbank_code`** **string** + --- -**Virtual account bank code (refer to image below)** + **`vbank_name`** **string** ---- + **Refund virtual account** -**`vbank_name`** **string** + **`vbank_holder`** **string** -**Refund virtual account** + **Refund virtual account holder** -**`vbank_holder`** **string** + **`vbank_date`** **string** -**Refund virtual account holder** + **Refund virtual account expiration (UNIX timestamp)** -**`vbank_date`** **string** + **`vbank_issued_at`** **string** -**Refund virtual account expiration (UNIX timestamp)** + **Refund virtual account created at (UNIX timestamp)** -**`vbank_issued_at`** **string** + **`name`** **string** -**Refund virtual account created at (UNIX timestamp)** + **Product name** -**`name`** **string** + **`amount`** **\*** **integer** -**Product name** + **Order (payment) amount** -**`amount`** **\*** **integer** + **`cancel_amount`** **integer** -**Order (payment) amount** + **Cancelled amount** -**`cancel_amount`** **integer** + **`currency`** **string** -**Cancelled amount** + **Currency** -**`currency`** **string** + - USD + - KRW + - EUR -**Currency** - -- USD -- KRW -- EUR - ---- + --- -**`buyer_name`** **string** + **`buyer_name`** **string** -**Customer name** + **Customer name** -**`buyer_email`** **string** + **`buyer_email`** **string** -**Customer email**\ + **Customer email** -**`buyer_tel`** **string** + **`buyer_tel`** **string** -**Customer phone** + **Customer phone** -**`buyer_addr`** **string** + **`buyer_addr`** **string** -**Customer address** + **Customer address** -**`buyer_postcode`** **string** + **`buyer_postcode`** **string** -**Customer zip code** + **Customer zip code** -**`custom_data`** **string** + **`custom_data`** **string** -**echo data as JSON string** + **echo data as JSON string** -**`user_agent`** **string** + **`user_agent`** **string** -**UserAgent of the device where payment is initiated** + **UserAgent of the device where payment is initiated** -**`status`** **\*** **string** + **`status`** **\*** **string** -**Payment status code** + **Payment status code** -- ready -- paid -- cancelled -- failed + - ready + - paid + - cancelled + - failed -**`started_at`** **\*** **string** + **`started_at`** **\*** **string** -**Payment started at (UNIX timestamp)** + **Payment started at (UNIX timestamp)** -**`paid_at`** **\*** **string** + **`paid_at`** **\*** **string** -**Payment completed at (UNIX timestamp)**\ + **Payment completed at (UNIX timestamp)** -**`failed_at`** **\*** **string** + **`failed_at`** **\*** **string** -**Payment failed at (UNIX timestamp)** + **Payment failed at (UNIX timestamp)** -**`cancelled_at`** **\*** **string** + **`cancelled_at`** **\*** **string** -**Payment cancelled at (UNIX timestamp)** + **Payment cancelled at (UNIX timestamp)** -**`fail_reason`** **string** + **`fail_reason`** **string** -**Reason for failure** + **Reason for failure** -**`cancel_reason`** **string** + **`cancel_reason`** **string** -**Reason for cancellation** + **Reason for cancellation** -**`receipt_url`** **string** + **`receipt_url`** **string** -**Credit card receipt URL** + **Credit card receipt URL** -**`cash_receipt_issued` ** **boolean** + **`cash_receipt_issued`** **boolean** -**Option to automatically issue cash receipt** + **Option to automatically issue cash receipt** -**`customer_uid`** **string** + **`customer_uid`** **string** -**customer\_uid related to the payment transaction** + **customer\_uid related to the payment transaction** -**`customer_uid_usage`** **string** + **`customer_uid_usage`** **string** -**customer\_uid use code** + **customer\_uid use code** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**`Cancellation/partial cancellation history`** + **`Cancellation/partial cancellation history`** + + - - + + + **cancel\_history array \[]** - - -**cancel\_history array \[]** + **`pg_tid`** **\*** **string** -**`pg_tid`** **\*** **string** + **PG cancellation transaction ID** -**PG cancellation transaction ID** + **`amount`** **\*** **integer** -**`amount`** **\*** **integer** + **Cancelled amount** -**Cancelled amount** + **`cancelled_at`** **\*** **string** -**`cancelled_at`** **\*** **string** + **Cancelled at (UNIX timestamp)** -**Cancelled at (UNIX timestamp)** + **`reason`** **\*** **string(256)** -**`reason`** **\*** **string(256)** + **Reason for cancellation** -**Reason for cancellation** + **`receipt_url`** **\*** **string(300)** -**`receipt_url`** **\*** **string(300)** + **Cancellation receipt URL. Availability varies by PG.** + + + -**Cancellation receipt URL. Availability varies by PG.** - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** @@ -389,94 +378,100 @@ Array of payment records (up to 20) > > A minus (-) indicates a descending sort order. > -> - \-started : Sort in descending order (DESC) based on payment start time (payment window open time) +> - -started : Sort in descending order (DESC) +> based on payment start time (payment window open time) +> > - started : Sort in ascending order (ASC) based on payment start time (payment window open time) -> - \-paid : Sort in descending order (DESC) based on payment completion time +> +> - -paid : Sort in descending order (DESC) based on payment completion time +> > - paid: Sort in ascending order (ASC) based on payment completion time -> - \-updated : Sort in descending order (DESC) based on the last modification time (the modification time is changed whenever payment status changes) -> - updated : Sort in ascending order (ASC) based on the last modification time (the modification time is changed whenever payment status changes) +> +> - -updated : Sort in descending order (DESC) based on the last modification time +> (the modification time is changed whenever payment status changes) +> +> - updated : Sort in ascending order (ASC) based on the last modification time +> (the modification time is changed whenever payment status changes)
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "total": 0, - "previous": 0, - "next": 0, - "list": [ - { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" - } - ] +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "total": 0, + "previous": 0, + "next": 0, + "list": [ + { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } + ] + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments/getPaymentsByStatus**](https://api.iamport.kr/#!/payments/getPaymentsByStatus) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments/getPaymentsByStatus**](https://api.iamport.kr/#!/payments/getPaymentsByStatus) diff --git a/src/content/docs/en/api/payment-api/save-payment-amount-api.mdx b/src/content/docs/en/api/payment-api/save-payment-amount-api.mdx index 5713d351b..2e8a6b80a 100644 --- a/src/content/docs/en/api/payment-api/save-payment-amount-api.mdx +++ b/src/content/docs/en/api/payment-api/save-payment-amount-api.mdx @@ -4,116 +4,101 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Saves the payment amount before calling the payment window to block the payment process in case of forgery or falsification of the payment amount when making an authenticated payment. +## Saves the payment amount before calling the payment window to block the payment process in case of forgery or falsification of the payment amount when making an authenticated payment. - -If the payment amount of the order saved on the merchant-side is different from the amount passed to IMP.requestpay() for the same merchant - ---- - -uid, the PG payment window call is blocked. - - - -### Parameters - -#### Body + + If the payment amount of the order saved on the merchant-side is different from the amount passed to IMP.requestpay() for the same merchant - - + --- -**Merchant order ID** + uid, the PG payment window call is blocked. + - + ### Parameters - - - + #### Body -**Payment amount** + + + **Merchant order ID** + + - + + + **Payment amount** + + - + ### Responses - + + + + **`code`** **\*** **integer** -### Responses + **Response code** - - - -**`code`** **\*** **integer** + 0: success, Not 0: check the message -**Response code** + **`message`** **\*** **string** -0: success, Not 0: check the message + **Response message** -**`message`** **\*** **string** + A non-zero code includes a message like 'Invalid payment info'. -**Response message** + **`response (PaymentPrepareAnnotation, optional)`** + + -A non-zero code includes a message like 'Invalid payment info'. + + + **merchant\_uid** **\*** **string** -**`response (PaymentPrepareAnnotation, optional)`** + **`Merchant order ID`** - - + **`amount`** **`*`** **`number`** - - -**merchant\_uid ** **\*** **string** - -**`Merchant order ID`** - -**`amount`** **`*`** **`number`** - -**`Payment amount`** - - - - - - - -```javascript -{ - // Response -} -``` - - + **`Payment amount`** + + + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "merchant_uid": "string", - "amount": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "merchant_uid": "string", + "amount": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments.validation/preparePayment**](https://api.iamport.kr/#!/payments.validation/preparePayment) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments.validation/preparePayment**](https://api.iamport.kr/#!/payments.validation/preparePayment) diff --git a/src/content/docs/en/api/payment-api/update-payment-amount-api.mdx b/src/content/docs/en/api/payment-api/update-payment-amount-api.mdx index f688fe159..3cc4faa47 100644 --- a/src/content/docs/en/api/payment-api/update-payment-amount-api.mdx +++ b/src/content/docs/en/api/payment-api/update-payment-amount-api.mdx @@ -4,120 +4,105 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Updates the amount saved via [**Save payment amount API**](save-payment-amount-api). +## Updates the amount saved via [**Save payment amount API**](save-payment-amount-api). - - - - -### Parameters - -#### Body - - - - -**Merchant order ID** + - + ### Parameters - - - + #### Body -**Payment amount** + + + **Merchant order ID** + + - + + + **Payment amount** + + - + ### Responses -### Responses + + + + **`code`** **\*** **integer** - - - -**`code`** **\***** ****integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***\*\* ****string\*\* + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + + **`response (PaymentPrepareAnnotation, optional)`** + + + - - **`response (PaymentPrepareAnnotation, optional)`** - + + + **`merchant_uid`` `****`*`****` `****`string`** - - + **`Merchant order ID`** - - -**`merchant_uid`` `****`*`****` `****`string`** + **`amount`****`*`****`number`** -**`Merchant order ID`** + **`Payment amount`** + + + -**`amount`****`*`****`number`** - -**`Payment amount`** - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "merchant_uid": "string", - "amount": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "merchant_uid": "string", + "amount": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payments.validation/editPreparePayment**](https://api.iamport.kr/#!/payments.validation/editPreparePayment) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payments.validation/editPreparePayment**](https://api.iamport.kr/#!/payments.validation/editPreparePayment) diff --git a/src/content/docs/en/api/rest-api-access-token.mdx b/src/content/docs/en/api/rest-api-access-token.mdx index 7c9c5504d..9f8efc7ed 100644 --- a/src/content/docs/en/api/rest-api-access-token.mdx +++ b/src/content/docs/en/api/rest-api-access-token.mdx @@ -4,22 +4,24 @@ description: Learn how to get an access token. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Access token is required to make an i'mport REST API request. +## Access token is required to make an i'mport REST API request. To get access to private resources, such as payment information, you must obtain an access token and include it in the i'mport REST API request. -### Get an access token +### Get an access token -Request access token from server-side - -If you **request for access token from the client-side**, the **`REST API Key`****` ``and`** **`REST API Secret`** are **exposed to public creating a potential security vulnerability**. Therefore, you **must request for access token from the server-side.** + Request access token from server-side + If you **request for access token from the client-side**, + the **`REST API Key`** **and** **`REST API Secret`** + are **exposed to public creating a potential security vulnerability**. + Therefore, you **must request for access token from the server-side.** ### **STEP 01.** Request access code @@ -31,60 +33,58 @@ to get an access token as follows:
- -```python title="server-side" - curl -H "Content-Type: application/json" POST -d '{"imp_key": "REST API key", "imp_secret":"REST API Secret"}' https://api.iamport.kr/users/getToken -``` - - - - -```javascript title="server-side" -// Request access token - axios({ - url: "https://api.iamport.kr/users/getToken", - // POST method - method: "post", - // "Content-Type": "application/json" - headers: { "Content-Type": "application/json" }, - data: { - // REST API key - imp_key: "imp_apikey", - // REST API Secret - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" - } - }); -``` - - - - -```python -import requests -import json - -def getTokenApi(path): - API_HOST = "https://api.iamport.kr" - url = API_HOST + path - - headers = {'Content-Type': 'application/json', 'charset': 'UTF-8', 'Accept': '*/*'} - body = { - "imp_key": "", # REST API Key - "imp_secret": "" # REST API Secret - } - try: - response = requests.post(url, headers=headers, data=json.dumps(body, ensure_ascii=False, indent="\t")) - return response - except Exception as ex: - -res=getTokenApi("/users/getToken") # API call -json_object=json.loads(res.text) # Convert to JSON object -TokenVal = json_object['response']['access_token'] # Parse the token - -print(TokenVal) -``` - - + + ```sh title="server-side" + curl -H "Content-Type: application/json" POST -d '{"imp_key": "REST API key", "imp_secret":"REST API Secret"}' https://api.iamport.kr/users/getToken + ``` + + + + ```ts title="server-side" + // Request access token + axios({ + url: "https://api.iamport.kr/users/getToken", + // POST method + method: "post", + // "Content-Type": "application/json" + headers: { "Content-Type": "application/json" }, + data: { + // REST API key + imp_key: "imp_apikey", + // REST API Secret + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", + }, + }); + ``` + + + + ```python + import requests + import json + + def getTokenApi(path): + API_HOST = "https://api.iamport.kr" + url = API_HOST + path + + headers = {'Content-Type': 'application/json', 'charset': 'UTF-8', 'Accept': '*/*'} + body = { + "imp_key": "", # REST API Key + "imp_secret": "" # REST API Secret + } + try: + response = requests.post(url, headers=headers, data=json.dumps(body, ensure_ascii=False, indent="\t")) + return response + except Exception as ex: + + res=getTokenApi("/users/getToken") # API call + json_object=json.loads(res.text) # Convert to JSON object + TokenVal = json_object['response']['access_token'] # Parse the token + + print(TokenVal) + ``` + ### **STEP 02.** Get access token @@ -93,21 +93,20 @@ Get the access token from the response as follows: ```json title="Response" { - "code": 0, - "message": null, - "response":{ - "access_token": "a9ace025c90c0da2161075da6ddd3492a2fca776", // access token - "now": 1512446940, // i'mport REST API server's timestamp - "expired_at": 1512448740, // token's expiration (UNIX timestamp, KST) - }, + "code": 0, + "message": null, + "response":{ + "access_token": "a9ace025c90c0da2161075da6ddd3492a2fca776", // access token + "now": 1512446940, // i'mport REST API server's timestamp + "expired_at": 1512448740 // token's expiration (UNIX timestamp, KST) } +} ``` -**Standard NTP Server** - -The i'mport REST API server synchronizes with the standard time using **Google Public NTP**. + **Standard NTP Server** + The i'mport REST API server synchronizes with the standard time using **Google Public NTP**. ### **STEP 03.** Using access token @@ -119,36 +118,35 @@ format: > Authorization: **Bearer** a9ace025c90c0da2161075da6ddd3492a2fca776 - -Call the REST API to get the payment details by **including the access token in the request header** as follows: - -``` title="server-side" -curl -H "Content-Type: application/json" -H "Authorization: Bearer a9ace025c90c0da2161075da6ddd3492a2fca776" https://api.iamport.kr/payments/imp_448280090638 -``` - - - - -```json title="server-side" -axios({ - url: "https://api.iamport.kr/payments/imp_448280090638", - method: "get", // GET method - headers: { - // "Content-Type": "application/json" - "Content-Type": "application/json", - // Reissuing and Reusing Access Token -ssued access token - "Authorization": "Bearer a9ace025c90c0da2161075da6ddd3492a2fca776" - } - }); -``` - - + + Call the REST API to get the payment details by **including the access token in the request header** as follows: + + ```sh title="server-side" + curl -H "Content-Type: application/json" -H "Authorization: Bearer a9ace025c90c0da2161075da6ddd3492a2fca776" https://api.iamport.kr/payments/imp_448280090638 + ``` + + + + ```ts title="server-side" + axios({ + url: "https://api.iamport.kr/payments/imp_448280090638", + method: "get", // GET method + headers: { + // "Content-Type": "application/json" + "Content-Type": "application/json", + // Use issued access token + Authorization: "Bearer a9ace025c90c0da2161075da6ddd3492a2fca776", + }, + }); + ``` + -### Reissuing and Reusing Access Token +### Reissuing and Reusing Access Token -The expiration of the access token is **30 minutes** from the time of issuance. A token **cannot be used after its expiration**. An API call request with an expired token returns a **`401 Unauthorized`** response. +The expiration of the access token is **30 minutes** from the time of issuance. +A token **cannot be used after its expiration**. +An API call request with an expired token returns a **`401 Unauthorized`** response. > - Reissuance (after expiration): A new access token is issued. > (Expiration: 30 minutes after issuance) @@ -156,14 +154,13 @@ The expiration of the access token is **30 minutes** from the time of issuance. > - Reuse (before expiration): Existing access token is reused. (Expiration: same as before, > but extended by 5 minutes if requested within 1 minute from the original expiration) -![]() +![](/gitbook-assets/en/access_token_reuse.png) -**5 minute extension of expiration** - -The reuse and 5 minute lifetime extension of access token are provided for the following situations: + **5 minute extension of expiration** -- Multiple web servers of a single merchant are competing to call the REST API (`/users/getToken`) at the same time. -- Multiple web servers of a single merchant are not synchronized in time. + The reuse and 5 minute lifetime extension of access token are provided for the following situations: + - Multiple web servers of a single merchant are competing to call the REST API (`/users/getToken`) at the same time. + - Multiple web servers of a single merchant are not synchronized in time. diff --git a/src/content/docs/en/api/simple-payment-service-api/kakao-pay/get-order-api.mdx b/src/content/docs/en/api/simple-payment-service-api/kakao-pay/get-order-api.mdx index 966526582..1d72c206b 100644 --- a/src/content/docs/en/api/simple-payment-service-api/kakao-pay/get-order-api.mdx +++ b/src/content/docs/en/api/simple-payment-service-api/kakao-pay/get-order-api.mdx @@ -3,66 +3,58 @@ title: Get order API description: '' --- -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; +import Hint from "~/components/Hint.astro"; -### Gets order details (API that wraps [Kakao Pay's Get order details API](https://developers.kakao.com/docs/restapi/kakaopay-api#%EC%A3%BC%EB%AC%B8%EB%82%B4%EC%97%AD%EC%A1%B0%ED%9A%8C)). +## Gets order details (API that wraps [Kakao Pay's Get order details API](https://developers.kakao.com/docs/restapi/kakaopay-api#%EC%A3%BC%EB%AC%B8%EB%82%B4%EC%97%AD%EC%A1%B0%ED%9A%8C)). - -Request is similar and response is identical with Kakao Pay API. - - - -### Parameters - -#### Query + + Request is similar and response is identical with Kakao Pay API. + - -**Request date** + ### Parameters -YYYYMMDD + #### Query - - -**Kakao Pay MID** + + **Request date** -Default: Kakao Pay CID set in i'mport + YYYYMMDD + - - -**Page number** + + **Kakao Pay MID** - + Default: Kakao Pay CID set in i'mport + - + + **Page number** + -### Responses - - -```javascript -{ - // Response -} -``` - - + ### Responses + + ```ts + { + // Response + } + ``` + -**Swagger Test Link** - -[**https://api.iamport.kr/#!/kakao/getOrders**](https://api.iamport.kr/#!/kakao/getOrders) + **Swagger Test Link** + [**https://api.iamport.kr/#!/kakao/getOrders**](https://api.iamport.kr/#!/kakao/getOrders) -### **Precaution** - -The support for this API will be terminated in**`2H of 2022`** due to Kakao Pay's policy change. + ### **Precaution** + The support for this API will be terminated in **`2H of 2022`** due to Kakao Pay's policy change. diff --git a/src/content/docs/en/api/simple-payment-service-api/kcp-quick-pay/delete-user-api.mdx b/src/content/docs/en/api/simple-payment-service-api/kcp-quick-pay/delete-user-api.mdx index e3c903a41..c6ac74312 100644 --- a/src/content/docs/en/api/simple-payment-service-api/kcp-quick-pay/delete-user-api.mdx +++ b/src/content/docs/en/api/simple-payment-service-api/kcp-quick-pay/delete-user-api.mdx @@ -4,142 +4,130 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Deletes a KCP Quick Pay user information. +## Deletes a KCP Quick Pay user information. -### Accept setting is required + ### Accept setting is required -You must specify the Accept setting in the HTTP header as follows: - -**Accept : application/json** + You must specify the Accept setting in the HTTP header as follows: + **Accept : application/json** - - - - -### Parameters - -#### Path + - -**Member ID** + ### Parameters - - -**KCP Quick Pay site code** + #### Path - - -**KCP Quick Pay partner type** + + **Member ID** + - - -**KCP Quick Pay partner subtype** + + **KCP Quick Pay site code** + - + + **KCP Quick Pay partner type** + -### Responses + + **KCP Quick Pay partner subtype** + - - - -**`code`** **\***** ****integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\***\*\* ****string\*\* + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**` response`` `****`(KcpQuickMemberAnnotation, optional)`** + A non-zero code includes a message like 'Invalid payment info'. - - + **`response`` `****`(KcpQuickMemberAnnotation, optional)`** + + - - -**`member_id`****`*`****`string`** + + + **`member_id`****`*`****`string`** -**`Member ID`** + **`Member ID`** -**`pg_provider`****`*`****`string`** + **`pg_provider`****`*`****`string`** -**`PG code`** + **`PG code`** -**`pg_id`****`*`****`string`** + **`pg_id`****`*`****`string`** -**`PG Merchant ID`** + **`PG Merchant ID`** -**`inserted`****`*`****`integer`** + **`inserted`****`*`****`integer`** -**`User created at (UNIX timestamp)`** + **`User created at (UNIX timestamp)`** -**`updated`****`*`****`integer`** + **`updated`****`*`****`integer`** -**`User updated at (UNIX timestamp)`** + **`User updated at (UNIX timestamp)`** + + + - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "member_id": "string", - "pg_provider": "string", - "pg_id": "string", - "inserted": 0, - "updated": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "member_id": "string", + "pg_provider": "string", + "pg_id": "string", + "inserted": 0, + "updated": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/kcpquick/member_delete**](https://api.iamport.kr/#!/kcpquick/member_delete) + **Swagger Test Link** + [**https://api.iamport.kr/#!/kcpquick/member\_delete**](https://api.iamport.kr/#!/kcpquick/member_delete) diff --git a/src/content/docs/en/api/simple-payment-service-api/naver-pay/accrue-points-api.mdx b/src/content/docs/en/api/simple-payment-service-api/naver-pay/accrue-points-api.mdx index b3d6f054d..fb67a11e0 100644 --- a/src/content/docs/en/api/simple-payment-service-api/naver-pay/accrue-points-api.mdx +++ b/src/content/docs/en/api/simple-payment-service-api/naver-pay/accrue-points-api.mdx @@ -4,100 +4,87 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Accrues Naver Pay points. +## Accrues Naver Pay points. - - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** + - + ### Parameters - + #### Path -### Responses + + + **i'mport transaction ID** + + - - - -**`code`** **\***** ****integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\***** ****string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** - - + A non-zero code includes a message like 'Invalid payment info'. + + + - + + ```ts + { + // Response + } + ``` + - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string" -} -``` - +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string" + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/naver/naverDepositPoint**](https://api.iamport.kr/#!/naver/naverDepositPoint) + **Swagger Test Link** + [**https://api.iamport.kr/#!/naver/naverDepositPoint**](https://api.iamport.kr/#!/naver/naverDepositPoint) diff --git a/src/content/docs/en/api/simple-payment-service-api/naver-pay/confirm-escrow-order-api.mdx b/src/content/docs/en/api/simple-payment-service-api/naver-pay/confirm-escrow-order-api.mdx index dcfc522b2..3f7709d3f 100644 --- a/src/content/docs/en/api/simple-payment-service-api/naver-pay/confirm-escrow-order-api.mdx +++ b/src/content/docs/en/api/simple-payment-service-api/naver-pay/confirm-escrow-order-api.mdx @@ -4,101 +4,89 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Confirms a Naver Pay escrow order. +## Confirms a Naver Pay escrow order. - -Naver Pay - Pay method at checkout - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** - - - - - -### Responses - - - - -**`code`** **\***** ****integer** - -**Response code** - -0: success, Not 0: check the message - -**`message`** **\***** ****string** - -**Response message** - -A non-zero code includes a message like 'Invalid payment info'. - - - - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - + + Naver Pay - Pay method at checkout + + + ### Parameters + + #### Path + + + + **i'mport transaction ID** + + + + ### Responses + + + + + **`code`** **\*** **integer** + + **Response code** + + 0: success, Not 0: check the message + + **`message`** **\*** **string** + + **Response message** + + A non-zero code includes a message like 'Invalid payment info'. + + + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` + + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string" -} -``` - +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string" + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/naver/naverConfirmPayment**](https://api.iamport.kr/#!/naver/naverConfirmPayment) + **Swagger Test Link** + [**https://api.iamport.kr/#!/naver/naverConfirmPayment**](https://api.iamport.kr/#!/naver/naverConfirmPayment) diff --git a/src/content/docs/en/api/simple-payment-service-api/naver-pay/get-cash-receipt-amount-api.mdx b/src/content/docs/en/api/simple-payment-service-api/naver-pay/get-cash-receipt-amount-api.mdx index e62e114e5..d69a47320 100644 --- a/src/content/docs/en/api/simple-payment-service-api/naver-pay/get-cash-receipt-amount-api.mdx +++ b/src/content/docs/en/api/simple-payment-service-api/naver-pay/get-cash-receipt-amount-api.mdx @@ -4,134 +4,120 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets Naver Pay amount subject to issuance of a cash receipt. +## Gets Naver Pay amount subject to issuance of a cash receipt. - - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** + - + ### Parameters - + #### Path -### Responses + + + **i'mport transaction ID** + + - - - -**`code`** **\***** ****integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\***** ****string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**`response`` `****`(NaverCashAmountAnnotation, optional)`** + A non-zero code includes a message like 'Invalid payment info'. - - + **`response`` `****`(NaverCashAmountAnnotation, optional)`** + + - - -**`amount_total`` `****`integer`** + + + **`amount_total`` `****`integer`** -**`Total amount subject to cash receipt issuance`** + **`Total amount subject to cash receipt issuance`** -**`amount_by_npoint`** **`integer`** + **`amount_by_npoint`** **`integer`** -**`Npoint amount out of the amount_total`** + **`Npoint amount out of the amount_total`** -**`amount_by_primary`** **`integer`** + **`amount_by_primary`** **`integer`** -**`Amount charged with the main payment method (credit card, account transfer etc.) out of the amount_total`** + **`Amount charged with the main payment method (credit card, account transfer etc.) out of the amount_total`** -**`amount_supply`** **`integer`** + **`amount_supply`** **`integer`** -**`List price amount out of the amount_total`** + **`List price amount out of the amount_total`** -**`amount_vat`** **`integer`** + **`amount_vat`** **`integer`** -**`VAT out of the amount_total`** + **`VAT out of the amount_total`** + + + - - + + ```ts + { + // Response + } + ``` + - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "amount_total": 0, - "amount_by_npoint": 0, - "amount_by_primary": 0, - "amount_supply": 0, - "amount_vat": 0 +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "amount_total": 0, + "amount_by_npoint": 0, + "amount_by_primary": 0, + "amount_supply": 0, + "amount_vat": 0 + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/naver/queryCashAmount**](https://api.iamport.kr/#!/naver/queryCashAmount) + **Swagger Test Link** + [**https://api.iamport.kr/#!/naver/queryCashAmount**](https://api.iamport.kr/#!/naver/queryCashAmount) diff --git a/src/content/docs/en/api/simple-payment-service-api/payco/update-order-status-api.mdx b/src/content/docs/en/api/simple-payment-service-api/payco/update-order-status-api.mdx index bd263f7ca..5013f43b7 100644 --- a/src/content/docs/en/api/simple-payment-service-api/payco/update-order-status-api.mdx +++ b/src/content/docs/en/api/simple-payment-service-api/payco/update-order-status-api.mdx @@ -4,111 +4,98 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Updates the status of a PAYCO order. +## Updates the status of a PAYCO order. - - - - -### Parameters - -#### Path - - - + -**i'mport transaction ID** + ### Parameters - + #### Path - + + + **i'mport transaction ID** + + -#### Body + #### Body - - **Status code** + + **Status code** -`DELIVERY_START` + `DELIVERY_START` -`PURCHASE_DECISION` + `PURCHASE_DECISION` -`CANCELED` + `CANCELED` + - + ### Responses -### Responses + + + + **`code`** **\*** **integer** - - - -**`code`** **\*** **integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\*** **string** + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + **`response`** **(PaycoStatusAnnotation, optional)** + + -**`response` ** **(PaycoStatusAnnotation, optional)** + + + **`status`** **`*`** **`string`** - - + **`PAYCO updated order status`** - - -**`status`** **`*`** **`string`** - -**`PAYCO updated order status`** - -\['DELIVERY\_START', 'PURCHASE\_DECISION', 'CANCELED'] - - - - - - - -```javascript -{ - // Response -} -``` - - + \['DELIVERY\_START', 'PURCHASE\_DECISION', 'CANCELED'] + + + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -``` -{ - "code": 0, - "message": "string", - "response": { - "status": "DELIVERY_START" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "status": "DELIVERY_START" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/payco/changeOrderStatus**](https://api.iamport.kr/#!/payco/changeOrderStatus) + **Swagger Test Link** + [**https://api.iamport.kr/#!/payco/changeOrderStatus**](https://api.iamport.kr/#!/payco/changeOrderStatus) diff --git a/src/content/docs/en/api/subscription-payment-api/cancel-scheduled-payment-api.mdx b/src/content/docs/en/api/subscription-payment-api/cancel-scheduled-payment-api.mdx index 767a1e92a..2334c55b4 100644 --- a/src/content/docs/en/api/subscription-payment-api/cancel-scheduled-payment-api.mdx +++ b/src/content/docs/en/api/subscription-payment-api/cancel-scheduled-payment-api.mdx @@ -4,205 +4,193 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Cancels a scheduled payment before execution. +## Cancels a scheduled payment before execution. - - - - -### Parameters - -#### Body - - - - -**Billing key** - - + - - -**Order ID** + ### Parameters -If omitted, cancels all scheduled payments associated with customer\_uid. + #### Body - + + + **Billing key** + + -### Responses + + **Order ID** - - - -**`code`** **\***** ****integer** + If omitted, cancels all scheduled payments associated with customer\_uid. + -**Response code** + ### Responses -0: success, Not 0: check the message + + + + **`code`** **\*** **integer** -**`message`** **\***** ****string** + **Response code** -**Response message** + 0: success, Not 0: check the message -A non-zero code includes a message like 'Invalid payment info'. + **`message`** **\*** **string** -**`response`** **(Array\[ScheduleResultAnnotation], optional** + **Response message** - - + A non-zero code includes a message like 'Invalid payment info'. - - -**`code`** **\*** **integer** + **`response`** **(Array\[ScheduleResultAnnotation], optional** + + -**Response code** + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\***** ****string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**`customer_uid`** **\*** **string** + A non-zero code includes a message like 'Invalid payment info'. -**Billing key** + **`customer_uid`** **\*** **string** -**`merchant_uid` \* ****string** + **Billing key** -**Order ID** + **`merchant_uid`\*** **string** -**`imp_uid`** \* **string** + **Order ID** -**i'mport transaction UID** + **`imp_uid`** \* **string** -**`schedule_at`** **\*** **UNIX timestamp** + **i'mport transaction UID** -**Payment scheduled at** + **`schedule_at`** **\*** **UNIX timestamp** -**`executed_at`** **\*** **UNIX timestamp** + **Payment scheduled at** -**Payment started at** + **`executed_at`** **\*** **UNIX timestamp** -**`revoked_at`** **\*** **UNIX timestamp** + **Payment started at** -**Payment cancelled at** + **`revoked_at`** **\*** **UNIX timestamp** -**`amount`** **\*** **integer** + **Payment cancelled at** -**Payment amount** + **`amount`** **\*** **integer** -**`name`** **string** + **Payment amount** -**Product name** + **`name`** **string** -**`buyer_name`** **string** + **Product name** -**Customer name** + **`buyer_name`** **string** -**`buyer_email`** **string** + **Customer name** -**Customer email**\ + **`buyer_email`** **string** -**`buyer_tel`** **string** + **Customer email** -**Customer phone number** + **`buyer_tel`** **string** -**`buyer_addr`** **string** + **Customer phone number** -**Customer address** + **`buyer_addr`** **string** -**`buyer_postcode`** **string** + **Customer address** -**Customer zip code** + **`buyer_postcode`** **string** -**`custom_data`** **string** + **Customer zip code** -**Echo data as JSON string** + **`custom_data`** **string** -**`schedule_status`** **\***** ** **string** + **Echo data as JSON string** -**Status of scheduled payment** + **`schedule_status`** **\*** **string** -- `scheduled` (payment is scheduled for execution) -- `executed` (payment is completed) -- `revoked` (payment is cancelled) + **Status of scheduled payment** -**`payment_status`** **\***** ** **string** + - `scheduled` (payment is scheduled for execution) + - `executed` (payment is completed) + - `revoked` (payment is cancelled) -**Payment approval state** + **`payment_status`** **\*** **string** -- `null`: Scheduled payment has not executed yet (actual null value, not string) -- `paid`: Scheduled payment is approved -- `failed`: Scheduled payment approval failed -- `cancelled`: Scheduled payment is refunded (cancelled) after approval + **Payment approval state** -**`fail_reason`** **string** + - `null`: Scheduled payment has not executed yet (actual null value, not string) + - `paid`: Scheduled payment is approved + - `failed`: Scheduled payment approval failed + - `cancelled`: Scheduled payment is refunded (cancelled) after approval -**Reason for failure** + **`fail_reason`** **string** - - + **Reason for failure** + + + - - - -```javascript -{ - // Response -} -``` - - - - - -
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": [ + + ```ts { - "customer_uid": "string", - "merchant_uid": "string", - "imp_uid": "string", - "schedule_at": "0", - "executed_at": "0", - "revoked_at": "0", - "amount": 0, - "name": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "schedule_status": "scheduled", - "payment_status": "paid", - "fail_reason": "string" + // Response } - ] -} -``` + ``` + + +
+

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "customer_uid": "string", + "merchant_uid": "string", + "imp_uid": "string", + "schedule_at": "0", + "executed_at": "0", + "revoked_at": "0", + "amount": 0, + "name": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "schedule_status": "scheduled", + "payment_status": "paid", + "fail_reason": "string" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe/unschedule**](https://api.iamport.kr/#!/subscribe/unschedule) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe/unschedule**](https://api.iamport.kr/#!/subscribe/unschedule) diff --git a/src/content/docs/en/api/subscription-payment-api/get-scheduled-payment-api.mdx b/src/content/docs/en/api/subscription-payment-api/get-scheduled-payment-api.mdx index df990fd25..0ab84d295 100644 --- a/src/content/docs/en/api/subscription-payment-api/get-scheduled-payment-api.mdx +++ b/src/content/docs/en/api/subscription-payment-api/get-scheduled-payment-api.mdx @@ -4,210 +4,197 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets scheduled payment data by order ID (merchant\_uid). +## Gets scheduled payment data by order ID (merchant\_uid). - - - - -### Parameters - -#### Path - - -Merchant - - - -**Order ID** - - - - + -### Responses + ### Parameters - - - -**`code`** **\***** ****integer** + #### Path -**Response code** + + Merchant -0: success, Not 0: check the message + + **Order ID** + + -**`message`** **\***** ****string** + ### Responses -**Response message** + + + + **`code`** **\*** **integer** -A non-zero code includes a message like 'Invalid payment info'. + **Response code** -**`response`** **(Array\[ScheduleResultAnnotation], optional** + 0: success, Not 0: check the message - - + **`message`** **\*** **string** - - -**`code`** **\*** **integer** + **Response message** -**Response code** + A non-zero code includes a message like 'Invalid payment info'. -0: success, Not 0: check the message + **`response`** **(Array\[ScheduleResultAnnotation], optional** + + -**`message`** **\***** ****string** + + + **`code`** **\*** **integer** -**Response message** + **Response code** -A non-zero code includes a message like 'Invalid payment info'. + 0: success, Not 0: check the message -**`customer_uid`** **\*** **string** + **`message`** **\*** **string** -**Billing key** + **Response message** -**`merchant_uid` \* ****string** + A non-zero code includes a message like 'Invalid payment info'. -**Order ID** + **`customer_uid`** **\*** **string** -**`imp_uid`** \* **string** + **Billing key** -**i'mport transaction UID** + **`merchant_uid`\*** **string** -**`schedule_at`** **\*** **UNIX timestamp** + **Order ID** -**Payment scheduled at** + **`imp_uid`** \* **string** -**`executed_at`** **\*** **UNIX timestamp** + **i'mport transaction UID** -**Payment started at** + **`schedule_at`** **\*** **UNIX timestamp** -**`revoked_at`** **\*** **UNIX timestamp** + **Payment scheduled at** -**Payment cancelled at** + **`executed_at`** **\*** **UNIX timestamp** -**`amount`** **\*** **integer** + **Payment started at** -**Payment amount** + **`revoked_at`** **\*** **UNIX timestamp** -**`name`** **string** + **Payment cancelled at** -**Product name** + **`amount`** **\*** **integer** -**`buyer_name`** **string** + **Payment amount** -**Customer name** + **`name`** **string** -**`buyer_email`** **string** + **Product name** -**Customer email**\ + **`buyer_name`** **string** -**`buyer_tel`** **string** + **Customer name** -**Customer phone number** + **`buyer_email`** **string** -**`buyer_addr`** **string** + **Customer email** -**Customer address** + **`buyer_tel`** **string** -**`buyer_postcode`** **string** + **Customer phone number** -**Customer zip code** + **`buyer_addr`** **string** -**`custom_data`** **string** + **Customer address** -**Echo data as JSON string** + **`buyer_postcode`** **string** -**`schedule_status`** **\***** ** **string** + **Customer zip code** -**Status of scheduled payment** + **`custom_data`** **string** -- `scheduled` (payment is scheduled for execution) -- `executed` (payment is completed) -- `revoked` (payment is cancelled) + **Echo data as JSON string** -**`payment_status`** **\***** ** **string** + **`schedule_status`** **\*** **string** -**Payment approval state** + **Status of scheduled payment** -- `null`: Scheduled payment has not executed yet (actual null value, not string) -- `paid`: Scheduled payment is approved -- `failed`: Scheduled payment approval failed -- `cancelled`: Scheduled payment is refunded (cancelled) after approval + - `scheduled` (payment is scheduled for execution) + - `executed` (payment is completed) + - `revoked` (payment is cancelled) -**`fail_reason`** **string** + **`payment_status`** **\*** **string** -**Reason for failure** + **Payment approval state** - - + - `null`: Scheduled payment has not executed yet (actual null value, not string) + - `paid`: Scheduled payment is approved + - `failed`: Scheduled payment approval failed + - `cancelled`: Scheduled payment is refunded (cancelled) after approval - + **`fail_reason`** **string** - -```javascript -{ - // Response -} -``` + **Reason for failure** + + + - - - -```javascript -{ - // Response -} -``` - - - - - -
-

Response Model Schema

+ + ```ts + { + // Response + } + ``` + -```json -{ - "code": 0, - "message": "string", - "response": [ + + ```ts { - "customer_uid": "string", - "merchant_uid": "string", - "imp_uid": "string", - "schedule_at": "0", - "executed_at": "0", - "revoked_at": "0", - "amount": 0, - "name": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "schedule_status": "scheduled", - "payment_status": "paid", - "fail_reason": "string" + // Response } - ] -} -``` + ``` + + +
+

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "customer_uid": "string", + "merchant_uid": "string", + "imp_uid": "string", + "schedule_at": "0", + "executed_at": "0", + "revoked_at": "0", + "amount": 0, + "name": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "schedule_status": "scheduled", + "payment_status": "paid", + "fail_reason": "string" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe/getScheduleByMid**](https://api.iamport.kr/#!/subscribe/getScheduleByMid) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe/getScheduleByMid**](https://api.iamport.kr/#!/subscribe/getScheduleByMid) diff --git a/src/content/docs/en/api/subscription-payment-api/get-scheduled-payments-api.mdx b/src/content/docs/en/api/subscription-payment-api/get-scheduled-payments-api.mdx index ba91c8a4d..f64f5b5d2 100644 --- a/src/content/docs/en/api/subscription-payment-api/get-scheduled-payments-api.mdx +++ b/src/content/docs/en/api/subscription-payment-api/get-scheduled-payments-api.mdx @@ -4,255 +4,241 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets a list of scheduled payments by search period. +## Gets a list of scheduled payments by search period. - -Scheduled payments data is sorted by the latest scheduled time. To sort by the oldest scheduled time, set - -**sorting=scheduled** - -. - - - -### Parameters - -#### Query - - - - -**Start search time** - - - - (UNIX timestamp) + + Scheduled payments data is sorted by the latest scheduled time. To sort by the oldest scheduled time, set - - - + **sorting=scheduled** -**End search time** + . + - + ### Parameters - (UNIX timestamp) + #### Query - - -**Schedule status** + + + **Start search time** + -`scheduled` + (UNIX timestamp) + -`executed` + + + **End search time** + -`revoked` + (UNIX timestamp) + - - -**Result paging** + + **Schedule status** -Starts from 1, default: 1 + `scheduled` - - -**Results per page** + `executed` -Max 1000, default: 20 + `revoked` + - - -**Sort by** + + **Result paging** -Default: latest scheduled time + Starts from 1, default: 1 + -scheduled: oldest scheduled time + + **Results per page** - + Max 1000, default: 20 + -### Responses + + **Sort by** - - - -**`code`** **\***** ****integer** + Default: latest scheduled time -**Response code** + scheduled: oldest scheduled time + -0: success, Not 0: check the message + ### Responses -**`message`** **\***** ****string** + + + + **`code`** **\*** **integer** -**Response message** + **Response code** -A non-zero code includes a message like 'Invalid payment info'. + 0: success, Not 0: check the message -**`response`** **(Array\[ScheduleResultAnnotation], optional** + **`message`** **\*** **string** - - + **Response message** - - -**`code`** **\*** **integer** + A non-zero code includes a message like 'Invalid payment info'. -**Response code** + **`response`** **(Array\[ScheduleResultAnnotation], optional** + + -0: success, Not 0: check the message + + + **`code`** **\*** **integer** -**`message`** **\***** ****string** + **Response code** -**Response message** + 0: success, Not 0: check the message -A non-zero code includes a message like 'Invalid payment info'. + **`message`** **\*** **string** -**`customer_uid`** **\*** **string** + **Response message** -**Billing key** + A non-zero code includes a message like 'Invalid payment info'. -**`merchant_uid` \* ****string** + **`customer_uid`** **\*** **string** -**Order ID** + **Billing key** -**`imp_uid`** \* **string** + **`merchant_uid` \*** **string** -**i'mport transaction UID** + **Order ID** -**`schedule_at`** **\*** **UNIX timestamp** + **`imp_uid`** \* **string** -**Payment scheduled at** + **i'mport transaction UID** -**`executed_at`** **\*** **UNIX timestamp** + **`schedule_at`** **\*** **UNIX timestamp** -**Payment started at** + **Payment scheduled at** -**`revoked_at`** **\*** **UNIX timestamp** + **`executed_at`** **\*** **UNIX timestamp** -**Payment cancelled at** + **Payment started at** -**`amount`** **\*** **integer** + **`revoked_at`** **\*** **UNIX timestamp** -**Payment amount** + **Payment cancelled at** -**`name`** **string** + **`amount`** **\*** **integer** -**Product name** + **Payment amount** -**`buyer_name`** **string** + **`name`** **string** -**Customer name** + **Product name** -**`buyer_email`** **string** + **`buyer_name`** **string** -**Customer email**\ + **Customer name** -**`buyer_tel`** **string** + **`buyer_email`** **string** -**Customer phone number** + **Customer email** -**`buyer_addr`** **string** + **`buyer_tel`** **string** -**Customer address** + **Customer phone number** -**`buyer_postcode`** **string** + **`buyer_addr`** **string** -**Customer zip code** + **Customer address** -**`custom_data`** **string** + **`buyer_postcode`** **string** -**Echo data as JSON string** + **Customer zip code** -**`schedule_status`** **\***** ** **string** + **`custom_data`** **string** -**Status of scheduled payment** + **Echo data as JSON string** -- `scheduled` (payment is scheduled for execution) -- `executed` (payment is completed) -- `revoked` (payment is cancelled) + **`schedule_status`** **\*** **string** -**`payment_status`** **\***** ** **string** + **Status of scheduled payment** -**Payment approval state** + - `scheduled` (payment is scheduled for execution) + - `executed` (payment is completed) + - `revoked` (payment is cancelled) -- `null`: Scheduled payment has not executed yet (actual null value, not string) -- `paid`: Scheduled payment is approved -- `failed`: Scheduled payment approval failed -- `cancelled`: Scheduled payment is refunded (cancelled) after approval + **`payment_status`** **\*** **string** -**`fail_reason`** **string** + **Payment approval state** -**Reason for failure** + - `null`: Scheduled payment has not executed yet (actual null value, not string) + - `paid`: Scheduled payment is approved + - `failed`: Scheduled payment approval failed + - `cancelled`: Scheduled payment is refunded (cancelled) after approval - - + **`fail_reason`** **string** - + **Reason for failure** + + + - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - - -
-

Response Model Schema

+ + ```ts + { + // Response + } + ``` + -```json -{ - "code": 0, - "message": "string", - "response": [ + + ```ts { - "customer_uid": "string", - "merchant_uid": "string", - "imp_uid": "string", - "schedule_at": "0", - "executed_at": "0", - "revoked_at": "0", - "amount": 0, - "name": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "schedule_status": "scheduled", - "payment_status": "paid", - "fail_reason": "string" + // Response } - ] -} -``` + ``` + + +
+

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "customer_uid": "string", + "merchant_uid": "string", + "imp_uid": "string", + "schedule_at": "0", + "executed_at": "0", + "revoked_at": "0", + "amount": 0, + "name": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "schedule_status": "scheduled", + "payment_status": "paid", + "fail_reason": "string" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe/findSchedulesByRange**](https://api.iamport.kr/#!/subscribe/findSchedulesByRange) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe/findSchedulesByRange**](https://api.iamport.kr/#!/subscribe/findSchedulesByRange) diff --git a/src/content/docs/en/api/subscription-payment-api/get-scheduled-payments-by-billing-key-api.mdx b/src/content/docs/en/api/subscription-payment-api/get-scheduled-payments-by-billing-key-api.mdx index 45ac29238..5657fd767 100644 --- a/src/content/docs/en/api/subscription-payment-api/get-scheduled-payments-by-billing-key-api.mdx +++ b/src/content/docs/en/api/subscription-payment-api/get-scheduled-payments-by-billing-key-api.mdx @@ -4,242 +4,229 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets scheduled payments by billing key (customer\_uid). +## Gets scheduled payments by billing key (customer\_uid). - -Returns scheduled payments using pagination (up to 3 months period). - - - -### Parameters - -#### Path - - - - -**Billing key** - - - - - -#### Query + + Returns scheduled payments using pagination (up to 3 months period). + - -**Search result paging** + ### Parameters -Starts at 1 (default: 1) + #### Path - - -**Search start time** + + + **Billing key** + + -UNIX timestamp + #### Query - - -**Search end time** + + **Search result paging** -UNIX timestamp + Starts at 1 (default: 1) + - - -**Schedule status** + + **Search start time** -If not specified, returns for all status + UNIX timestamp + -`scheduled` + + **Search end time** -`executed` + UNIX timestamp + -`revoked` + + **Schedule status** - + If not specified, returns for all status -### Responses + `scheduled` - - - -**`code`** **\***** ****integer** + `executed` -**Response code** + `revoked` + -0: success, Not 0: check the message + ### Responses -**`message`** **\***** ****string** + + + + **`code`** **\*** **integer** -**Response message** + **Response code** -A non-zero code includes a message like 'Invalid payment info'. + 0: success, Not 0: check the message -**`response`** **(Array\[ScheduleResultAnnotation], optional** + **`message`** **\*** **string** - - + **Response message** - - -**`code`** **\*** **integer** + A non-zero code includes a message like 'Invalid payment info'. -**Response code** + **`response`** **(Array\[ScheduleResultAnnotation], optional** + + -0: success, Not 0: check the message + + + **`code`** **\*** **integer** -**`message`** **\***** ****string** + **Response code** -**Response message** + 0: success, Not 0: check the message -A non-zero code includes a message like 'Invalid payment info'. + **`message`** **\*** **string** -**`customer_uid`** **\*** **string** + **Response message** -**Billing key** + A non-zero code includes a message like 'Invalid payment info'. -**`merchant_uid` \* ****string** + **`customer_uid`** **\*** **string** -**Order ID** + **Billing key** -**`imp_uid`** \* **string** + **`merchant_uid` \*****string** -**i'mport transaction UID** + **Order ID** -**`schedule_at`** **\*** **UNIX timestamp** + **`imp_uid`** \* **string** -**Payment scheduled at** + **i'mport transaction UID** -**`executed_at`** **\*** **UNIX timestamp** + **`schedule_at`** **\*** **UNIX timestamp** -**Payment started at** + **Payment scheduled at** -**`revoked_at`** **\*** **UNIX timestamp** + **`executed_at`** **\*** **UNIX timestamp** -**Payment cancelled at** + **Payment started at** -**`amount`** **\*** **integer** + **`revoked_at`** **\*** **UNIX timestamp** -**Payment amount** + **Payment cancelled at** -**`name`** **string** + **`amount`** **\*** **integer** -**Product name** + **Payment amount** -**`buyer_name`** **string** + **`name`** **string** -**Customer name** + **Product name** -**`buyer_email`** **string** + **`buyer_name`** **string** -**Customer email**\ + **Customer name** -**`buyer_tel`** **string** + **`buyer_email`** **string** -**Customer phone number** + **Customer email** -**`buyer_addr`** **string** + **`buyer_tel`** **string** -**Customer address** + **Customer phone number** -**`buyer_postcode`** **string** + **`buyer_addr`** **string** -**Customer zip code** + **Customer address** -**`custom_data`** **string** + **`buyer_postcode`** **string** -**Echo data as JSON string** + **Customer zip code** -**`schedule_status`** **\***** ** **string** + **`custom_data`** **string** -**Status of scheduled payment** + **Echo data as JSON string** -- `scheduled` (payment is scheduled for execution) -- `executed` (payment is completed) -- `revoked` (payment is cancelled) + **`schedule_status`** **\*** **string** -**`payment_status`** **\***** ** **string** + **Status of scheduled payment** -**Payment approval state** + - `scheduled` (payment is scheduled for execution) + - `executed` (payment is completed) + - `revoked` (payment is cancelled) -- `null`: Scheduled payment has not executed yet (actual null value, not string) -- `paid`: Scheduled payment is approved -- `failed`: Scheduled payment approval failed -- `cancelled`: Scheduled payment is refunded (cancelled) after approval + **`payment_status`** **\*** **string** -**`fail_reason`** **string** + **Payment approval state** -**Reason for failure** + - `null`: Scheduled payment has not executed yet (actual null value, not string) + - `paid`: Scheduled payment is approved + - `failed`: Scheduled payment approval failed + - `cancelled`: Scheduled payment is refunded (cancelled) after approval - - + **`fail_reason`** **string** - + **Reason for failure** + + + - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - - -
-

Response Model Schema

+ + ```ts + { + // Response + } + ``` + -```json -{ - "code": 0, - "message": "string", - "response": [ + + ```ts { - "customer_uid": "string", - "merchant_uid": "string", - "imp_uid": "string", - "schedule_at": "0", - "executed_at": "0", - "revoked_at": "0", - "amount": 0, - "name": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "schedule_status": "scheduled", - "payment_status": "paid", - "fail_reason": "string" + // Response } - ] -} -``` + ``` + + +
+

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "customer_uid": "string", + "merchant_uid": "string", + "imp_uid": "string", + "schedule_at": "0", + "executed_at": "0", + "revoked_at": "0", + "amount": 0, + "name": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "schedule_status": "scheduled", + "payment_status": "paid", + "fail_reason": "string" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe/findSchedulesByCustomer**](https://api.iamport.kr/#!/subscribe/findSchedulesByCustomer) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe/findSchedulesByCustomer**](https://api.iamport.kr/#!/subscribe/findSchedulesByCustomer) diff --git a/src/content/docs/en/api/subscription-payment-api/schedule-payment-api.mdx b/src/content/docs/en/api/subscription-payment-api/schedule-payment-api.mdx index b7c56ddec..9c54238ab 100644 --- a/src/content/docs/en/api/subscription-payment-api/schedule-payment-api.mdx +++ b/src/content/docs/en/api/subscription-payment-api/schedule-payment-api.mdx @@ -4,228 +4,216 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Schedules a non-authenticated payment using customer\_uid. +## Schedules a non-authenticated payment using customer\_uid. -#### The result of the payment request can be received (POST request) through the endpoint URL set in notice\_url via webhook. +The result of the payment request can be received (POST request) +through the endpoint URL set in notice\_url via webhook. - -A payment is scheduled with the billing key associated with customer_uid + + A payment is scheduled with the billing key associated with customer\_uid -_._ + _._ - If you specify a new customer + If you specify a new customer ---- - -uid instead of using the existing customer_uid, you must also enter the credit card information. In this case, both a new billing key is issued and payment is scheduled. + --- - + uid instead of using the existing customer\_uid, you must also enter the credit card information. In this case, both a new billing key is issued and payment is scheduled. + -### Parameters + ### Parameters -#### Body + #### Body - - + + + **Billing key** + + -**Billing key** + + Test amount approved to check validity of the credit card (cancelled immediately) + - + + Credit card number ( - - -Test amount approved to check validity of the credit card (cancelled immediately) + **dddd-dddd-dddd-dddd** - - -Credit card number ( + ) + -**dddd-dddd-dddd-dddd** + + Credit card expiration ( -) + **YYYY-MM** - - -Credit card expiration ( + ) + -**YYYY-MM** + + 6-digit DOB (**YYMMDD**) -) + (10-digit business registration number for corporate card) + - - -6-digit DOB (**YYMMDD**) + + First 2 digits of credit card password + -(10-digit business registration number for corporate card) + + Credit card CVC + - - -First 2 digits of credit card password + + PG code + - - -Credit card CVC + + + **Payment schedule** + + - - -PG code + ### Responses - - - + + + + **`code`** **\*** **integer** -**Payment schedule** + **Response code** - + 0: success, Not 0: check the message - + **`message`** **\*** **string** -### Responses + **Response message** - - - -**`code`** **\***** ****integer** + A non-zero code includes a message like 'Invalid payment info'. -**Response code** + **`response`** **(Array\[ScheduleResultAnnotation], optional)** + + -0: success, Not 0: check the message + + + **`code`** **\*** **integer** -**`message`** **\***** ****string** + **Response code** -**Response message** - -A non-zero code includes a message like 'Invalid payment info'. - -**`response`** **(Array\[ScheduleResultAnnotation], optional)** - - - - - - -**`code`** **\*** **integer** + 0: success, Not 0: check the message -**Response code** + **`message`** **\*** **string** -0: success, Not 0: check the message + **Response message** -**`message`** **\***** ****string** + A non-zero code includes a message like 'Invalid payment info'. -**Response message** + **`customer_uid`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Billing key** -**`customer_uid`** **\*** **string** + **`merchant_uid` \*****string** -**Billing key** + **Order ID** -**`merchant_uid` \* ****string** + **`imp_uid`** \* **string** -**Order ID** + **i'mport transaction UID** -**`imp_uid`** \* **string** + **`schedule_at`** **\*** **UNIX timestamp** -**i'mport transaction UID** + **Payment scheduled at (UNIX timestamp in seconds)** -**`schedule_at`** **\*** **UNIX timestamp** + **`executed_at`** **\*** **UNIX timestamp** -**Payment scheduled at (UNIX timestamp in seconds)** + **Payment started at (UNIX timestamp in seconds)** -**`executed_at`** **\*** **UNIX timestamp** + **`revoked_at`** **\*** **UNIX timestamp** -**Payment started at (UNIX timestamp in seconds)** + **Payment cancelled at (UNIX timestamp in seconds)** -**`revoked_at`** **\*** **UNIX timestamp** + **`amount`** **\*** **integer** -**Payment cancelled at (UNIX timestamp in seconds)** + **Payment amount** -**`amount`** **\*** **integer** + **`name`** **string** -**Payment amount** + **Product name** -**`name`** **string** + **`buyer_name`** **string** -**Product name** + **Customer name** -**`buyer_name`** **string** + **`buyer_email`** **string** -**Customer name** + **Customer email** -**`buyer_email`** **string** + **`buyer_tel`** **string** -**Customer email**\ + **Customer phone number** -**`buyer_tel`** **string** + **`buyer_addr`** **string** -**Customer phone number** + **Customer address** -**`buyer_addr`** **string** + **`buyer_postcode`** **string** -**Customer address** + **Customer zip code** -**`buyer_postcode`** **string** + **`custom_data`** **string** -**Customer zip code** + **Echo data as JSON string** -**`custom_data`** **string** + **`schedule_status`** **\*** **string** -**Echo data as JSON string** + **Status of scheduled payment** -**`schedule_status`** **\***** ** **string** + - `scheduled` (payment is scheduled for execution) + - `executed` (payment is completed) + - `revoked` (payment is cancelled) -**Status of scheduled payment** + **`payment_status`** **\*** **string** -- `scheduled` (payment is scheduled for execution) -- `executed` (payment is completed) -- `revoked` (payment is cancelled) + **Payment approval state** -**`payment_status`** **\***** ** **string** + - `null`: Scheduled payment has not executed yet (actual null value, not string) + - `paid`: Scheduled payment is approved + - `failed`: Scheduled payment approval failed + - `cancelled`: Scheduled payment is refunded (cancelled) after approval -**Payment approval state** + **`fail_reason`** **string** -- `null`: Scheduled payment has not executed yet (actual null value, not string) -- `paid`: Scheduled payment is approved -- `failed`: Scheduled payment approval failed -- `cancelled`: Scheduled payment is refunded (cancelled) after approval - -**`fail_reason`** **string** - -**Reason for failure** - - - - - - - -```javascript -{ - // Response -} -``` - - + **Reason for failure** + + + + + ```ts + { + // Response + } + ``` + ### **Key request parameter description** -> **`schedules`** **\***** ****array** +> **`schedules`** **\*** **array** > > **Payment schedule** > -> -> > **\[ Required ]** > > - `merchant_uid` : Merchant order ID (Must be unique for each request) @@ -236,51 +224,58 @@ A non-zero code includes a message like 'Invalid payment info'. > **\[ Optional ]** > > - `tax_free` : Tax free amount out of `amount` (Default: 0) +> > - `name` : Order name (If omitted, sets to i'mport default setting) +> > - `buyer_name` : Customer name +> > - `buyer_email` : Customer email +> > - `buyer_tel` : Customer phone number +> > - `buyer_addr` : Customer address +> > - `buyer_postcode` : Customer zip code +> > - `custom_data` : Custom data +> > - `notice_url` : Notification URL to receive payment result > -> (If omitted, sets to Notification URL setting in Admin console) +> (If omitted, sets to Notification URL setting in Admin console) > > - `extra.naverUseCfm` : Expiration date (string in yyyyMMdd format). > - Specify if contract between Naver Pay and merchant requires this value for recurring payment. - -```json title="Sample" -[ - { - "merchant_uid": "your_merchant_uid1", - "schedule_at": 1478150985, - "currency": "KRW", - "amount": 1004, - "name": "order name", - "buyer_name": "customer name", - "buyer_email": "customer email", - "buyer_tel": "customer phone number", - "buyer_addr": "customer address", - "buyer_postcode": "customer zip code" - }, - { - "merchant_uid": "your_merchant_uid2", - "schedule_at": 1478150985, - "amount": 1004, - "name": "order name", - "buyer_name": "customer name", - "buyer_email": "customer email", - "buyer_tel": "customer phone number", - "buyer_addr": "customer address", - "buyer_postcode": "customer zip code" - } -] -``` - - + + ```json title="Sample" + [ + { + "merchant_uid": "your_merchant_uid1", + "schedule_at": 1478150985, + "currency": "KRW", + "amount": 1004, + "name": "order name", + "buyer_name": "customer name", + "buyer_email": "customer email", + "buyer_tel": "customer phone number", + "buyer_addr": "customer address", + "buyer_postcode": "customer zip code" + }, + { + "merchant_uid": "your_merchant_uid2", + "schedule_at": 1478150985, + "amount": 1004, + "name": "order name", + "buyer_name": "customer name", + "buyer_email": "customer email", + "buyer_tel": "customer phone number", + "buyer_addr": "customer address", + "buyer_postcode": "customer zip code" + } + ] + ``` + > **`pg`** **\*** **string** @@ -301,67 +296,63 @@ A non-zero code includes a message like 'Invalid payment info'. > - If you have multiple MIDs from NICE Payments, specify as **nice.MID1** or **nice.MID2**. -`schedules` details - -**If buyer\_name, buyer\_email, buyer\_tel, buyer\_addr, or buyer\_postcode** is omitted, it is set to the corresponding value of **customer\_uid** (**customer\_name, customer\_email, customer\_tel, customer\_addr, customer\_postcode)**. + `schedules` details + **If buyer\_name, buyer\_email, buyer\_tel, buyer\_addr, or buyer\_postcode** is omitted, it is set to the corresponding value of **customer\_uid** (**customer\_name, customer\_email, customer\_tel, customer\_addr, customer\_postcode)**.
-

Request Sample Json

- -```json -{ - "customer_uid": "TEST0001", - "schedules": [ - { - "merchant_uid": "order_id001", - "schedule_at": 1658480415, - "amount": 1004, - "name": "carrot", - } - ] -} -``` - +

Request Sample Json

+ + ```json + { + "customer_uid": "TEST0001", + "schedules": [ + { + "merchant_uid": "order_id001", + "schedule_at": 1658480415, + "amount": 1004, + "name": "carrot", + } + ] + } + ```
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": [ - { - "customer_uid": "string", - "merchant_uid": "string", - "imp_uid": "string", - "schedule_at": 0, - "executed_at": 0, - "revoked_at": 0, - "amount": 0, - "name": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "schedule_status": "scheduled", - "payment_status": "paid", - "fail_reason": "string" - } - ] -} -``` - +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": [ + { + "customer_uid": "string", + "merchant_uid": "string", + "imp_uid": "string", + "schedule_at": 0, + "executed_at": 0, + "revoked_at": 0, + "amount": 0, + "name": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "schedule_status": "scheduled", + "payment_status": "paid", + "fail_reason": "string" + } + ] + } + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/subscribe/schedule**](https://api.iamport.kr/#!/subscribe/schedule) + **Swagger Test Link** + [**https://api.iamport.kr/#!/subscribe/schedule**](https://api.iamport.kr/#!/subscribe/schedule) diff --git a/src/content/docs/en/api/virtual-account-api/cancel-virtual-account-api.mdx b/src/content/docs/en/api/virtual-account-api/cancel-virtual-account-api.mdx index e9bb84a86..0af20b741 100644 --- a/src/content/docs/en/api/virtual-account-api/cancel-virtual-account-api.mdx +++ b/src/content/docs/en/api/virtual-account-api/cancel-virtual-account-api.mdx @@ -4,366 +4,352 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Cancels a virtual account before payment is deposited. +## Cancels a virtual account before payment is deposited.
-

Supported PGs

- -- **KG INCIS** -- **NHN KCP** -- **TOSS Payments** -- **Nice Payments** -- **KICC** -- **Settle Bank** -- **Smartro** - +

Supported PGs

+ + - **KG INCIS** + - **NHN KCP** + - **TOSS Payments** + - **Nice Payments** + - **KICC** + - **Settle Bank** + - **Smartro**
- -You can cancel a virtual account before deposit to prevent the buyer from depositing by mistake. - -**imp_uid** - - must be specified. (Since there can be multiple virtual accounts pending payment deposit for a single merchant_uid, you can only cancel a virtual account based on the imp_uid) - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** + + You can cancel a virtual account before deposit to prevent the buyer from depositing by mistake. - + **imp\_uid** - + must be specified. (Since there can be multiple virtual accounts pending payment deposit for a single merchant\_uid, you can only cancel a virtual account based on the imp\_uid) + -#### Query + ### Parameters - -**API Key** + #### Path -**(Required for KG INICIS Only)** + + + **i'mport transaction ID** + + - + #### Query -### Responses + + **API Key** - - - -**`code`** **\***** ****integer** + **(Required for KG INICIS Only)** + -**Response code** + ### Responses -0: success, Not 0: check the message + + + + **`code`** **\*** **integer** -**`message`** **\***** ****string** + **Response code** -**Response message** + 0: success, Not 0: check the message -A non-zero code includes a message like 'Invalid payment info'. + **`message`** **\*** **string** -**`response`** **(PaymentAnnotation, optional)** + **Response message** - - + A non-zero code includes a message like 'Invalid payment info'. - - -**`code`** **\***** ****integer** + **`response`** **(PaymentAnnotation, optional)** + + -**`Response code`** + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **`Response code`** -**`message`** **\***** ****string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info. + **Response message** -**`imp_uid`** \* **string** + A non-zero code includes a message like 'Invalid payment info. -**i'mport payment transaction UID** + **`imp_uid`** \* **string** -**`merchant_uid`** **\***** ****string** + **i'mport payment transaction UID** -**Order ID** + **`merchant_uid`** **\*** **string** -**`pay_method`** **\***** ****string** + **Order ID** -**Payment method code** + **`pay_method`** **\*** **string** -**`channel`** **\***** ****string** + **Payment method code** -**Payment environment code** + **`channel`** **\*** **string** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **Payment environment code** -**`pg_provider`** **\***** ****string** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**PG code** + **`pg_provider`** **\*** **string** ---- + **PG code** -**`emb_pg_provider`** **\***** ****string** + --- -**Hub-type PG code** + **`emb_pg_provider`** **\*** **string** -**`pg_tid`** **\*** **string** + **Hub-type PG code** -**PG transaction ID** + **`pg_tid`** **\*** **string** -**`pg_id`** **\***** ****string** + **PG transaction ID** -**PG MID** + **`pg_id`** **\*** **string** -**`escrow`** **boolean** + **PG MID** -**Indicates an escrow payment** + **`escrow`** **boolean** -**`apply_num`** **string** + **Indicates an escrow payment** -**Credit card approval number** + **`apply_num`** **string** -**`bank_code`** **string** + **Credit card approval number** -**Bank code** + **`bank_code`** **string** -**`bank_name`** **string** + **Bank code** -**Bank name** + **`bank_name`** **string** ---- + **Bank name** -**`card_code`** **string** + --- -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **`card_code`** **string** -**`card_name`** **string** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**Credit card name** + **`card_name`** **string** -**`card_quota`** **integer** + **Credit card name** -**Number of installments (0 means one-off)** + **`card_quota`** **integer** -**`card_number`** **string** + **Number of installments (0 means one-off)** -**Masked credit card number** + **`card_number`** **string** ---- + **Masked credit card number** -**`card_type`** **string** + --- -**Credit card type code** + **`card_type`** **string** -- 0: credit -- 1: check + **Credit card type code** -**`vbank_code`** **string** + - 0: credit + - 1: check -**Virtual account bank code (refer to image below)** + **`vbank_code`** **string** ---- + **Virtual account bank code (refer to image below)** -**`vbank_name`** **string** + --- -**Refund virtual account** + **`vbank_name`** **string** -**`vbank_holder`** **string** + **Refund virtual account** -**Refund virtual account holder** + **`vbank_holder`** **string** -**`vbank_date`** **string** + **Refund virtual account holder** -**Refund virtual account expiration (UNIX timestamp)** + **`vbank_date`** **string** -**`vbank_issued_at`** **string** + **Refund virtual account expiration (UNIX timestamp)** -**Refund virtual account created at (UNIX timestamp)** + **`vbank_issued_at`** **string** -**`name`** **string** + **Refund virtual account created at (UNIX timestamp)** -**Product name** + **`name`** **string** -**`amount`** **\*** **integer** + **Product name** -**Order (payment) amount** + **`amount`** **\*** **integer** -**`cancel_amount`** **integer** + **Order (payment) amount** -**Cancelled amount** + **`cancel_amount`** **integer** -**`currency`** **string** + **Cancelled amount** -**Currency** - -- USD -- KRW -- EUR - ---- + **`currency`** **string** -**`buyer_name`** **string** + **Currency** -**Customer name** + - USD + - KRW + - EUR -**`buyer_email`** **string** + --- -**Customer email**\ + **`buyer_name`** **string** -**`buyer_tel`** **string** + **Customer name** -**Customer phone** + **`buyer_email`** **string** -**`buyer_addr`** **string** + **Customer email** -**Customer address** + **`buyer_tel`** **string** -**`buyer_postcode`** **string** + **Customer phone** -**Customer zip code** + **`buyer_addr`** **string** -**`custom_data`** **string** + **Customer address** -**echo data as JSON string** + **`buyer_postcode`** **string** -**`user_agent`** **string** + **Customer zip code** -**UserAgent of the device where payment is initiated** + **`custom_data`** **string** -**`status`** **\***** ****string** + **echo data as JSON string** -**Payment status code** + **`user_agent`** **string** -- ready -- paid -- cancelled -- failed + **UserAgent of the device where payment is initiated** -**`started_at`** **\*** **string** + **`status`** **\*** **string** -**Payment started at (UNIX timestamp)** + **Payment status code** -**`paid_at`** **\***** ****string** + - ready + - paid + - cancelled + - failed -**Payment completed at (UNIX timestamp)**\ + **`started_at`** **\*** **string** -**`failed_at`** **\***** ****string** + **Payment started at (UNIX timestamp)** -**Payment failed at (UNIX timestamp)** + **`paid_at`** **\*** **string** -**`cancelled_at`** **\***** ****string** + **Payment completed at (UNIX timestamp)** -**Payment cancelled at (UNIX timestamp)** + **`failed_at`** **\*** **string** -**`fail_reason`** **string** + **Payment failed at (UNIX timestamp)** -**Reason for failure** + **`cancelled_at`** **\*** **string** -**`cancel_reason`** **string** + **Payment cancelled at (UNIX timestamp)** -**Reason for cancellation** + **`fail_reason`** **string** -**`receipt_url`** **string** + **Reason for failure** -**Credit card receipt URL** + **`cancel_reason`** **string** -**`cash_receipt_issued` ****boolean** + **Reason for cancellation** -**Option to automatically issue cash receipt** + **`receipt_url`** **string** -**`customer_uid`** **string** + **Credit card receipt URL** -**customer\_uid related to the payment transaction** + **`cash_receipt_issued`** **boolean** -**`customer_uid_usage`** **string** + **Option to automatically issue cash receipt** -**customer\_uid use code** + **`customer_uid`** **string** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **customer\_uid related to the payment transaction** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`customer_uid_usage`** **string** -**`Cancellation/partial cancellation history`** + **customer\_uid use code** - - + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance - - -**cancel\_history array \[]** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**`pg_tid`** **\***** ****string** + **`Cancellation/partial cancellation history`** + + -**PG cancellation transaction ID** + + + **cancel\_history array \[]** -**`amount`** **\*** **integer** + **`pg_tid`** **\*** **string** -**Cancelled amount** + **PG cancellation transaction ID** -**`cancelled_at`** **\*** **string** + **`amount`** **\*** **integer** -**Cancelled at (UNIX timestamp)** + **Cancelled amount** -**`reason`** **\*** **string(256)** + **`cancelled_at`** **\*** **string** -**Reason for cancellation** + **Cancelled at (UNIX timestamp)** -**`receipt_url`** **\***** ****string(300)** + **`reason`** **\*** **string(256)** -**Cancellation receipt URL. Availability varies by PG.** + **Reason for cancellation** - - + **`receipt_url`** **\*** **string(300)** - + **Cancellation receipt URL. Availability varies by PG.** + + + - -```javascript -{ - // Response -} -``` + + ```ts + { + // Response + } + ``` + - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` + ### Key request parameter description @@ -378,79 +364,77 @@ A non-zero code includes a message like 'Invalid payment info. > (**Required for KG INICIS only**)
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/vbanks/revokeVbank**](https://api.iamport.kr/#!/vbanks/revokeVbank) + **Swagger Test Link** + [**https://api.iamport.kr/#!/vbanks/revokeVbank**](https://api.iamport.kr/#!/vbanks/revokeVbank) diff --git a/src/content/docs/en/api/virtual-account-api/get-account-holder-api.mdx b/src/content/docs/en/api/virtual-account-api/get-account-holder-api.mdx index 218417ba5..40090607e 100644 --- a/src/content/docs/en/api/virtual-account-api/get-account-holder-api.mdx +++ b/src/content/docs/en/api/virtual-account-api/get-account-holder-api.mdx @@ -4,120 +4,106 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Gets the account holder name for a bank account. +## Gets the account holder name for a bank account. - - - - -### Parameters - -#### Query - - - - -**Bank code** + - + ### Parameters - - -**Account number** + #### Query -`Numbers and special characters allowed` + + + **Bank code** + + - + + **Account number** -### Responses + `Numbers and special characters allowed` + - - - -**`code`** **\*** **integer** + ### Responses -**Response code** + + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **Response code** -**`message`** **\*** **string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info'. + **Response message** -**`response`** **(VbankHolderAnnotation, optional)** + A non-zero code includes a message like 'Invalid payment info'. - - + **`response`** **(VbankHolderAnnotation, optional)** + + - - -**`bank_holder`** **`*`** **`string`** + + + **`bank_holder`** **`*`** **`string`** -**`Account holder name`** + **`Account holder name`** + + + - - + + ```ts + { + // Response + } + ``` + - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "bank_holder": "string" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "bank_holder": "string" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/vbanks/queryBankHolder**](https://api.iamport.kr/#!/vbanks/queryBankHolder) + **Swagger Test Link** + [**https://api.iamport.kr/#!/vbanks/queryBankHolder**](https://api.iamport.kr/#!/vbanks/queryBankHolder) diff --git a/src/content/docs/en/api/virtual-account-api/request-virtual-account-api.mdx b/src/content/docs/en/api/virtual-account-api/request-virtual-account-api.mdx index 5f0c1faf8..3a5c6e32d 100644 --- a/src/content/docs/en/api/virtual-account-api/request-virtual-account-api.mdx +++ b/src/content/docs/en/api/virtual-account-api/request-virtual-account-api.mdx @@ -4,15 +4,15 @@ description: "" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Requests a virtual account for payment collection from the customer. +## Requests a virtual account for payment collection from the customer. Supported PGs @@ -21,384 +21,367 @@ Supported PGs - KG INCIS - -You can create a virtual account for a desired bank and account holder name. (Requires a separate PG contract) - - - -### Parameters - -#### Body - - - - -**Order ID** - - - - - - - -**Amount** - - - - - - + + You can create a virtual account for a desired bank and account holder name. (Requires a separate PG contract) + -**Bank code** + ### Parameters - + #### Body - - -**Account expiration** + + + **Order ID** + + -**UNIX TIMESTAMP** + + + **Amount** + + - - - + + + **Bank code** + + -**Account holder** + + **Account expiration** - + **UNIX TIMESTAMP** + - - -**Order name** + + + **Account holder** + + - - -**Customer name** + + **Order name** + - - -**Customer email** + + **Customer name** + - - -**Customer phone** + + **Customer email** + - - -**Customer address** + + **Customer phone** + - - -**Customer zip code** + + **Customer address** + - - -**PG code** + + **Customer zip code** + - - -**Notification URL** + + **PG code** + - - -**Custom data** + + **Notification URL** + - + + **Custom data** + -#### Query + #### Query - -**API Key** + + **API Key** -**(Required for KG INICIS Only)** + **(Required for KG INICIS Only)** + - + ### Responses -### Responses + + + + **`code`** **\*** **integer** - - - -**`code`** **\***** ****integer** + **Response code** -**Response code** + 0: success, Not 0: check the message -0: success, Not 0: check the message + **`message`** **\*** **string** -**`message`** **\***\*\* ****string\*\* + **Response message** -**Response message** + A non-zero code includes a message like 'Invalid payment info'. -A non-zero code includes a message like 'Invalid payment info'. + **`response`** **(PaymentAnnotation, optional)** + + -**`response`** **(PaymentAnnotation, optional)** + + + **`code`** **\*** **integer** - - + **`Response code`** - - -**`code`** **\***** ****integer** + 0: success, Not 0: check the message -**`Response code`** + **`message`** **\*** **string** -0: success, Not 0: check the message + **Response message** -**`message`** **\***\*\* ****string\*\* + A non-zero code includes a message like 'Invalid payment info. -**Response message** + **`imp_uid`** \* **string** -A non-zero code includes a message like 'Invalid payment info. + **i'mport payment transaction UID** -**`imp_uid`** \* **string** + **`merchant_uid`** **\*** **string** -**i'mport payment transaction UID** + **Order ID** -**`merchant_uid`** **\***\*\* ****string\*\* + **`pay_method`** **\*** **string** -**Order ID** + **Payment method code** -**`pay_method`** **\***\*\* ****string\*\* + **`channel`** **\*** **string** -**Payment method code** + **Payment environment code** -**`channel`** **\***\*\* ****string\*\* + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**Payment environment code** + **`pg_provider`** **\*** **string** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **PG code** -**`pg_provider`** **\***\*\* ****string\*\* + --- -**PG code** + **`emb_pg_provider`** **\*** **string** ---- - -**`emb_pg_provider`** **\***\*\* ****string\*\* - -**Hub-type PG code** - -**`pg_tid`** **\*** **string** - -**PG transaction ID** - -**`pg_id`** **\***\*\* ****string\*\* - -**PG MID** + **Hub-type PG code** -**`escrow`** **boolean** + **`pg_tid`** **\*** **string** -**Indicates an escrow payment** + **PG transaction ID** -**`apply_num`** **string** + **`pg_id`** **\*** **string** -**Credit card approval number** + **PG MID** -**`bank_code`** **string** + **`escrow`** **boolean** -**Bank code** + **Indicates an escrow payment** -**`bank_name`** **string** + **`apply_num`** **string** -**Bank name** + **Credit card approval number** ---- + **`bank_code`** **string** -**`card_code`** **string** + **Bank code** -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **`bank_name`** **string** -**`card_name`** **string** + **Bank name** -**Credit card name** + --- -**`card_quota`** **integer** + **`card_code`** **string** -**Number of installments (0 means one-off)** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**`card_number`** **string** + **`card_name`** **string** -**Masked credit card number** + **Credit card name** ---- + **`card_quota`** **integer** -**`card_type`** **string** + **Number of installments (0 means one-off)** -**Credit card type code** + **`card_number`** **string** -- 0: credit -- 1: check + **Masked credit card number** -**`vbank_code`** **string** + --- -**Virtual account bank code (refer to image below)** + **`card_type`** **string** ---- + **Credit card type code** -**`vbank_name`** **string** + - 0: credit + - 1: check -**Refund virtual account** + **`vbank_code`** **string** -**`vbank_holder`** **string** + **Virtual account bank code (refer to image below)** -**Refund virtual account holder** + --- -**`vbank_date`** **string** + **`vbank_name`** **string** -**Refund virtual account expiration (UNIX timestamp)** + **Refund virtual account** -**`vbank_issued_at`** **string** + **`vbank_holder`** **string** -**Refund virtual account created at (UNIX timestamp)** + **Refund virtual account holder** -**`name`** **string** + **`vbank_date`** **string** -**Product name** + **Refund virtual account expiration (UNIX timestamp)** -**`amount`** **\*** **integer** + **`vbank_issued_at`** **string** -**Order (payment) amount** + **Refund virtual account created at (UNIX timestamp)** -**`cancel_amount`** **integer** + **`name`** **string** -**Cancelled amount** + **Product name** -**`currency`** **string** + **`amount`** **\*** **integer** -**Currency** + **Order (payment) amount** -- USD -- KRW -- EUR + **`cancel_amount`** **integer** ---- + **Cancelled amount** -**`buyer_name`** **string** + **`currency`** **string** -**Customer name** + **Currency** -**`buyer_email`** **string** + - USD + - KRW + - EUR -**Customer email**\ + --- -**`buyer_tel`** **string** + **`buyer_name`** **string** -**Customer phone** + **Customer name** -**`buyer_addr`** **string** + **`buyer_email`** **string** -**Customer address** + **Customer email** -**`buyer_postcode`** **string** + **`buyer_tel`** **string** -**Customer zip code** + **Customer phone** -**`custom_data`** **string** + **`buyer_addr`** **string** -**echo data as JSON string** + **Customer address** -**`user_agent`** **string** + **`buyer_postcode`** **string** -**UserAgent of the device where payment is initiated** + **Customer zip code** -**`status`** **\***\*\* ****string\*\* + **`custom_data`** **string** -**Payment status code** + **echo data as JSON string** -- ready -- paid -- cancelled -- failed + **`user_agent`** **string** -**`started_at`** **\*** **string** + **UserAgent of the device where payment is initiated** -**Payment started at (UNIX timestamp)** + **`status`** **\*** **string** -**`paid_at`** **\***\*\* ****string\*\* + **Payment status code** -**Payment completed at (UNIX timestamp)**\ + - ready + - paid + - cancelled + - failed -**`failed_at`** **\***\*\* ****string\*\* + **`started_at`** **\*** **string** -**Payment failed at (UNIX timestamp)** + **Payment started at (UNIX timestamp)** -**`cancelled_at`** **\***\*\* ****string\*\* + **`paid_at`** **\*** **string** -**Payment cancelled at (UNIX timestamp)** + **Payment completed at (UNIX timestamp)** -**`fail_reason`** **string** + **`failed_at`** **\*** **string** -**Reason for failure** + **Payment failed at (UNIX timestamp)** -**`cancel_reason`** **string** + **`cancelled_at`** **\*** **string** -**Reason for cancellation** + **Payment cancelled at (UNIX timestamp)** -**`receipt_url`** **string** + **`fail_reason`** **string** -**Credit card receipt URL** + **Reason for failure** -**`cash_receipt_issued` ****boolean** + **`cancel_reason`** **string** -**Option to automatically issue cash receipt** + **Reason for cancellation** -**`customer_uid`** **string** + **`receipt_url`** **string** -**customer_uid related to the payment transaction** + **Credit card receipt URL** -**`customer_uid_usage`** **string** + **`cash_receipt_issued`** **boolean** -**customer_uid use code** + **Option to automatically issue cash receipt** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **`customer_uid`** **string** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **customer\_uid related to the payment transaction** -**`Cancellation/partial cancellation history`** + **`customer_uid_usage`** **string** - - + **customer\_uid use code** - - -**`pg_tid`** **\***** ****string** + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance -**PG cancellation transaction ID** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**`amount`** **\*** **integer** + **`Cancellation/partial cancellation history`** + + -**Cancelled amount** + + + **`pg_tid`** **\*** **string** -**`cancelled_at`** **\*** **string** + **PG cancellation transaction ID** -**Cancelled at (UNIX timestamp)** + **`amount`** **\*** **integer** -**`reason`** **\*** **string(256)** + **Cancelled amount** -**Reason for cancellation** + **`cancelled_at`** **\*** **string** -**`receipt_url`** **\***\*\* ****string(300)\*\* + **Cancelled at (UNIX timestamp)** -**Cancellation receipt URL. Availability varies by PG.** + **`reason`** **\*** **string(256)** - - + **Reason for cancellation** - + **`receipt_url`** **\*** **string(300)** - -```javascript -{ - // Response -} -``` - - + **Cancellation receipt URL. Availability varies by PG.** + + + + + ```ts + { + // Response + } + ``` + ### Key request parameter description @@ -449,77 +432,75 @@ A non-zero code includes a message like 'Invalid payment info. > (**Required for KG INICIS only**)
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": ["string"], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": ["string"], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/vbanks/createVbank**](https://api.iamport.kr/#!/vbanks/createVbank) + **Swagger Test Link** + [**https://api.iamport.kr/#!/vbanks/createVbank**](https://api.iamport.kr/#!/vbanks/createVbank) diff --git a/src/content/docs/en/api/virtual-account-api/update-virtual-account-api.mdx b/src/content/docs/en/api/virtual-account-api/update-virtual-account-api.mdx index 0ded9738d..ba6f6f019 100644 --- a/src/content/docs/en/api/virtual-account-api/update-virtual-account-api.mdx +++ b/src/content/docs/en/api/virtual-account-api/update-virtual-account-api.mdx @@ -4,444 +4,428 @@ description: '' --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Updates the deposit expiration or amount for a virtual account that is pending deposit. +## Updates the deposit expiration or amount for a virtual account that is pending deposit.
-

Supported PGs

- -- **KG INCIS** -- **NHN KCP** -- **TOSS Payments** -- **Nice Payments** -- **KICC** -- **Settle Bank** -- **Smartro** - +

Supported PGs

+ + - **KG INCIS** + - **NHN KCP** + - **TOSS Payments** + - **Nice Payments** + - **KICC** + - **Settle Bank** + - **Smartro**
- -**imp_uid** - - must be specified. (Since there can be multiple virtual accounts pending payment deposit for a single merchant_uid, you can only update a virtual account based on the imp_uid) - - - -### Parameters - -#### Path - - - - -**i'mport transaction ID** - - + + **imp\_uid** - + must be specified. (Since there can be multiple virtual accounts pending payment deposit for a single merchant\_uid, you can only update a virtual account based on the imp\_uid) + -#### Body + ### Parameters - -**Amount** + #### Path - - -**Account expiration** + + + **i'mport transaction ID** + + -`UNIX TIMESTAMP` + #### Body - + + **Amount** + -### Responses + + **Account expiration** - - - -**`code`** **\***** ****integer** + `UNIX TIMESTAMP` + -**Response code** + ### Responses -0: success, Not 0: check the message + + + + **`code`** **\*** **integer** -**`message`** **\***** ****string** + **Response code** -**Response message** + 0: success, Not 0: check the message -A non-zero code includes a message like 'Invalid payment info'. + **`message`** **\*** **string** -**`response`** **(PaymentAnnotation, optional)** + **Response message** - - + A non-zero code includes a message like 'Invalid payment info'. - - -**`code`** **\***** ****integer** + **`response`** **(PaymentAnnotation, optional)** + + -**`Response code`** + + + **`code`** **\*** **integer** -0: success, Not 0: check the message + **`Response code`** -**`message`** **\***** ****string** + 0: success, Not 0: check the message -**Response message** + **`message`** **\*** **string** -A non-zero code includes a message like 'Invalid payment info. + **Response message** -**`imp_uid`** \* **string** + A non-zero code includes a message like 'Invalid payment info. -**i'mport payment transaction UID** + **`imp_uid`** \* **string** -**`merchant_uid`** **\***** ****string** + **i'mport payment transaction UID** -**Order ID** + **`merchant_uid`** **\*** **string** -**`pay_method`** **\***** ****string** + **Order ID** -**Payment method code** + **`pay_method`** **\*** **string** -**`channel`** **\***** ****string** + **Payment method code** -**Payment environment code** + **`channel`** **\*** **string** -- pc**:** (authenticated) PC -- mobile: (authenticated) mobile -- api: recurring or non-authenticated + **Payment environment code** -**`pg_provider`** **\***** ****string** + - pc: (authenticated) PC + - mobile: (authenticated) mobile + - api: recurring or non-authenticated -**PG code** + **`pg_provider`** **\*** **string** ---- + **PG code** -**`emb_pg_provider`** **\***** ****string** + --- -**Hub-type PG code** + **`emb_pg_provider`** **\*** **string** -**`pg_tid`** **\*** **string** + **Hub-type PG code** -**PG transaction ID** + **`pg_tid`** **\*** **string** -**`pg_id`** **\***** ****string** + **PG transaction ID** -**PG MID** + **`pg_id`** **\*** **string** -**`escrow`** **boolean** + **PG MID** -**Indicates an escrow payment** + **`escrow`** **boolean** -**`apply_num`** **string** + **Indicates an escrow payment** -**Credit card approval number** + **`apply_num`** **string** -**`bank_code`** **string** + **Credit card approval number** -**Bank code** + **`bank_code`** **string** -**`bank_name`** **string** + **Bank code** -**Bank name** + **`bank_name`** **string** ---- + **Bank name** -**`card_code`** **string** + --- -**Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) + **`card_code`** **string** -**`card_name`** **string** + **Credit card code (KFTC Credit Card Codes:** [**link**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) ) -**Credit card name** + **`card_name`** **string** -**`card_quota`** **integer** + **Credit card name** -**Number of installments (0 means one-off)** + **`card_quota`** **integer** -**`card_number`** **string** + **Number of installments (0 means one-off)** -**Masked credit card number** + **`card_number`** **string** ---- + **Masked credit card number** -**`card_type`** **string** + --- -**Credit card type code** + **`card_type`** **string** -- 0: credit -- 1: check + **Credit card type code** -**`vbank_code`** **string** + - 0: credit + - 1: check -**Virtual account bank code (refer to image below)** + **`vbank_code`** **string** ---- + **Virtual account bank code (refer to image below)** -**`vbank_name`** **string** + --- -**Refund virtual account** + **`vbank_name`** **string** -**`vbank_holder`** **string** + **Refund virtual account** -**Refund virtual account holder** + **`vbank_holder`** **string** -**`vbank_date`** **string** + **Refund virtual account holder** -**Refund virtual account expiration (UNIX timestamp)** + **`vbank_date`** **string** -**`vbank_issued_at`** **string** + **Refund virtual account expiration (UNIX timestamp)** -**Refund virtual account created at (UNIX timestamp)** + **`vbank_issued_at`** **string** -**`name`** **string** + **Refund virtual account created at (UNIX timestamp)** -**Product name** + **`name`** **string** -**`amount`** **\*** **integer** + **Product name** -**Order (payment) amount** + **`amount`** **\*** **integer** -**`cancel_amount`** **integer** + **Order (payment) amount** -**Cancelled amount** + **`cancel_amount`** **integer** -**`currency`** **string** + **Cancelled amount** -**Currency** - -- USD -- KRW -- EUR - ---- + **`currency`** **string** -**`buyer_name`** **string** + **Currency** -**Customer name** + - USD + - KRW + - EUR -**`buyer_email`** **string** + --- -**Customer email**\ + **`buyer_name`** **string** -**`buyer_tel`** **string** + **Customer name** -**Customer phone** + **`buyer_email`** **string** -**`buyer_addr`** **string** + **Customer email** -**Customer address** + **`buyer_tel`** **string** -**`buyer_postcode`** **string** + **Customer phone** -**Customer zip code** + **`buyer_addr`** **string** -**`custom_data`** **string** + **Customer address** -**echo data as JSON string** + **`buyer_postcode`** **string** -**`user_agent`** **string** + **Customer zip code** -**UserAgent of the device where payment is initiated** + **`custom_data`** **string** -**`status`** **\***** ****string** + **echo data as JSON string** -**Payment status code** + **`user_agent`** **string** -- ready -- paid -- cancelled -- failed + **UserAgent of the device where payment is initiated** -**`started_at`** **\*** **string** + **`status`** **\*** **string** -**Payment started at (UNIX timestamp)** + **Payment status code** -**`paid_at`** **\***** ****string** + - ready + - paid + - cancelled + - failed -**Payment completed at (UNIX timestamp)**\ + **`started_at`** **\*** **string** -**`failed_at`** **\***** ****string** + **Payment started at (UNIX timestamp)** -**Payment failed at (UNIX timestamp)** + **`paid_at`** **\*** **string** -**`cancelled_at`** **\***** ****string** + **Payment completed at (UNIX timestamp)** -**Payment cancelled at (UNIX timestamp)** + **`failed_at`** **\*** **string** -**`fail_reason`** **string** + **Payment failed at (UNIX timestamp)** -**Reason for failure** + **`cancelled_at`** **\*** **string** -**`cancel_reason`** **string** + **Payment cancelled at (UNIX timestamp)** -**Reason for cancellation** + **`fail_reason`** **string** -**`receipt_url`** **string** + **Reason for failure** -**Credit card receipt URL** + **`cancel_reason`** **string** -**`cash_receipt_issued` ****boolean** + **Reason for cancellation** -**Option to automatically issue cash receipt** + **`receipt_url`** **string** -**`customer_uid`** **string** + **Credit card receipt URL** -**customer\_uid related to the payment transaction** + **`cash_receipt_issued`** **boolean** -**`customer_uid_usage`** **string** + **Option to automatically issue cash receipt** -**customer\_uid use code** + **`customer_uid`** **string** -- payment.scheduled: scheduled payment -- payment: payment -- issue**: billing key issuance** + **customer\_uid related to the payment transaction** -**`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** + **`customer_uid_usage`** **string** -**`Cancellation/partial cancellation history`** + **customer\_uid use code** - - + - payment.scheduled: scheduled payment + - payment: payment + - issue: billing key issuance - - -**cancel\_history array \[]** + **`cancel_history`** **(Array\[PaymentCancelAnnotation], optional):** -**`pg_tid`** **\***** ****string** + **`Cancellation/partial cancellation history`** + + -**PG cancellation transaction ID** + + + **cancel\_history array \[]** -**`amount`** **\*** **integer** + **`pg_tid`** **\*** **string** -**Cancelled amount** + **PG cancellation transaction ID** -**`cancelled_at`** **\*** **string** + **`amount`** **\*** **integer** -**Cancelled at (UNIX timestamp)** + **Cancelled amount** -**`reason`** **\*** **string(256)** + **`cancelled_at`** **\*** **string** -**Reason for cancellation** + **Cancelled at (UNIX timestamp)** -**`receipt_url`** **\***** ****string(300)** + **`reason`** **\*** **string(256)** -**Cancellation receipt URL. Availability varies by PG.** + **Reason for cancellation** - - + **`receipt_url`** **\*** **string(300)** - + **Cancellation receipt URL. Availability varies by PG.** + + + - -```javascript -{ - // Response -} -``` + + ```ts + { + // Response + } + ``` + - - - -```javascript -{ - // Response -} -``` - - - - -```javascript -{ - // Response -} -``` - - + + ```ts + { + // Response + } + ``` + + + ```ts + { + // Response + } + ``` +
-

Response Model Schema

- -```json -{ - "code": 0, - "message": "string", - "response": { - "imp_uid": "string", - "merchant_uid": "string", - "pay_method": "string", - "channel": "pc", - "pg_provider": "string", - "emb_pg_provider": "string", - "pg_tid": "string", - "pg_id": "string", - "escrow": true, - "apply_num": "string", - "bank_code": "string", - "bank_name": "string", - "card_code": "string", - "card_name": "string", - "card_quota": 0, - "card_number": "string", - "card_type": "null", - "vbank_code": "string", - "vbank_name": "string", - "vbank_num": "string", - "vbank_holder": "string", - "vbank_date": 0, - "vbank_issued_at": 0, - "name": "string", - "amount": 0, - "cancel_amount": 0, - "currency": "string", - "buyer_name": "string", - "buyer_email": "string", - "buyer_tel": "string", - "buyer_addr": "string", - "buyer_postcode": "string", - "custom_data": "string", - "user_agent": "string", - "status": "ready", - "started_at": 0, - "paid_at": 0, - "failed_at": 0, - "cancelled_at": 0, - "fail_reason": "string", - "cancel_reason": "string", - "receipt_url": "string", - "cancel_history": [ - { - "pg_tid": "string", - "amount": 0, - "cancelled_at": 0, - "reason": "string", - "receipt_url": "string" - } - ], - "cancel_receipt_urls": [ - "string" - ], - "cash_receipt_issued": true, - "customer_uid": "string", - "customer_uid_usage": "issue" +

Response Model Schema

+ + ```json + { + "code": 0, + "message": "string", + "response": { + "imp_uid": "string", + "merchant_uid": "string", + "pay_method": "string", + "channel": "pc", + "pg_provider": "string", + "emb_pg_provider": "string", + "pg_tid": "string", + "pg_id": "string", + "escrow": true, + "apply_num": "string", + "bank_code": "string", + "bank_name": "string", + "card_code": "string", + "card_name": "string", + "card_quota": 0, + "card_number": "string", + "card_type": "null", + "vbank_code": "string", + "vbank_name": "string", + "vbank_num": "string", + "vbank_holder": "string", + "vbank_date": 0, + "vbank_issued_at": 0, + "name": "string", + "amount": 0, + "cancel_amount": 0, + "currency": "string", + "buyer_name": "string", + "buyer_email": "string", + "buyer_tel": "string", + "buyer_addr": "string", + "buyer_postcode": "string", + "custom_data": "string", + "user_agent": "string", + "status": "ready", + "started_at": 0, + "paid_at": 0, + "failed_at": 0, + "cancelled_at": 0, + "fail_reason": "string", + "cancel_reason": "string", + "receipt_url": "string", + "cancel_history": [ + { + "pg_tid": "string", + "amount": 0, + "cancelled_at": 0, + "reason": "string", + "receipt_url": "string" + } + ], + "cancel_receipt_urls": [ + "string" + ], + "cash_receipt_issued": true, + "customer_uid": "string", + "customer_uid_usage": "issue" + } } -} -``` - + ```
-**Swagger Test Link** - -[**https://api.iamport.kr/#!/vbanks/modifyVbank**](https://api.iamport.kr/#!/vbanks/modifyVbank) + **Swagger Test Link** + [**https://api.iamport.kr/#!/vbanks/modifyVbank**](https://api.iamport.kr/#!/vbanks/modifyVbank) diff --git a/src/content/docs/en/auth/guide-1/bill/pg-window.mdx b/src/content/docs/en/auth/guide-1/bill/pg-window.mdx index 0fb4394de..37030cff3 100644 --- a/src/content/docs/en/auth/guide-1/bill/pg-window.mdx +++ b/src/content/docs/en/auth/guide-1/bill/pg-window.mdx @@ -4,154 +4,170 @@ description: Get a billing key through the payment window provided by the PG. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -#### You can enter the card information through the PG's payment window to get a billing key. +You can enter the card information through the PG's payment window to get a billing key. -- **Pros**: **no need to establish additional security process** for transmitting card information because the data is transmitted directly to PG without going through the server or i'mport server. -- **Cons**: **cannot customize card registration form** since billing key is requested through the PG's payment window via web browser (cannot implement merchant site friendly UI/UX). +- **Pros**: **no need to establish additional security process** for transmitting card information + because the data is transmitted directly to PG without going through the server or i'mport server. -
+- **Cons**: **cannot customize card registration form** since billing key is requested + through the PG's payment window via web browser (cannot implement merchant site friendly UI/UX). -### **STEP 01.** Request billing key +
-As with authenticated payment, use the **JavaScript SDK** to call the PG's payment window. To get a billing key, specify the following additional parameters. +## **STEP 01.** Request billing key -> #### customer_uid: unique key that maps 1:1 with billing key +As with authenticated payment, use the **JavaScript SDK** to call the PG's payment window. +To get a billing key, specify the following additional parameters. + +> customer\_uid: unique key that maps 1:1 with billing key - -```javascript title="client-side" - IMP.request_pay({ // Refer to above mentioned PG specific guide for param settings - customer_uid: "gildong_0001_1234", // Unique ID for each card (billing key) - /* ...Omitted... */ - }, function (rsp) { // callback - if (rsp.success) { - // Billing key request successful - } else { - // Billing key request failed - } - }); -``` - - -**What is a customer\_uid?** - -It is a unique value specified by the merchant that maps 1:1 with the billing key issued by PG. A unique `customer_uid` must be created for each card. - -Example: If a customer named **Hong Gildong** requests for a billing key from **A card**, the customer_uid must be issued for the **specified member's credit card number** + + ```ts title="client-side" + IMP.request_pay( + { + // Refer to above mentioned PG specific guide for param settings + customer_uid: "gildong_0001_1234", // Unique ID for each card (billing key) + /* ...Omitted... */ + }, + function (rsp) { + // callback + if (rsp.success) { + // Billing key request successful + } else { + // Billing key request failed + } + }, + ); + ``` - + + **What is a customer\_uid?** - + It is a unique value specified by the merchant that maps 1:1 with the billing key issued by PG. A unique `customer_uid` must be created for each card. + + Example: If a customer named **Hong Gildong** requests for a billing key from **A card**, the customer\_uid must be issued for the **specified member's credit card number** + + ### **STEP 02.** Handle response - -```javascript title="client-side" - IMP.request_pay({ // param - /* ...Omitted... */ - }, function (rsp) { // callback - if (rsp.success) { - // Billing key request successful - // jQuery HTTP request - jQuery.ajax({ - url: "{URL to receive customer-uid}", // Example: https://www.myservice.com/billings/ - method: "POST", - headers: { "Content-Type": "application/json" }, - data: { - customer_uid: "gildong_0001_1234", // Unique ID for each card (billing key) + + ```ts title="client-side" + IMP.request_pay( + { + // param + /* ...Omitted... */ + }, + function (rsp) { + // callback + if (rsp.success) { + // Billing key request successful + // jQuery HTTP request + jQuery.ajax({ + url: "{URL to receive customer-uid}", // Example: https://www.myservice.com/billings/ + method: "POST", + headers: { "Content-Type": "application/json" }, + data: { + customer_uid: "gildong_0001_1234", // Unique ID for each card (billing key) + }, + }); + } else { + // Billing key request failed } - }); - } else { - // Billing key request failed - } - }); -``` - -Once the billing key is issued successfully, the **customer_uid** is sent to the merchant server. The server creates an API endpoint that receives the **customer_uid** from the client. The server can use the **customer_uid** to request future payments.\ - -```javascript title="server-side" - app.post("/billings", async (req, res) => { - try { - const { customer_uid } = req.body; // Get customer_uid from req.body - - ... - } catch (e) { - res.status(400).send(e); - } - }); -``` - -Save the `customer_uid` in the merchant's database and use it to request future payments. - - + }, + ); + ``` + + Once the billing key is issued successfully, the **customer\_uid** is sent to the merchant server. The server creates an API endpoint that receives the **customer\_uid** from the client. The server can use the **customer\_uid** to request future payments.\\ + + ```ts title="server-side" + app.post("/billings", async (req, res) => { + try { + const { customer_uid } = req.body; // Get customer_uid from req.body + } catch (e) { + res.status(400).send(e); + } + }); + ``` + + Save the `customer_uid` in the merchant's database and use it to request future payments. + ### **STEP 03.** Request payment -Use the saved **customer_uid** and call the i'mport [**Non-authenticated payment (billing key) API**](../../../api/api/api) to request payment. +Use the saved **customer\_uid** and call the i'mport +[**Non-authenticated payment (billing key) API**](../../../api/api/api) to request payment. -**To use the i'mport REST API, you must first get an** [**access token**](../../../api/rest-api-access-token). - + **To use the i'mport REST API, you must first get an** [**access token**](../../../api/rest-api-access-token). - -```javascript title="server-side" -app.post("/billings", async (req, res) => { - try { - const { customer_uid } = req.body; // Get customer_uid from req.body - // Get billing key - const getToken = await axios({ - url: "https://api.iamport.kr/users/getToken", - method: "post", // POST method - headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" - data: { - imp_key: "imp_apikey", // REST API key - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret + + ```ts title="server-side" + app.post("/billings", async (req, res) => { + try { + const { customer_uid } = req.body; // Get customer_uid from req.body + // Get billing key + const getToken = await axios({ + url: "https://api.iamport.kr/users/getToken", + method: "post", // POST method + headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" + data: { + imp_key: "imp_apikey", // REST API key + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, + }); + const { access_token } = getToken.data.response; // Access token + // Request payment (for first or nth time) + const paymentResult = await axios({ + url: `https://api.iamport.kr/subscribe/payments/again`, + method: "post", + headers: { Authorization: access_token }, // Add access token to authorization header + data: { + customer_uid, + merchant_uid: "order_monthly_0001", // Order ID + amount: 8900, + name: "recurring payments for monthly subscription", + }, + }); + const { code, message } = paymentResult; + if (code === 0) { + // Successful communication with the card company (additional check is required to confirm whether the payment was successful) + if (paymentResult.status === "paid") { + // Payment approved + res.send({ + // ... + }); + } else { + // Payment not approved (Example: card limit exceeded, card suspended, insufficient balance) + // paymentResult.status: failed is returned + res.send({ + // ... + }); + } + res.send({ + // ... + }); + } else { + // Card company rejected payment (paymentResult is null) + res.send({ + // ... + }); } - }); - const { access_token } = getToken.data.response; // Access token - ... - // Request payment (for first or nth time) - const paymentResult = await axios({ - url: \`https://api.iamport.kr/subscribe/payments/again\`, - method: "post", - headers: { "Authorization": access_token }, // Add access token to authorization header - data: { - customer_uid, - merchant_uid: "order_monthly_0001", // Order ID - amount: 8900, - name: "recurring payments for monthly subscription" - } - }); - ... - const { code, message } = paymentResult; - if (code === 0) { // Successful communication with the card company (additional check is required to confirm whether the payment was successful) - if ( paymentResult.status === "paid" ) { // Payment approved - res.send({ ... }); - } else { // Payment not approved (Example: card limit exceeded, card suspended, insufficient balance) - // paymentResult.status: failed is returned - res.send({ ... }); - } - res.send({ ... }); - } else { // Card company rejected payment (paymentResult is null) - res.send({ ... }); + } catch (e) { + res.status(400).send(e); } - } catch (e) { - res.status(400).send(e); - } - }); -``` - - + }); + ``` + diff --git a/src/content/docs/en/auth/guide-1/bill/readme.mdx b/src/content/docs/en/auth/guide-1/bill/readme.mdx index e8c2711ca..a09efa01d 100644 --- a/src/content/docs/en/auth/guide-1/bill/readme.mdx +++ b/src/content/docs/en/auth/guide-1/bill/readme.mdx @@ -3,59 +3,56 @@ title: Request billing key payment description: Request a non-authenticated payment request with the credit card information. --- +import Figure from "~/components/Figure.astro"; import ContentRef from "~/components/gitbook/ContentRef.astro"; import Details from "~/components/gitbook/Details.astro"; -import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## Non-authenticated payment using a billing key -**What is a billing key?** - -A billing key is an encryption key that can be used to make a payment at a desired time, such as subscriptions and Pay-As-You-Go payments. Since a merchant cannot store the customer's card information, it can get the card's billing key from the card company, store and use it to make payments. + **What is a billing key?** + A billing key is an encryption key that can be used to make a payment at a desired time, such as subscriptions and Pay-As-You-Go payments. Since a merchant cannot store the customer's card information, it can get the card's billing key from the card company, store and use it to make payments. Depending on the PG, the billing key can be issued using the following two methods: - -#### Use i'mport REST API to get a billing key and use it to make a payment request. - -- `NICE Payments` -- `JTNet` -- `KCP` -- `SettleBank` -- `INICIS` -- `DaouData` -- `Paymentwall` - - - - -#### Use a PG payment window to get a billing key. - -- `JTNet` -- `INICIS` -- `Danal (credit card, mobile)` -- `Mobilians` -- `Payco` -- `KICC` -- `KCP` -- `Kakao Pay` -- `Naver Pay` - - + + Use i'mport REST API to get a billing key and use it to make a payment request. + + - `NICE Payments` + - `JTNet` + - `KCP` + - `SettleBank` + - `INICIS` + - `DaouData` + - `Paymentwall` + + + + Use a PG payment window to get a billing key. + + - `JTNet` + - `INICIS` + - `Danal (credit card, mobile)` + - `Mobilians` + - `Payco` + - `KICC` + - `KCP` + - `Kakao Pay` + - `Naver Pay` + -## 2. Payment using card info (key-in payment) +## 2. Payment using card info (key-in payment) Upon pre-agreement with a PG, you can request a one-time payment using the credit card information. This method requests payment by submitting card information each time. It is usually used by some @@ -64,20 +61,18 @@ from customers via ARS to make a payment. Recently, as more merchants are using method for authenticated payments, the use of key-in method is declining due to the inconvenience of having to enter the card information every time. -
+
-**An agreement with the PG is required to use key-in payment.** - + **An agreement with the PG is required to use key-in payment.**
-

PGs that support key-in payment

- -- NICE Payments -- NHN KCP -- JTNET -- SettleBank -- DaouData +

PGs that support key-in payment

+ - NICE Payments + - NHN KCP + - JTNET + - SettleBank + - DaouData
diff --git a/src/content/docs/en/auth/guide-1/bill/rest-api.mdx b/src/content/docs/en/auth/guide-1/bill/rest-api.mdx index 4bdf7fc64..88b27602b 100644 --- a/src/content/docs/en/auth/guide-1/bill/rest-api.mdx +++ b/src/content/docs/en/auth/guide-1/bill/rest-api.mdx @@ -4,9 +4,9 @@ description: Easily get a billing key using the i'mport REST API. --- import Codepen from "~/components/gitbook/Codepen.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; You can use the i'mport REST API to request for a billing key to make a payment request. When you request for a billing key with the customer's credit card information, the i'mport server calls the @@ -19,137 +19,150 @@ has the following pros/cons: requirements are strict for this service, and must take precautions to protect personal information. -#### If you are planning to develop a merchant UI/UX-friendly payment environment, API integration is the right choice. +If you are planning to develop a merchant UI/UX-friendly payment environment, +API integration is the right choice. -### **STEP 01.** Accept credit card information +## **STEP 01.** Accept credit card information Add input fields for card information as shown below. Create a hidden field to store the -**customer_uid** to send to the server upon form submission. For corporate cards (excluding cards +**customer\_uid** to send to the server upon form submission. For corporate cards (excluding cards issued under an employee's name), enter a _10-digit business registration number_ for the `birth` parameter. The following example calls a `POST` request for `/subscription/issue-billing` with input -values and **customer_uid** when you click the **Pay** button. +values and **customer\_uid** when you click the **Pay** button. -**What is a customer\_uid?** + **What is a customer\_uid?** -It is a unique value specified by the merchant that maps 1:1 with the billing key issued by PG. A unique `customer_uid` must be created for each card. - -Example: If a customer named **Hong Gildong** requests for a billing key from **A card**, the customer_uid must be issued for the **specified member's credit card number**. + It is a unique value specified by the merchant that maps 1:1 with the billing key issued by PG. A unique `customer_uid` must be created for each card. + Example: If a customer named **Hong Gildong** requests for a billing key from **A card**, the customer\_uid must be issued for the **specified member's credit card number**. -If you reuse the customer\_uid used to get the existing billing key, the existing billing key will be replaced with the new billing key issued on the new card number. (**The billing key that maps to the existing card will be deleted.**) - + If you reuse the customer\_uid used to get the existing billing key, the existing billing key will be replaced with the new billing key issued on the new card number. (**The billing key that maps to the existing card will be deleted.**) -**Credit card information required for billing key** - -- **Credit card number** -- **Credit card expiration** -- **DOB** -- **First 2-digits of card password** + **Credit card information required for billing key** + - **Credit card number** + - **Credit card expiration** + - **DOB** + - **First 2-digits of card password** - -```html title="client-side" -
- -
- - -
-
- - -
-
- - -
-
- - -
- - -
-``` - -
- - -```jsx title="client-side" -// React.js - class CardForm extends React.Components { - constructor(props) { - super(props); - this.state = { - cardNumber: "", - expiry: "", - birth: "", - pwd2Digit: "", - customer_uid: "gildong_0001_1234", + + ```html title="client-side" +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+ ``` +
+ + + ```tsx title="client-side" + // React.js + class CardForm extends React.Components { + constructor(props) { + super(props); + this.state = { + cardNumber: "", + expiry: "", + birth: "", + pwd2Digit: "", + customer_uid: "gildong_0001_1234", + }; + } + handleInputChange = (event) => { + const { value, name } = event.target; + this.setState({ + [name]: value, + }); }; + handleFormSubmit = (event) => { + event.preventDefault(); + const { cardNumber, expiry, birth, pwd2Digit, customer_uid } = this.state; + axios({ + // Example: https://www.myservice.com/subscription/issue-billing + url: "{service URL to receive billing key request}", + method: "post", + data: { + cardNumber, + expiry, + birth, + pwd2Digit, + customer_uid, + }, + }).then((rsp) => { + // Do something with the response + }); + }; + render() { + const { cardNumber, expiry, birth, pwd2Digit } = this.state; + return ( +
+ + + + + +
+ ); + } } - ... - handleInputChange = (event) => { - const { value, name } = event.target; - this.setState({ - [name]: value, - }); - }; - ... - handleFormSubmit = (event) => { - event.preventDefault(); - const { cardNumber, expiry, birth, pwd2Digit, customer_uid } = this.state; - axios({ - // Example: https://www.myservice.com/subscription/issue-billing - url: "{service URL to receive billing key request}", - method: "post", - data: { - cardNumber, - expiry, - birth, - pwd2Digit, - customer_uid, - } - }).then(rsp => { - ... - }); - }; - ... - render() { - const { cardNumber, expiry, birth, pwd2Digit } = this.state; - return ( -
- - - - - -
- ) - } - } -``` - -
+ ``` +
@@ -157,29 +170,27 @@ If you reuse the customer\_uid used to get the existing billing key, the existin ### **STEP 02.** Extract card information Create an API endpoint to extract the card information from the request body. The following is a -sample **API endpoint** that processes a `POST` request to `/subscription/issue-billing`.\ +sample **API endpoint** that processes a `POST` request to `/subscription/issue-billing`.\\ - -```javascript title="server-side" -// Process POST request to "/subscription/issue-billing" - app.post("/subscriptions/issue-billing", async (req, res) => { - try { - const { - card_number, // card number - expiry, // card expiration - birth, // DOB - pwd_2digit, // first 2-digits of card password - customer_uid, // value that maps 1:1 with card (billing key) - } = req.body; // extract card info from req.body - ... - } catch (e) { - res.status(400).send(e); - } - }); -``` - - + + ```ts title="server-side" + // Process POST request to "/subscription/issue-billing" + app.post("/subscriptions/issue-billing", async (req, res) => { + try { + const { + card_number, // card number + expiry, // card expiration + birth, // DOB + pwd_2digit, // first 2-digits of card password + customer_uid, // value that maps 1:1 with card (billing key) + } = req.body; // extract card info from req.body + } catch (e) { + res.status(400).send(e); + } + }); + ``` + ### **STEP 03.** Request billing key and handle response @@ -188,8 +199,8 @@ Request for a billing key by using the i'mport [**Get billing key REST API**](.. return a response based on the result code. - -```javascript title="server-side" + + ```ts title="server-side" // Process POST request to "/subscription/issue-billing" app.post("/subscriptions/issue-billing", async (req, res) => { try { @@ -200,7 +211,6 @@ return a response based on the result code. pwd_2digit, // First 2-digits of card password customer_uid, // Unique ID for each card (billing key) } = req.body; // Get card info from req.body - ... // Get billing key const getToken = await axios({ url: "https://api.iamport.kr/users/getToken", @@ -208,47 +218,48 @@ return a response based on the result code. headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" data: { imp_key: "imp_apikey", // REST API key - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret - } + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, }); const { access_token } = getToken.data.response; // Access token - ... // Get access token const issueBilling = await axios({ - url: \`https://api.iamport.kr/subscribe/customers/\${customer_uid}\`, + url: `https://api.iamport.kr/subscribe/customers/${customer_uid}`, method: "post", - headers: { "Authorization": access_token }, // Add access token to authorization header + headers: { Authorization: access_token }, // Add access token to authorization header data: { card_number, // Card number expiry, // Card expiration birth, // Date of birth pwd_2digit, // First 2-digits of card password - } + }, }); - ... const { code, message } = issueBilling.data; - if (code === 0) { // Billing key request successful - res.send({ status: "success", message: "Billing has successfully issued" }); - } else { // Billing key request failed + if (code === 0) { + // Billing key request successful + res.send({ + status: "success", + message: "Billing has successfully issued", + }); + } else { + // Billing key request failed res.send({ status: "failed", message }); } } catch (e) { res.status(400).send(e); } }); -``` - - + ``` + -**To use the i'mport REST API, you must first get an** [**access token**](../../../api/rest-api-access-token)**.** - + **To use the i'mport REST API, you must first get an** [**access token**](../../../api/rest-api-access-token)**.** -**Request billing key and make payment at once** - -By using the key-in payment REST API[**`/subscribe/payments/onetime`**](../../../api/api/), you can get the billing key and make a payment in a single API call. + **Request billing key and make payment at once** + By using the key-in payment REST API[**`/subscribe/payments/onetime`**](../../../api/api/), you can get the billing key and make a payment in a single API call. diff --git a/src/content/docs/en/auth/guide-1/page-1.mdx b/src/content/docs/en/auth/guide-1/page-1.mdx index 46ee2b182..b8ffdc138 100644 --- a/src/content/docs/en/auth/guide-1/page-1.mdx +++ b/src/content/docs/en/auth/guide-1/page-1.mdx @@ -3,31 +3,35 @@ title: Key-in payment using card info description: Request payments with only card information without authentication. --- -import Details from "~/components/gitbook/Details.astro"; import Figure from "~/components/Figure.astro"; +import Details from "~/components/gitbook/Details.astro"; import Hint from "~/components/Hint.astro"; -Upon pre-agreement with a PG, you can request a one-time payment using the credit card information. This method requests payment by submitting card information each time. It is usually used by some merchants to avoid the hassle of authenticated payments or call centers that obtain card information from customers via ARS to make a payment. Recently, as more merchants are using a simple payment method for authenticated payments, the use of key-in method is declining due to the inconvenience of having to enter the card information every time. +Upon pre-agreement with a PG, you can request a one-time payment using the credit card information. +This method requests payment by submitting card information each time. +It is usually used by some merchants to avoid the hassle of authenticated payments or call centers +that obtain card information from customers via ARS to make a payment. +Recently, as more merchants are using a simple payment method for authenticated payments, +the use of key-in method is declining due to the inconvenience of having +to enter the card information every time. -
+
-**An agreement with the PG is required to use key-in payment.** - + **An agreement with the PG is required to use key-in payment.**
-

PGs that support key-in payment

- -- NICE Payments -- NHN KCP -- JTNET -- SettleBank -- DaouData +

PGs that support key-in payment

+ - NICE Payments + - NHN KCP + - JTNET + - SettleBank + - DaouData
-You can request a key-in payment by using the [**Non-authenticated payment (one-time) API**](../../api/api/request-non-authenticated-payment-one-time-api) or the PG window. +You can request a key-in payment by using +the [**Non-authenticated payment (one-time) API**][one-time-api] or the PG window. + +[one-time-api]: ../../api/api/request-non-authenticated-payment-one-time-api diff --git a/src/content/docs/en/auth/guide-1/subscription-payment-using-billing-key.mdx b/src/content/docs/en/auth/guide-1/subscription-payment-using-billing-key.mdx index af270062a..dd19ef28e 100644 --- a/src/content/docs/en/auth/guide-1/subscription-payment-using-billing-key.mdx +++ b/src/content/docs/en/auth/guide-1/subscription-payment-using-billing-key.mdx @@ -7,37 +7,38 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Hint from "~/components/Hint.astro"; -#### subscriptionsubscriptionYou can use the customer\_uid obtained through the [Get billing key](../../api/billing-key-api/api-1) or [Non-authenticated payment (one-time)](../../api/api/request-non-authenticated-payment-one-time-api) API to request a subscription or scheduled payment. +You can use the customer\_uid obtained through the [Get billing key](../../api/billing-key-api/api-1) +or [Non-authenticated payment (one-time)](../../api/api/request-non-authenticated-payment-one-time-api) API +to request a subscription or scheduled payment. -### **STEP 01.** Request payment +## **STEP 01.** Request payment You can schedule a payment for a desired time in the future by using the ChaiPort **Schedule payment API**. - ```javascript title="Node.js" + ```ts title="Node.js" // Schedule payment - axios({ - url: \`https://api.iamport.kr/subscribe/payments/schedule\`, - method: "post", - headers: { "Authorization": access_token }, // Add access token to authorization header - data: { - customer_uid: "gildong_0001_1234", // Unique ID for each card (billing key) - schedules: [ - { - merchant_uid: "order_monthly_0001", // Order ID - schedule_at: 1519862400, // Schedule time in UNIX timestamp. - amount: 8900, - name: "Recurring payment for monthly subscription", - buyer_name: "Hong Gildong", - buyer_tel: "01012345678", - buyer_email: "gildong@gmail.com" - } - ] - } - }); - - ``` + axios({ + url: `https://api.iamport.kr/subscribe/payments/schedule`, + method: "post", + headers: { Authorization: access_token }, // Add access token to authorization header + data: { + customer_uid: "gildong_0001_1234", // Unique ID for each card (billing key) + schedules: [ + { + merchant_uid: "order_monthly_0001", // Order ID + schedule_at: 1519862400, // Schedule time in UNIX timestamp. + amount: 8900, + name: "Recurring payment for monthly subscription", + buyer_name: "Hong Gildong", + buyer_tel: "01012345678", + buyer_email: "gildong@gmail.com", + }, + ], + }, + }); +``` @@ -56,41 +57,42 @@ result. - ```javascript title="server-side" + ```ts title="server-side" // Process POST request to "/iamport-callback/schedule" - app.post("/iamport-callback/schedule", async (req, res) => { - try { - const { imp_uid, merchant_uid } = req.body; - // Get access token - const getToken = await axios({ - url: "https://api.iamport.kr/users/getToken", - method: "post", // POST method - headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" - data: { - imp_key: "imp_apikey", // REST API key - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret - } - }); - const { access_token } = getToken.data.response; // Access token - // Get payment info from i'mport server using imp_uid - const getPaymentData = await axios({ - url: \`https://api.iamport.kr/payments/\${imp_uid}\`, // Pass imp_uid - method: "get", // GET method - headers: { "Authorization": access_token } // Add access token to authorization header - }); - const paymentData = getPaymentData.data.response; // Save payment info - const { status } = paymentData; - if (status === "paid") { // If payment is successful - // Save payment info in DB - await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Mongoose - ... - } else { - // Retry payment - } - } catch (e) { - res.status(400).send(e); - } + app.post("/iamport-callback/schedule", async (req, res) => { + try { + const { imp_uid, merchant_uid } = req.body; + // Get access token + const getToken = await axios({ + url: "https://api.iamport.kr/users/getToken", + method: "post", // POST method + headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" + data: { + imp_key: "imp_apikey", // REST API key + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, + }); + const { access_token } = getToken.data.response; // Access token + // Get payment info from i'mport server using imp_uid + const getPaymentData = await axios({ + url: `https://api.iamport.kr/payments/${imp_uid}`, // Pass imp_uid + method: "get", // GET method + headers: { Authorization: access_token }, // Add access token to authorization header }); + const paymentData = getPaymentData.data.response; // Save payment info + const { status } = paymentData; + if (status === "paid") { + // If payment is successful + // Save payment info in DB + await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Mongoose + } else { + // Retry payment + } + } catch (e) { + res.status(400).send(e); + } + }); ``` @@ -105,48 +107,49 @@ URL. - ```javascript title="server-side" - // Process POST request to "/iamport-callback/schedule" - app.post("/iamport-callback/schedule", async (req, res) => { - try { - const { imp_uid, merchant_uid } = req.body; - // Get access token - /* ...Omitted ... */ - // Get payment info from i'mport server using imp_uid - /* ...Omitted ... */ - const paymentData = getPaymentData.data.response; // Save payment info - const { status } = paymentData; - if (status === "paid") { // If payment is successful - // Save payment info in DB - await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Mongoose - ... - // Schedule next payment - axios({ - url: "{URL to receive payment schedule}", // Example: https://api.iamport.kr/subscribe/payments/schedule - method: "post", - headers: { "Authorization": access_token }, // Add access token to authorization header - data: { - customer_uid: "gildong_0001_1234", // Unique ID for each card (billing key) - schedules: [ - { - merchant_uid: "order_monthly_0001", // Order ID - schedule_at: 1519516800, // Schedule time in UNIX timestamp. - amount: 8900, - name: "Recurring payment for monthly subscription", - ... - } - ] - } - }); - } else { - // Retry payment - } - } catch (e) { - res.status(400).send(e); - } - }); + ```ts title="server-side" + // Process POST request to "/iamport-callback/schedule" + app.post("/iamport-callback/schedule", async (req, res) => { + try { + const { imp_uid, merchant_uid } = req.body; + // Get access token + /* ...Omitted ... */ + // Get payment info from i'mport server using imp_uid + /* ...Omitted ... */ + const paymentData = getPaymentData.data.response; // Save payment info + const { status } = paymentData; + if (status === "paid") { + // If payment is successful + // Save payment info in DB + await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Mongoose + // Schedule next payment + axios({ + url: "{URL to receive payment schedule}", // Example: https://api.iamport.kr/subscribe/payments/schedule + method: "post", + headers: { Authorization: access_token }, // Add access token to authorization header + data: { + customer_uid: "gildong_0001_1234", // Unique ID for each card (billing key) + schedules: [ + { + merchant_uid: "order_monthly_0001", // Order ID + schedule_at: 1519516800, // Schedule time in UNIX timestamp. + amount: 8900, + name: "Recurring payment for monthly subscription", + }, + ], + }, + }); + } else { + // Retry payment + } + } catch (e) { + res.status(400).send(e); + } + }); ``` - The above example processes the webhook event that occurs when a scheduled payment is attempted. If the scheduled payment is completed successfully, the payment information is saved in the database and the next payment is scheduled. + The above example processes the webhook event that occurs when a scheduled payment is attempted. + If the scheduled payment is completed successfully, the payment information is saved + in the database and the next payment is scheduled. diff --git a/src/content/docs/en/auth/guide-2/readme.mdx b/src/content/docs/en/auth/guide-2/readme.mdx index f77979dbf..22a98ceb1 100644 --- a/src/content/docs/en/auth/guide-2/readme.mdx +++ b/src/content/docs/en/auth/guide-2/readme.mdx @@ -4,134 +4,125 @@ description: Learn how to cancel a payment using the i'mport payment cancel API. --- import Codepen from "~/components/gitbook/Codepen.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### **STEP 01.** Request cancellation +## **STEP 01.** Request cancellation Request a refund to the server with the required refund information. In the case of virtual account refund, you need to specify additional parameters for the refund deposit account information. The -following example requests a refund with the required refund information.\ +following example requests a refund with the required refund information.\\ - -```html title="client-side" - - - -``` - - - - - - -```jsx title="client-side" -class CancelPay extends React.Component { - cancelPay = () => { - axios({ - url: "{URL to receive refund request}", // Example: http://www.myservice.com/payments/cancel - method: "POST", - headers: { - "Content-Type": "application/json, - }, - data: { - merchant_uid: "mid_" + new Date().getTime(), // Order ID - cancel_request_amount: 2000, // Refund amount - reason: "Refund for test payment" // Reason for the refund - refund_holder: "Jone Doe", // [required for virtual account refund] refund account holder's name - refund_bank: "88" // [required for virtual account refund] refund account bank code (e.g. Shinhan Bank is 88 for KG Inicis) - refund_account: "56211105948400" // [required for virtual account refund] refund account number + + ```html title="client-side" + + + + ``` + + + - + + ```tsx title="client-side" + class CancelPay extends React.Component { + cancelPay = () => { + axios({ + url: "{URL to receive refund request}", // Example: http://www.myservice.com/payments/cancel + method: "POST", + headers: { + "Content-Type": "application/json", + }, + data: { + merchant_uid: "mid_" + new Date().getTime(), // Order ID + cancel_request_amount: 2000, // Refund amount + reason: "Refund for test payment", // Reason for the refund + refund_holder: "Jone Doe", // [required for virtual account refund] refund account holder's name + refund_bank: "88", // [required for virtual account refund] refund account bank code (e.g. Shinhan Bank is 88 for KG Inicis) + refund_account: "56211105948400", // [required for virtual account refund] refund account number + }, + }); + }; + render() { + return ; + } + } + ``` + ### **STEP 02.** Get payment information Assume that there is a **`Payments`** table that stores payment information as follows: -```javascript title="server-side" +```js title="server-side" /* ... model/payments.js ... */ - var mongoose = require('mongoose'); - var Schema = mongoose.Schema; - ... - var PaymentsSchema = new Schema({ - imp_uid: String, // i'mport unique ID (unique key for refund) - merchant_uid: String, // order ID (used to query payment information) - amount: { type: Number, default: 0 }, // Payment amount (for calculating refundable amount) - cancel_amount: { type: Number, default: 0 }, // Total amount refunded (for calculating refundable amount) - ... - }); - ... - module.exports = mongoose.model('Payments', PaymentsSchema); +const mongoose = require("mongoose"); +const Schema = mongoose.Schema; +const PaymentsSchema = new Schema({ + imp_uid: String, // i'mport unique ID (unique key for refund) + merchant_uid: String, // order ID (used to query payment information) + amount: { type: Number, default: 0 }, // Payment amount (for calculating refundable amount) + cancel_amount: { type: Number, default: 0 }, // Total amount refunded (for calculating refundable amount) +}); +module.exports = mongoose.model("Payments", PaymentsSchema); ``` Query the payment information of the order from the **`Payments`** table using the order ID (**`merchant_uid`**) received from the client. -```javascript title="server-side" - /* ... Omitted ... */ - var Payments = require('./models/payments'); - app.post('/payments/cancel', async (req, res, next) => { - try { - /* Get access token */ - /* ... Omitted ... */ - /* Get payment information */ - const { body } = req; - const { merchant_uid } = body; // Order ID from the client - Payments.find({ merchant_uid }, async function(err, payment) { - if (err) { - return res.json(err); - } - const paymentData = payment[0]; // Save payment information - /* Call i'mport REST API to request refund */ - ... - }); - } catch (error) { - res.status(400).send(error); - } - }); - +```js title="server-side" +/* ... Omitted ... */ +const Payments = require("./models/payments"); +app.post("/payments/cancel", async (req, res, next) => { + try { + /* Get access token */ + /* ... Omitted ... */ + /* Get payment information */ + const { body } = req; + const { merchant_uid } = body; // Order ID from the client + Payments.find({ merchant_uid }, async function (err, payment) { + if (err) { + return res.json(err); + } + const paymentData = payment[0]; // Save payment information + /* Call i'mport REST API to request refund */ + }); + } catch (error) { + res.status(400).send(error); + } +}); ``` ### **STEP 03.** Request refund to i'mport server -To request a refund, you must first get a [**REST API access token**](../../api/rest-api-access-token). Use the **`access token`** to call the [**i'mport cancel ****API**](../../api/payment-api/cancel-payment-api) to request a refund. +To request a refund, you must first get a [**REST API access token**](../../api/rest-api-access-token). Use the **`access token`** to call the [**i'mport cancel** **API**](../../api/payment-api/cancel-payment-api) to request a refund. -**Note - Refunding mobile micropayments** - -- If a refund is **requested on a different month from when the payment is made, a full refund is not allowed**. For example, a payment made on January 31st is not refundable on February 1st. + **Note - Refunding mobile micropayments** + - If a refund is **requested on a different month from when the payment is made, a full refund is not allowed**. For example, a payment made on January 31st is not refundable on February 1st. **Setting parameters for refund request:** @@ -155,66 +146,66 @@ To request a refund, you must first get a [**REST API > refund request will fail. If the `checksum` is not specified, the verification is not performed. -**Reason for entering checksum** + **Reason for entering checksum** -`checksum` is not required, but it is recommended for **comparing the refundable amount between the merchant server and the i'mport server**. + `checksum` is not required, but it is recommended for **comparing the refundable amount between the merchant server and the i'mport server**. -For example, consider the case when a partial refund request of 1,000 won for a 10,000 won payment was completed on the i'mport server, but not on the merchant server due to a server or database error. In this case, the checksum of the i'mport server is changed to 9000, but that of the merchant server remains 10,000. - -If you attempt to make a refund request with `checksum(10000)`, the request will fail because the value does not match the `checksum(9000)` of the i'mport server. + For example, consider the case when a partial refund request of 1,000 won for a 10,000 won payment was completed on the i'mport server, but not on the merchant server due to a server or database error. In this case, the checksum of the i'mport server is changed to 9000, but that of the merchant server remains 10,000. + If you attempt to make a refund request with `checksum(10000)`, the request will fail because the value does not match the `checksum(9000)` of the i'mport server. #### The following example requests a refund. -```javascript title="Node.js" - /* ... Omitted ... */ - app.post('/payments/cancel', async (req, res, next) => { - try { - /* Get access token */ +```ts title="Node.js" +/* ... Omitted ... */ +app.post("/payments/cancel", async (req, res, next) => { + try { + /* Get access token */ + /* ... Omitted ... */ + /* Get payment information */ + const { body } = req; + const { merchant_uid, reason, cancel_request_amount } = body; // Order ID from the client, reason for refund, refund amount + Payments.find({ merchant_uid }, async function (err, payment) { /* ... Omitted ... */ - /* Get payment information */ - const { body } = req; - const { merchant_uid, reason, cancel_request_amount } = body; // Order ID from the client, reason for refund, refund amount - Payments.find({ merchant_uid }, async function(err, payment) { - /* ... Omitted ... */ - const paymentData = payment[0]; // Save payment information - const { imp_uid, amount, cancel_amount } = paymentData; // Get imp_uid, amount(paid amount), cancel_amount(total refund amount) from payment information - const cancelableAmount = amount - cancel_amount; // Refundable amount (= paid amount - total refund amount) - if (cancelableAmount <= 0) { // If refundable amount is 0 - return res.status(400).json({ message: "This order has already been fully refunded." }); - } - ... - /* Call i'mport REST API to request refund */ - const getCancelData = await axios({ - url: "{URL to receive refund request}", // Example: http://www.myservice.com/payments/cancel - method: "post", - headers: { - "Content-Type": "application/json", - "Authorization": access_token // Access token from i'mport server - }, - data: { - reason, // Reason for refund from client - imp_uid, // Unique key for refund - amount: cancel_request_amount, // Requested refund amount - checksum: cancelableAmount // [Recommended] refundable amount - } - }); - const { response } = getCancelData.data; // Refund result - /* Save refund result */ - ... + const paymentData = payment[0]; // Save payment information + const { imp_uid, amount, cancel_amount } = paymentData; // Get imp_uid, amount(paid amount), cancel_amount(total refund amount) from payment information + const cancelableAmount = amount - cancel_amount; // Refundable amount (= paid amount - total refund amount) + if (cancelableAmount <= 0) { + // If refundable amount is 0 + return res + .status(400) + .json({ message: "This order has already been fully refunded." }); + } + /* Call i'mport REST API to request refund */ + const getCancelData = await axios({ + url: "{URL to receive refund request}", // Example: http://www.myservice.com/payments/cancel + method: "post", + headers: { + "Content-Type": "application/json", + Authorization: access_token, // Access token from i'mport server + }, + data: { + reason, // Reason for refund from client + imp_uid, // Unique key for refund + amount: cancel_request_amount, // Requested refund amount + checksum: cancelableAmount, // [Recommended] refundable amount + }, }); - } catch (error) { - res.status(400).send(error); - } - }); + const { response } = getCancelData.data; // Refund result + /* Save refund result */ + }); + } catch (error) { + res.status(400).send(error); + } +}); ``` ### **STEP 04.** Save refund result -#### After the refund process is completed, save the result in the database as follows: +After the refund process is completed, save the result in the database as follows: -```javascript title="Node.js" +```ts title="Node.js" /* ... Omitted ... */ app.post("/payments/cancel", async (req, res, next) => { try { @@ -238,7 +229,7 @@ app.post("/payments/cancel", async (req, res, next) => { return res.json(err); } res.json(payment); // Return refund result to the client - } + }, ); }); } catch (error) { @@ -248,10 +239,9 @@ app.post("/payments/cancel", async (req, res, next) => { ``` -**Note - When cancelling a payment** - -Even if a **response code of 200 (OK)** is returned for the REST API ([**POST https://api.iamport.kr/payments/cancel**](https://api.iamport.kr/#!/payments/cancelPayment)) request, a non-zero code in the response body **means that the refund has failed**. You can check the reason for the failure in the message of the body. + **Note - When cancelling a payment** + Even if a **response code of 200 (OK)** is returned for the REST API ([**POST https://api.iamport.kr/payments/cancel**](https://api.iamport.kr/#!/payments/cancelPayment)) request, a non-zero code in the response body **means that the refund has failed**. You can check the reason for the failure in the message of the body. ### **STEP 04.** Handle response for refund request @@ -259,46 +249,47 @@ Even if a **response code of 200 (OK)** is returned for the REST API ([**POST ht Add the client-side logic to handle the response from the server as follows: - -```html title="client-side" - - - -``` - - - - -```jsx title="client-side" -class CancelPay extends React.Component { - cancelPay = () => { - axios({ - /* ... Omitted ... */ - }).then(response => { // If refund is successful - alert("Refund successful"); - }).catch(error => { // If refund fails - alert("Refund failed"); - }); - } - ... - render() { - return ; - } -} -``` - - + + ```html title="client-side" + + + + ``` + + + + ```tsx title="client-side" + class CancelPay extends React.Component { + cancelPay = () => { + axios({ + /* ... Omitted ... */ + }) + .then((response) => { + // If refund is successful + alert("Refund successful"); + }) + .catch((error) => { + // If refund fails + alert("Refund failed"); + }); + }; + render() { + return ; + } + } + ``` + diff --git a/src/content/docs/en/auth/guide-2/refund.mdx b/src/content/docs/en/auth/guide-2/refund.mdx index 871f8d3bd..6ace37b4a 100644 --- a/src/content/docs/en/auth/guide-2/refund.mdx +++ b/src/content/docs/en/auth/guide-2/refund.mdx @@ -6,84 +6,91 @@ description: Request a refund for a virtual account payment. import Figure from "~/components/Figure.astro"; import Hint from "~/components/Hint.astro"; -### For a virtual account refund, you must sign up for the v**irtual account special service** provided by each PG. +For a virtual account refund, you must sign up for the **virtual account special service** +provided by each PG. -**Why do you need to sign up for a virtual account special service?** + **Why do you need to sign up for a virtual account special service?** -Unlike credit cards, fees for payment/refund are not subject to refund for virtual account refund. For example, for a 10,000 won payment, the merchant: + Unlike credit cards, fees for payment/refund are not subject to refund for virtual account refund. For example, for a 10,000 won payment, the merchant: -- receives 9700 won (10,000 won - virtual account issuance fee of 300 won) from the PG at the time of payment. -- pays 10,300 won (10,000 won to be refunded + 300 won remittance fee for the refund account) to the PG company when the payment is refunded. - -To prevent confusion that may arise regarding fees for virtual account refund, PGs provide **virtual account refunds only to merchants who are signed up for the virtual account special service**. + - receives 9700 won (10,000 won - virtual account issuance fee of 300 won) from the PG at the time of payment. + - pays 10,300 won (10,000 won to be refunded + 300 won remittance fee for the refund account) to the PG company when the payment is refunded. + To prevent confusion that may arise regarding fees for virtual account refund, PGs provide **virtual account refunds only to merchants who are signed up for the virtual account special service**. -Since a virtual account transaction involves a one-way payment method, the target account for refund is unknown. Hence, you must specify the following refund account information in addition to the refund amount. +Since a virtual account transaction involves a one-way payment method, +the target account for refund is unknown. +Hence, you must specify the following refund account information in addition to the refund amount. - `refund_holder`: Refund account holder's name - `refund_account`: Refund account number - `refund_bank`: Refund account bank code -**Note - Virtual account bank codes by PG** - -Since the **virtual account bank code** varies by PG even for the same bank, be sure to check the [**Bank codes by PG**](../../tips/bank-codes-by-pg) list. + **Note - Virtual account bank codes by PG** + Since the **virtual account bank code** varies by PG even for the same bank, be sure to check the [**Bank codes by PG**](../../tips/bank-codes-by-pg) list. -#### The following example requests for a virtual account refund. - -```javascript title="Node.js" - /* ... Omitted ... */ - app.post('/payments/cancel', async (req, res, next) => { - try { - /* Get access token */ +The following example requests for a virtual account refund. + +```ts title="Node.js" +/* ... Omitted ... */ +app.post("/payments/cancel", async (req, res, next) => { + try { + /* Get access token */ + /* ... Omitted ... */ + /* Get payment information */ + const { body } = req; + const { + merchant_uid, + reason, + cancel_request_amount, + refund_holder, + refund_bank, + refund_account, + } = body; // Order ID from the client, reason for refund, refund amount, virtual accoun info (account holder, account number, bank code + Payments.find({ merchant_uid }, async function (err, payment) { /* ... Omitted ... */ - /* Get payment information */ - const { body } = req; - const { merchant_uid, reason, cancel_request_amount, refund_holder, refund_bank, refund_account } = body; // Order ID from the client, reason for refund, refund amount, virtual accoun info (account holder, account number, bank code - Payments.find({ merchant_uid }, async function(err, payment) { - /* ... Omitted ... */ - const paymentData = payment[0]; // Save payment information - const { imp_uid, amount, cancel_amount } = paymentData; // Get imp_uid, amount(paid amount), cancel_amount(total refund amount) from payment information - const cancelableAmount = amount - cancel_amount; // Refundable amount (= paid amount - total refund amount) - if (cancelableAmount <= 0) { // If refundable amount is 0 - return res.status(400).json({ message: "This order has already been fully refunded." }); - } - ... - /* Call i'mport REST API to request refund */ - const getCancelData = await axios({ - url: "https://api.iamport.kr/payments/cancel", - method: "post", - headers: { - "Content-Type": "application/json", - "Authorization": access_token // Access token from i'mport server - }, - data: { - reason, // Reason for refund from client - imp_uid, // Unique key for refund - amount: cancel_request_amount, // Requested refund amount - checksum: cancelableAmount, // [Recommended] refundable amount - refund_holder, // [required when refunding virtual account payment] refund account holder's name - refund_bank, // [required for virtual account refund] refund account bank code (e.g. Shinhan Bank is 88 for KG Inicis) - refund_account // [required for virtual account refund] refund account number - } - }); - const { response } = getCancelData.data; // Refund result - /* Save refund result */ - ... + const paymentData = payment[0]; // Save payment information + const { imp_uid, amount, cancel_amount } = paymentData; // Get imp_uid, amount(paid amount), cancel_amount(total refund amount) from payment information + const cancelableAmount = amount - cancel_amount; // Refundable amount (= paid amount - total refund amount) + if (cancelableAmount <= 0) { + // If refundable amount is 0 + return res + .status(400) + .json({ message: "This order has already been fully refunded." }); + } + /* Call i'mport REST API to request refund */ + const getCancelData = await axios({ + url: "https://api.iamport.kr/payments/cancel", + method: "post", + headers: { + "Content-Type": "application/json", + Authorization: access_token, // Access token from i'mport server + }, + data: { + reason, // Reason for refund from client + imp_uid, // Unique key for refund + amount: cancel_request_amount, // Requested refund amount + checksum: cancelableAmount, // [Recommended] refundable amount + refund_holder, // [required when refunding virtual account payment] refund account holder's name + refund_bank, // [required for virtual account refund] refund account bank code (e.g. Shinhan Bank is 88 for KG Inicis) + refund_account, // [required for virtual account refund] refund account number + }, }); - } catch (error) { - res.status(400).send(error); - } - }); + const { response } = getCancelData.data; // Refund result + /* Save refund result */ + }); + } catch (error) { + res.status(400).send(error); + } +}); ``` -If the virtual account refund request is successful, the refund amount will be deposited (from PG) into the specified refund account normally in about one working day. +If the virtual account refund request is successful, the refund amount will be deposited (from PG) +into the specified refund account normally in about one working day. -
+
diff --git a/src/content/docs/en/auth/guide/1.mdx b/src/content/docs/en/auth/guide/1.mdx index 5273dd300..e447baf7e 100644 --- a/src/content/docs/en/auth/guide/1.mdx +++ b/src/content/docs/en/auth/guide/1.mdx @@ -8,7 +8,7 @@ description: >- import Youtube from "~/components/gitbook/Youtube.astro"; import Hint from "~/components/Hint.astro"; -#### Add the following JS library to the client-side page for payment integration. +Add the following JS library to the client-side page for payment integration. You must first install **jQuery 1.0 or later version**. diff --git a/src/content/docs/en/auth/guide/2.mdx b/src/content/docs/en/auth/guide/2.mdx index 8fa2ce4f2..c01c5da6e 100644 --- a/src/content/docs/en/auth/guide/2.mdx +++ b/src/content/docs/en/auth/guide/2.mdx @@ -7,20 +7,20 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Hint from "~/components/Hint.astro"; -#### On the checkout page, initialize the IMP object using your [Merchant ID](../../ready/3.). +On the checkout page, initialize the IMP object using your [Merchant ID](../../ready/3.). - ```javascript title="Client-side" - var IMP = window.IMP; // Can be omitted - IMP.init("Merchant ID"); // Example: imp00000000 + ```ts title="Client-side" + const IMP = window.IMP; // Can be omitted + IMP.init("Merchant ID"); // Example: imp00000000 ``` - ```javascript title="Client-side" - const IMP = window.IMP; // Can be omitted - IMP.init("{Merchant ID}"); // Example: imp00000000a + ```ts title="Client-side" + const IMP = window.IMP; // Can be omitted + IMP.init("{Merchant ID}"); // Example: imp00000000a ``` diff --git a/src/content/docs/en/auth/guide/3.mdx b/src/content/docs/en/auth/guide/3.mdx index cf06e1972..aa2d46999 100644 --- a/src/content/docs/en/auth/guide/3.mdx +++ b/src/content/docs/en/auth/guide/3.mdx @@ -16,41 +16,39 @@ the first argument of the **request\_pay** function. - ```javascript - + }, + ); ``` - ```jsx - class RequestPay extends React.Component { - requestPay = () => { - IMP.request_pay({ // param + ```tsx + export class RequestPay extends React.Component { + requestPay = () => { + IMP.request_pay( + { + // param pg: "kcp", pay_method: "card", merchant_uid: "ORD20180131-0000011", @@ -60,54 +58,53 @@ the first argument of the **request\_pay** function. buyer_name: "Hong Gildong", buyer_tel: "010-4242-4242", buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", - buyer_postcode: "01181" - }, rsp => { // callback + buyer_postcode: "01181", + }, + (rsp) => { + // callback if (rsp.success) { - ..., // Payment is successful - ... } else { - ..., // Payment failed - ... } - }); - } + }, + ); + }; + } ``` - ```javascript - + ```ts + export default { + methods: { + requestPay: function () { + IMP.request_pay( + { + // param + pg: "kcp", + pay_method: "card", + merchant_uid: "ORD20180131-0000011", + name: "Norway swivel chair", + amount: 64900, + buyer_email: "gildong@gmail.com", + buyer_name: "Hong Gildong", + buyer_tel: "010-4242-4242", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "01181", + }, + (rsp) => { + // callback + if (rsp.success) { + // Payment is successful + } else { + // Payment failed + } + }, + ); + }, + }, + }; ``` @@ -115,11 +112,11 @@ the first argument of the **request\_pay** function. **Note - Creating an order ID (merchant\_uid)** - - The order number must always be assigned a **unique** **value** when the payment window is requested. + - The order number must always be assigned a **unique value** when the payment window is requested. - After the payment process is complete, the server uses the order ID to retrieve the order information for **payment fraud check**. Be sure to create a **unique ID** on the merchant server and **store it in the DB**. -#### The following is the above sample code with the Pay button added. +The following is the above sample code with the Pay button added. ```html title="sample.html" diff --git a/src/content/docs/en/auth/guide/4/iframe.mdx b/src/content/docs/en/auth/guide/4/iframe.mdx index caa36d444..dac52015e 100644 --- a/src/content/docs/en/auth/guide/4/iframe.mdx +++ b/src/content/docs/en/auth/guide/4/iframe.mdx @@ -15,7 +15,8 @@ import Hint from "~/components/Hint.astro";
-#### Most payments that are processed in the PC environment can receive payment results through the callback function, which is the second argument of the request\_pay() function. +Most payments that are processed in the PC environment can receive payment results +through the callback function, which is the second argument of the request\_pay() function. For **PayPal** payments, the payment window is loaded as a **pop-up (new window)** in a PC environment and you can also receive the payment result through **m\_redirect\_url**. @@ -26,36 +27,47 @@ import Hint from "~/components/Hint.astro"; - ```javascript title="client-side" - IMP.request_pay({ - /* ...Omitted... */ - }, function (rsp) { // callback - if (rsp.success) { // payment successful: payment accepted or virtual account issued - // HTTP request with jQuery - jQuery.ajax({ - url: "{Merchant endpoint that receives server's payment info}", - method: "POST", - headers: { "Content-Type": "application/json" }, - data: { - imp_uid: rsp.imp_uid, // Payment ID - merchant_uid: rsp.merchant_uid // Order ID - } - }).done(function (data) { - // Merchant server payment API call is successful + ```ts title="client-side" + IMP.request_pay( + { + /* ...Omitted... */ + }, + function (rsp) { + // callback + if (rsp.success) { + // payment successful: payment accepted or virtual account issued + // HTTP request with jQuery + jQuery + .ajax({ + url: "{Merchant endpoint that receives server's payment info}", + method: "POST", + headers: { "Content-Type": "application/json" }, + data: { + imp_uid: rsp.imp_uid, // Payment ID + merchant_uid: rsp.merchant_uid, // Order ID + }, }) - } else { - alert("Payment failed. Error: " + rsp.error_msg); - } - }); + .done(function (data) { + // Merchant server payment API call is successful + console.log(data); + }); + } else { + alert("Payment failed. Error: " + rsp.error_msg); + } + }, + ); ``` - ```javascript title="client-side" - IMP.request_pay({ + ```ts title="client-side" + IMP.request_pay( + { /* ...Omitted... */ - }, rsp => { // callback - if (rsp.success) { + }, + (rsp) => { + // callback + if (rsp.success) { // HTTP request with axios axios({ url: "{Endpoint that receives server's payment info}", @@ -63,15 +75,17 @@ import Hint from "~/components/Hint.astro"; headers: { "Content-Type": "application/json" }, data: { imp_uid: rsp.imp_uid, - merchant_uid: rsp.merchant_uid - } + merchant_uid: rsp.merchant_uid, + }, }).then((data) => { // Server payment API call is successful - }) + console.log(data); + }); } else { - alert(\`Payment failed. Error: \${rsp.error_msg}\`); + alert(`Payment failed. Error: ${rsp.error_msg}`); } - }); + }, + ); ``` @@ -85,5 +99,6 @@ above. > For information about the response parameter passed to the **callback** function, refer to [**rsp**](../../../sdk/javascript-sdk/undefined-1). - The final payment result logic processing must be handled stably by using a [**webhook**](../../../result/webhook). If you don't set up a webhook, you may fail to receive the payment result. + The final payment result logic processing must be handled stably by using a [**webhook**](../../../result/webhook). + If you don't set up a webhook, you may fail to receive the payment result. diff --git a/src/content/docs/en/auth/guide/4/redirect.mdx b/src/content/docs/en/auth/guide/4/redirect.mdx index 822f9876a..4e4d4c695 100644 --- a/src/content/docs/en/auth/guide/4/redirect.mdx +++ b/src/content/docs/en/auth/guide/4/redirect.mdx @@ -9,7 +9,6 @@ import ContentRef from "~/components/gitbook/ContentRef.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; -import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Hint from "~/components/Hint.astro"; @@ -22,25 +21,30 @@ import Hint from "~/components/Hint.astro"; - ```javascript title="client-side" - IMP.request_pay({ - /* ...Omitted... */, - m_redirect_url: "{redirect URL}" - }, /* callback */); // callback is not called + ```ts title="client-side" + IMP.request_pay( + { + /* ...Omitted... */ + m_redirect_url: "{redirect URL}", + } /* callback */, + ); // callback is not called ``` - ```javascript title="client-side" - IMP.request_pay({ - /* ...Omitted... */, - m_redirect_url: "{redirect URL}" - }, /* callback */); // callback is not called + ```ts title="client-side" + IMP.request_pay( + { + /* ...Omitted... */ + m_redirect_url: "{redirect URL}", + } /* callback */, + ); // callback is not called ``` -If **m\_redirect\_url** is specified as the **request\_pay** function parameter as above, the payment result is sent to the URL address in the form of a query string after **payment is completed**. +If **m\_redirect\_url** is specified as the **request\_pay** function parameter as above, +the payment result is sent to the URL address in the form of a query string after **payment is completed**. **What is a query string?** @@ -53,9 +57,9 @@ If **m\_redirect\_url** is specified as the **request\_pay** function parameter You can receive the following parameters through the specified URL as a query string. - ### Parameters + ## Parameters - #### Query + ### Query i'mport payment ID @@ -80,13 +84,13 @@ The following is an example of a redirecting URL based on the query string. - ```url + ```sh curl https://myservice.com/payments/complete?imp_uid=unique_iamport_paymentID&merchant_uid=unique_merchant_orderID&imp_success=true ``` - ``` + ```sh curl https://myservice.com/payments/complete?imp_uid=unique_iamport_paymentID&merchant_uid=unique_merchant_orderID&imp_success=false&error_code=error_code(none_defined_currently)&error_msg=error_message ``` @@ -105,16 +109,26 @@ The following is an example of a redirecting URL based on the query string. > The `payment process is complete` when: > > 1. **Payment is successful** (Status: `paid`, imp\_success: `true`) +> > 2. **Payment fails** (Status: `failed`, imp\_success: `false`) +> > 3. **Payment window fails to open** due to PG module setting error +> > 4. User **terminates the payment process** by clicking the X or Cancel button -> 5. **Payment is suspended** due to invalid card information, limit exceeded, insufficient balance, etc. +> +> 5. **Payment is suspended** due to invalid card information, +> limit exceeded, insufficient balance, etc. +> > 6. **Virtual account is issued** (status: `ready`, imp\_success: `true`) **Note - imp\_success parameter** - The `imp_success` parameter indicates **whether or not the payment process completed successfully**. However, since the payment page is opened by calling a JavaScript function from the client-side, **the payment amount can be forged** by a malicious user. Hence, **this value should not be used to determine the success of the payment**. Depending on the value of `imp_success`, determine the payment success as follows: + The `imp_success` parameter indicates **whether or not the payment process completed successfully**. + However, since the payment page is opened by calling a JavaScript function from the client-side, + **the payment amount can be forged** by a malicious user. + Hence, **this value should not be used to determine the success of the payment**. + Depending on the value of `imp_success`, determine the payment success as follows: - imp\_success = true: First send payment information (imp\_uid, merchant\_uid) to the server to verify the payment amount, and then finalize payment success. - imp\_success = false: Alert the user that the payment failed. diff --git a/src/content/docs/en/auth/guide/5.mdx b/src/content/docs/en/auth/guide/5.mdx index 7489452cb..d12d952e8 100644 --- a/src/content/docs/en/auth/guide/5.mdx +++ b/src/content/docs/en/auth/guide/5.mdx @@ -10,24 +10,27 @@ import Hint from "~/components/Hint.astro"; Based on the payment information from the client, the server verifies the **payment amount for fraud** and saves the payment information in the database if needed. The following are the steps for verifying the payment information. - Server receives the i'mport payment ID (**imp\_uid**) and order ID (**merchant\_uid**) + - Call the [**Get payment API**](https://api.iamport.kr/#!/payments/getPaymentByImpUid) to get the payment details. + - Based on the response, compare the actual payment amount with the payment request amount (from merchant's database). -### **STEP 01** Server receives payment result +## **STEP 01** Server receives payment result Example of receiving a POST request to the merchant endpoint URL that receives the payment information - ```javascript title="server-side" + ```ts title="server-side" app.use(bodyParser.json()); // "{Merchant endpoint that receives server's payment info}" POST request receiver app.post("/payments/complete", async (req, res) => { try { // Get imp_uid, merchant_uid from req.body const { imp_uid, merchant_uid } = req.body; + console.log(imp_uid, merchant_uid); } catch (e) { res.status(400).send(e); } @@ -42,41 +45,40 @@ Based on the payment information from the client, the server verifies the Example of calling the [**Get payment**](https://api.iamport.kr/#!/payments/getPaymentByImpUid) **API** with the i'mport **payment ID (imp\_uid)** to retrieve the payment info. - ```javascript title="server-side" + ```ts title="server-side" app.use(bodyParser.json()); - ... - app.post("/payments/complete", async (req, res) => { - try { - // Get imp_uid, merchant_uid from req.body - const { imp_uid, merchant_uid } = req.body; - ... - // Get access token - const getToken = await axios({ - url: "https://api.iamport.kr/users/getToken", - method: "post", // POST method - headers: { "Content-Type": "application/json" }, - data: { - imp_key: "imp_apikey", // REST API key - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret - } - }); - const { access_token } = getToken.data.response; // access token - ... - // Get payment info from i'mport server using imp_uid - const getPaymentData = await axios({ - // Pass imp_uid - url: \`https://api.iamport.kr/payments/\${imp_uid}\`, - // GET method - method: "get", - // Add access toke to Authorization header - headers: { "Authorization": access_token } - }); - const paymentData = getPaymentData.data.response; // Payment info - ... - } catch (e) { - res.status(400).send(e); - } + app.post("/payments/complete", async (req, res) => { + try { + // Get imp_uid, merchant_uid from req.body + const { imp_uid, merchant_uid } = req.body; + console.log(imp_uid, merchant_uid); + // Get access token + const getToken = await axios({ + url: "https://api.iamport.kr/users/getToken", + method: "post", // POST method + headers: { "Content-Type": "application/json" }, + data: { + imp_key: "imp_apikey", // REST API key + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, + }); + const { access_token } = getToken.data.response; // access token + // Get payment info from i'mport server using imp_uid + const getPaymentData = await axios({ + // Pass imp_uid + url: `https://api.iamport.kr/payments/${imp_uid}`, + // GET method + method: "get", + // Add access toke to Authorization header + headers: { Authorization: access_token }, }); + const paymentData = getPaymentData.data.response; // Payment info + console.log(paymentData); + } catch (e) { + res.status(400).send(e); + } + }); ``` @@ -99,49 +101,60 @@ Based on the payment information from the client, the server verifies the Example of comparing the actual payment amount with the payment request amount, performing fraud check on the payment amount, and saving the data in the DB. - ```javascript title="server-side" + ```ts title="server-side" app.use(bodyParser.json()); - ... - app.post("/payments/complete", async (req, res) => { - try { - // Get imp_uid, merchant_uid from req.body - const { imp_uid, merchant_uid } = req.body; - // Get access token - /* ...Omitted... */ - // Get payment info from iamport server using imp_uid - /* ...Omitted... */ - const paymentData = getPaymentData.data.response; // Payment info - ... - // Get the requested payment amount from the DB - const order = await Orders.findById(paymentData.merchant_uid); - const amountToBePaid = order.amount; // Requested payment amount - ... - // Verify payment - const { amount, status } = paymentData; - // If amount matches. Processed amount === Requested amount - if (amount === amountToBePaid) { - await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Save payment info to DB - ... - switch (status) { - case "ready": // Issue virtual account - // Save virtual account info in DB - const { vbank_num, vbank_date, vbank_name } = paymentData; - await Users.findByIdAndUpdate("/* customer id */", { $set: { vbank_num, vbank_date, vbank_name }}); - // Send virtual account issuance text message - SMS.send({ text: \`Virtual account issued successfully. Account info \${vbank_num} \${vbank_date} \${vbank_name}\`}); - res.send({ status: "vbankIssued", message: "Virtual account issued successfully" }); - break; - case "paid": // Payment complete - res.send({ status: "success", message: "General payment successful" }); - break; - } - } else { // Amount mismatch. Forged/falsified payment. - throw { status: "forgery", message: "Forged/falsified payment attempted" }; + app.post("/payments/complete", async (req, res) => { + try { + // Get imp_uid, merchant_uid from req.body + const { imp_uid, merchant_uid } = req.body; + console.log(imp_uid, merchant_uid); + // Get access token + /* ...Omitted... */ + // Get payment info from iamport server using imp_uid + /* ...Omitted... */ + const paymentData = getPaymentData.data.response; // Payment info + // Get the requested payment amount from the DB + const order = await Orders.findById(paymentData.merchant_uid); + const amountToBePaid = order.amount; // Requested payment amount + // Verify payment + const { amount, status } = paymentData; + // If amount matches. Processed amount === Requested amount + if (amount === amountToBePaid) { + await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Save payment info to DB + switch (status) { + case "ready": // Issue virtual account + // Save virtual account info in DB + const { vbank_num, vbank_date, vbank_name } = paymentData; + await Users.findByIdAndUpdate("/* customer id */", { + $set: { vbank_num, vbank_date, vbank_name }, + }); + // Send virtual account issuance text message + SMS.send({ + text: `Virtual account issued successfully. Account info ${vbank_num} ${vbank_date} ${vbank_name}`, + }); + res.send({ + status: "vbankIssued", + message: "Virtual account issued successfully", + }); + break; + case "paid": // Payment complete + res.send({ + status: "success", + message: "General payment successful", + }); + break; } - } catch (e) { - res.status(400).send(e); + } else { + // Amount mismatch. Forged/falsified payment. + throw { + status: "forgery", + message: "Forged/falsified payment attempted", + }; } - }); + } catch (e) { + res.status(400).send(e); + } + }); ``` diff --git a/src/content/docs/en/auth/guide/6.mdx b/src/content/docs/en/auth/guide/6.mdx index 9dd2dd4f6..b04751481 100644 --- a/src/content/docs/en/auth/guide/6.mdx +++ b/src/content/docs/en/auth/guide/6.mdx @@ -16,55 +16,69 @@ following example. - ```javascript title="client-side" - IMP.request_pay({ + ```ts title="client-side" + IMP.request_pay( + { /* ...Omitted... */ - }, function (rsp) { // callback - if (rsp.success) { // payment successful: payment accepted or virtual account issued - // jQuery HTTP request - jQuery.ajax({ + }, + function (rsp) { + // callback + if (rsp.success) { + // payment successful: payment accepted or virtual account issued + // jQuery HTTP request + jQuery + .ajax({ /* ...Omitted... */ - }).done(function(data) { // response processing - switch(data.status) { - case: "vbankIssued": + }) + .done(function (data) { + // response processing + switch (data.status) { + case "vbankIssued": // Virtual account issued break; - case: "success": + case "success": // Payment successful break; } }); } else { - alert("Payment failed. Error message: " + rsp.error_msg); + alert("Payment failed. Error message: " + rsp.error_msg); } - }); + }, + ); ``` - ```javascript title="client-side" - IMP.request_pay({ + ```ts title="client-side" + IMP.request_pay( + { /* ...Omitted... */ - }, rsp => { // callback - if (rsp.success) { // payment successful: payment accepted or virtual account issued + }, + (rsp) => { + // callback + if (rsp.success) { + // payment successful: payment accepted or virtual account issued // axios HTTP request axios({ /* ...Omitted... */ - }).then((data) => { // Response processing - switch(data.status) { - case: "vbankIssued": + }).then((data) => { + // Response processing + switch (data.status) { + case "vbankIssued": // Virtual account issued break; - case: "success": + case "success": // Payment successful break; } }); } else { - alert(\`Payment failed. Error message: \${rsp.error_msg}\`); + alert(`Payment failed. Error message: ${rsp.error_msg}`); } - }); + }, + ); ``` diff --git a/src/content/docs/en/auth/guide/def.mdx b/src/content/docs/en/auth/guide/def.mdx index e3deb6c30..c70a2726b 100644 --- a/src/content/docs/en/auth/guide/def.mdx +++ b/src/content/docs/en/auth/guide/def.mdx @@ -19,7 +19,8 @@ authentication result. Communication for a live payment request is made directly between the merchant server and the PG server, and card information is not used in the payment request process. -#### Authenticated payment is traditionally categorized into the following two types based on the authentication method. +Authenticated payment is traditionally categorized into the followingtwo types +based on the authentication method. - ISP: authenticates pre-registered card information through a public key-based digital certificate - MPI: authenticates card information by entering the card number, CVC, and secure click password. @@ -29,4 +30,4 @@ to pre-register a credit card and use the **6-digit payment password** to easily
-#### You can easily integrate authenticated payment through i'mport! +You can easily integrate authenticated payment through i'mport! diff --git a/src/content/docs/en/auth/guide/readme.mdx b/src/content/docs/en/auth/guide/readme.mdx index 8aae9ffd1..ed0c60b7f 100644 --- a/src/content/docs/en/auth/guide/readme.mdx +++ b/src/content/docs/en/auth/guide/readme.mdx @@ -23,7 +23,8 @@ authentication result. Communication for a live payment request is made directly between the merchant server and the PG server, and card information is not used in the payment request process. -#### Authenticated payment is traditionally categorized into the following two types based on the authentication method. +Authenticated payment is traditionally categorized into the following two types +based on the authentication method. - ISP: authenticates pre-registered card information through a public key-based digital certificate - MPI: authenticates card information by entering the card number, CVC, and secure click password. @@ -33,7 +34,7 @@ to pre-register a credit card and use the **6-digit payment password** to easily
-#### You can easily integrate authenticated payments through i'mport! +You can easily integrate authenticated payments through i'mport! ## 1. Add i'mport library @@ -58,20 +59,20 @@ Add the JS library to your checkout page. ## 2. Initialize IMP object -#### On the checkout page, initialize the IMP object using your [Merchant ID](../../ready/3.). +On the checkout page, initialize the IMP object using your [Merchant ID](../../ready/3.). - ```javascript title="Client-side" - var IMP = window.IMP; // Can be omitted - IMP.init("Merchant ID"); // Example: imp00000000 + ```ts title="Client-side" + const IMP = window.IMP; // Can be omitted + IMP.init("Merchant ID"); // Example: imp00000000 ``` - ```javascript title="Client-side" - const IMP = window.IMP; // Can be omitted - IMP.init("{Merchant ID}"); // Example: imp00000000a + ```ts title="Client-side" + const IMP = window.IMP; // Can be omitted + IMP.init("{Merchant ID}"); // Example: imp00000000a ``` @@ -89,41 +90,39 @@ the first argument of the **request\_pay** function. - ```javascript - + }, + ); ``` - ```jsx - class RequestPay extends React.Component { - requestPay = () => { - IMP.request_pay({ // param + ```tsx + export class RequestPay extends React.Component { + requestPay = () => { + IMP.request_pay( + { + // param pg: "kcp", pay_method: "card", merchant_uid: "ORD20180131-0000011", @@ -133,54 +132,53 @@ the first argument of the **request\_pay** function. buyer_name: "Hong Gildong", buyer_tel: "010-4242-4242", buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", - buyer_postcode: "01181" - }, rsp => { // callback + buyer_postcode: "01181", + }, + (rsp) => { + // callback if (rsp.success) { - ..., // Payment is successful - ... } else { - ..., // Payment failed - ... } - }); - } + }, + ); + }; + } ``` - ```javascript - + ```ts + export default { + methods: { + requestPay: function () { + IMP.request_pay( + { + // param + pg: "kcp", + pay_method: "card", + merchant_uid: "ORD20180131-0000011", + name: "Norway swivel chair", + amount: 64900, + buyer_email: "gildong@gmail.com", + buyer_name: "Hong Gildong", + buyer_tel: "010-4242-4242", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "01181", + }, + (rsp) => { + // callback + if (rsp.success) { + // Payment is successful + } else { + // Payment failed + } + }, + ); + }, + }, + }; ``` @@ -188,11 +186,11 @@ the first argument of the **request\_pay** function. **Note - Creating an order ID (merchant\_uid)** - - The order number must always be assigned a **unique** **value** each time the payment window is requested. + - The order number must always be assigned a **unique value** each time the payment window is requested. - After the payment process is complete, the server uses the order ID to retrieve the order information for **payment fraud check**. Be sure to create a **unique ID** on the merchant server and **store it in the DB**. -#### The following is the above sample code with the Pay button added. +The following is the above sample code with the Pay button added. ```html title="sample.html" @@ -263,7 +261,8 @@ the payment window type as follows:
-#### Most payments that are processed in the PC environment can receive payment results through the callback function, which is the second argument of the request\_pay() function. +Most payments that are processed in the PC environment can receive payment results +through the callback function, which is the second argument of the request\_pay() function. For **PayPal** payments, the payment window is loaded as a **pop-up (new window)** in a PC environment and you can also receive the payment result through **m\_redirect\_url**. @@ -274,36 +273,47 @@ the payment window type as follows: - ```javascript title="client-side" - IMP.request_pay({ - /* ...Omitted... */ - }, function (rsp) { // callback - if (rsp.success) { // payment successful: payment accepted or virtual account issued - // HTTP request with jQuery - jQuery.ajax({ - url: "{Merchant endpoint that receives server's payment info}", - method: "POST", - headers: { "Content-Type": "application/json" }, - data: { - imp_uid: rsp.imp_uid, // Payment ID - merchant_uid: rsp.merchant_uid // Order ID - } - }).done(function (data) { - // Merchant server payment API call is successful + ```ts title="client-side" + IMP.request_pay( + { + /* ...Omitted... */ + }, + function (rsp) { + // callback + if (rsp.success) { + // payment successful: payment accepted or virtual account issued + // HTTP request with jQuery + jQuery + .ajax({ + url: "{Merchant endpoint that receives server's payment info}", + method: "POST", + headers: { "Content-Type": "application/json" }, + data: { + imp_uid: rsp.imp_uid, // Payment ID + merchant_uid: rsp.merchant_uid, // Order ID + }, }) - } else { - alert("Payment failed. Error: " + rsp.error_msg); - } - }); + .done(function (data) { + // Merchant server payment API call is successful + console.log(data); + }); + } else { + alert("Payment failed. Error: " + rsp.error_msg); + } + }, + ); ``` - ```javascript title="client-side" - IMP.request_pay({ + ```ts title="client-side" + IMP.request_pay( + { /* ...Omitted... */ - }, rsp => { // callback - if (rsp.success) { + }, + (rsp) => { + // callback + if (rsp.success) { // HTTP request with axios axios({ url: "{Endpoint that receives server's payment info}", @@ -311,15 +321,17 @@ the payment window type as follows: headers: { "Content-Type": "application/json" }, data: { imp_uid: rsp.imp_uid, - merchant_uid: rsp.merchant_uid - } + merchant_uid: rsp.merchant_uid, + }, }).then((data) => { // Server payment API call is successful - }) + console.log(data); + }); } else { - alert(\`Payment failed. Error: \${rsp.error_msg}\`); + alert(`Payment failed. Error: ${rsp.error_msg}`); } - }); + }, + ); ``` @@ -344,20 +356,26 @@ above. - ```javascript title="client-side" - IMP.request_pay({ - /* ...Omitted... */, - m_redirect_url: "{redirect URL}" - }, /* callback */); // callback is not called + ```ts title="client-side" + IMP.request_pay( + { + /* ...Omitted... */ + m_redirect_url: "{redirect URL}", + }, + /* callback */ + ); // callback is not called ``` - ```javascript title="client-side" - IMP.request_pay({ - /* ...Omitted... */, - m_redirect_url: "{redirect URL}" - }, /* callback */); // callback is not called + ```ts title="client-side" + IMP.request_pay( + { + /* ...Omitted... */ + m_redirect_url: "{redirect URL}", + }, + /* callback */ + ); // callback is not called ``` @@ -369,13 +387,13 @@ The following is an example of redirecting URL based on the query string. - ```url + ```sh curl https://myservice.com/payments/complete?imp_uid=unique_iamport_paymentID&merchant_uid=unique_merchant_orderID&imp_success=true ``` - ``` + ```sh curl https://myservice.com/payments/complete?imp_uid=unique_iamport_paymentID&merchant_uid=unique_merchant_orderID&imp_success=false&error_code=error_code(none_defined_currently)&error_msg=error_message ``` @@ -398,19 +416,28 @@ The following is an example of redirecting URL based on the query string. > The `payment process is complete` when: > > 1. **Payment is successful** (Status: `paid`, imp\_success: `true`) +> > 2. **Payment fails** (Status: `failed`, imp\_success: `false`) +> > 3. **Payment window fails to open** due to PG module setting error +> > 4. User **terminates the payment process** by clicking the X or Cancel button -> 5. **Payment is suspended** due to invalid card information, limit exceeded, insufficient balance, etc. +> +> 5. **Payment is suspended** due to invalid card information, +> limit exceeded, insufficient balance, etc. +> > 6. **Virtual account is issued** (status: `ready`, imp\_success: `true`) - The final payment result logic processing must be handled stably by using a [**webhook**](../../result/webhook). If you don't set up a webhook, you may fail to receive the payment result. + The final payment result logic processing must be handled stably by using a [**webhook**](../../result/webhook). + If you don't set up a webhook, you may fail to receive the payment result. ## 5. Verify payment information -Based on the payment information from the client, the server verifies the **payment amount for fraud** and saves the payment information in the database if needed. The following are the steps for verifying the payment information. +Based on the payment information from the client, the server verifies the **payment amount for fraud** +and saves the payment information in the database if needed. +The following are the steps for verifying the payment information. - Server receives the i'mport payment ID (**imp\_uid**) and order ID (**merchant\_uid**) @@ -426,7 +453,7 @@ Based on the payment information from the client, the server verifies the Example of handling a POST request to the merchant endpoint URL that receives the payment information - ```javascript title="server-side" + ```ts title="server-side" app.use(bodyParser.json()); // "{Merchant endpoint that receives server's payment info}" POST request receiver app.post("/payments/complete", async (req, res) => { @@ -447,41 +474,38 @@ Based on the payment information from the client, the server verifies the Example of calling the [**Get payment**](https://api.iamport.kr/#!/payments/getPaymentByImpUid) **API** with the i'mport **payment ID (imp\_uid)** to retrieve the payment info. - ```javascript title="server-side" + ```ts title="server-side" app.use(bodyParser.json()); - ... - app.post("/payments/complete", async (req, res) => { - try { - // Get imp_uid, merchant_uid from req.body - const { imp_uid, merchant_uid } = req.body; - ... - // Get access token - const getToken = await axios({ - url: "https://api.iamport.kr/users/getToken", - method: "post", // POST method - headers: { "Content-Type": "application/json" }, - data: { - imp_key: "imp_apikey", // REST API key - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret - } - }); - const { access_token } = getToken.data.response; // access token - ... - // Get payment info from i'mport server using imp_uid - const getPaymentData = await axios({ - // Pass imp_uid - url: \`https://api.iamport.kr/payments/\${imp_uid}\`, - // GET method - method: "get", - // Add access toke to Authorization header - headers: { "Authorization": access_token } - }); - const paymentData = getPaymentData.data.response; // Payment info - ... - } catch (e) { - res.status(400).send(e); - } + app.post("/payments/complete", async (req, res) => { + try { + // Get imp_uid, merchant_uid from req.body + const { imp_uid, merchant_uid } = req.body; + // Get access token + const getToken = await axios({ + url: "https://api.iamport.kr/users/getToken", + method: "post", // POST method + headers: { "Content-Type": "application/json" }, + data: { + imp_key: "imp_apikey", // REST API key + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, + }); + const { access_token } = getToken.data.response; // access token + // Get payment info from i'mport server using imp_uid + const getPaymentData = await axios({ + // Pass imp_uid + url: `https://api.iamport.kr/payments/${imp_uid}`, + // GET method + method: "get", + // Add access toke to Authorization header + headers: { Authorization: access_token }, }); + const paymentData = getPaymentData.data.response; // Payment info + } catch (e) { + res.status(400).send(e); + } + }); ``` @@ -504,56 +528,66 @@ Based on the payment information from the client, the server verifies the Example of comparing the actual payment amount and the payment request amount, performing fraud check on the payment amount, and saving the data in the DB. - ```javascript title="server-side" + ```ts title="server-side" app.use(bodyParser.json()); - ... - app.post("/payments/complete", async (req, res) => { - try { - // Get imp_uid, merchant_uid from req.body - const { imp_uid, merchant_uid } = req.body; - // Get access token - /* ...Omitted... */ - // Get payment info from iamport server using imp_uid - /* ...Omitted... */ - const paymentData = getPaymentData.data.response; // Payment info - ... - // Get the requested payment amount from the DB - const order = await Orders.findById(paymentData.merchant_uid); - const amountToBePaid = order.amount; // Requested payment amount - ... - // Verify payment - const { amount, status } = paymentData; - // If amount matches. Processed amount === Requested amount - if (amount === amountToBePaid) { - await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Save payment info to DB - ... - switch (status) { - case "ready": // Issue virtual account - // Save virtual account info in DB - const { vbank_num, vbank_date, vbank_name } = paymentData; - await Users.findByIdAndUpdate("/* customer id */", { $set: { vbank_num, vbank_date, vbank_name }}); - // Send virtual account issuance text message - SMS.send({ text: \`Virtual account issued successfully. Account info \${vbank_num} \${vbank_date} \${vbank_name}\`}); - res.send({ status: "vbankIssued", message: "Virtual account issued successfully" }); - break; - case "paid": // Payment complete - res.send({ status: "success", message: "General payment successful" }); - break; - } - } else { // Amount mismatch. Forged/falsified payment. - throw { status: "forgery", message: "Forged/falsified payment attempted" }; + app.post("/payments/complete", async (req, res) => { + try { + // Get imp_uid, merchant_uid from req.body + const { imp_uid, merchant_uid } = req.body; + // Get access token + /* ...Omitted... */ + // Get payment info from iamport server using imp_uid + /* ...Omitted... */ + const paymentData = getPaymentData.data.response; // Payment info + // Get the requested payment amount from the DB + const order = await Orders.findById(paymentData.merchant_uid); + const amountToBePaid = order.amount; // Requested payment amount + // Verify payment + const { amount, status } = paymentData; + // If amount matches. Processed amount === Requested amount + if (amount === amountToBePaid) { + await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Save payment info to DB + switch (status) { + case "ready": // Issue virtual account + // Save virtual account info in DB + const { vbank_num, vbank_date, vbank_name } = paymentData; + await Users.findByIdAndUpdate("/* customer id */", { + $set: { vbank_num, vbank_date, vbank_name }, + }); + // Send virtual account issuance text message + SMS.send({ + text: `Virtual account issued successfully. Account info ${vbank_num} ${vbank_date} ${vbank_name}`, + }); + res.send({ + status: "vbankIssued", + message: "Virtual account issued successfully", + }); + break; + case "paid": // Payment complete + res.send({ + status: "success", + message: "General payment successful", + }); + break; } - } catch (e) { - res.status(400).send(e); + } else { + // Amount mismatch. Forged/falsified payment. + throw { + status: "forgery", + message: "Forged/falsified payment attempted", + }; } - }); + } catch (e) { + res.status(400).send(e); + } + }); ``` The original requested amount is queried from the database with the **`merchant_uid`**, and the actual processed amount is retrieved from the i'mport server with the **`imp_uid`**. The **two -values ​​are compared** to verify that they match. **If the verification is successful, +values are compared** to verify that they match. **If the verification is successful, the payment information is saved in the database** and a response is returned based on the payment status (**`status`**). Otherwise, an error message is returned. @@ -570,57 +604,69 @@ example. - ```javascript title="client-side" - IMP.request_pay({ + ```ts title="client-side" + IMP.request_pay( + { /* ...Omitted... */ - }, function (rsp) { // callback - if (rsp.success) { // payment successful: payment accepted or virtual account issued - // jQuery HTTP request - jQuery.ajax({ + }, + function (rsp) { + // callback + if (rsp.success) { + // payment successful: payment accepted or virtual account issued + // jQuery HTTP request + jQuery + .ajax({ /* ...Omitted... */ - }).done(function(data) { // response processing - switch(data.status) { - case: "vbankIssued": + }) + .done(function (data) { + // response processing + switch (data.status) { + case "vbankIssued": // Virtual account issued break; - case: "success": + case "success": // Payment successful break; } }); } else { - alert("Payment failed. Error message: " + rsp.error_msg); + alert("Payment failed. Error message: " + rsp.error_msg); } - }); + }, + ); ``` - ```javascript title="client-side" - IMP.request_pay({ + ```ts title="client-side" + IMP.request_pay( + { /* ...Omitted... */ - }, rsp => { // callback - if (rsp.success) { // payment successful: payment accepted or virtual account issued + }, + (rsp) => { + // callback + if (rsp.success) { + // payment successful: payment accepted or virtual account issued // axios HTTP request axios({ /* ...Omitted... */ - }).then((data) => { // Response processing - switch(data.status) { - case: "vbankIssued": + }).then((data) => { + // Response processing + switch (data.status) { + case "vbankIssued": // Virtual account issued break; - case: "success": + case "success": // Payment successful break; } }); } else { - alert(\`Payment failed. Error message: \${rsp.error_msg}\`); + alert(`Payment failed. Error message: ${rsp.error_msg}`); } - - }); - + }, + ); ``` @@ -633,6 +679,3 @@ payment complete message from the merchant endpoint URL** set in the **m\_redire These parameters are returned as a response when the payment fails and they contains the same values returned from the PG without additional processing. Note that we don't yet provide definitions for the error codes and error messages that have accumulated in our system. - -``` -``` diff --git a/src/content/docs/en/console/guide/account.mdx b/src/content/docs/en/console/guide/account.mdx index 56131d136..a59155bb7 100644 --- a/src/content/docs/en/console/guide/account.mdx +++ b/src/content/docs/en/console/guide/account.mdx @@ -10,12 +10,28 @@ import Figure from "~/components/Figure.astro"; ## i'mport Admin console accounts -- Merchant Admin account (Admin): The Merchant Admin account that is created when a merchant signs up in the Admin console. This account has access to all features. -- Merchant Manager account (Manager): The Merchant Admin account can create and issue this account. This account only has read-only access to merchant/account management and integration, but has full access to any other features. -- Merchant Developer account (Dev): The Merchant Manager account can create and issue this account. This account has full access to the integration feature, only read-only access to merchant account management, and access to no other features. -- Merchant User account (Read Only): The Merchant Manager account can create and issue this account. This account has read-only access to all features. -- Sub-merchant Manager account (Manager): The Merchant Manager account or its Sub-merchant Manager account can create and issue this account. This account has access to all features of the sub-merchant, and read-only access to the Merchant Admin account and merchant's business information. -- Sub-merchant User account (Read Only): The Merchant Admin account or its Sub-merchant Manager account can create and issue this account. This account has read-only access to all features of the sub-merchant. +- Merchant Admin account (Admin): The Merchant Admin account that is created + when a merchant signs up in the Admin console. This account has access to all features. + +- Merchant Manager account (Manager): The Merchant Admin account can create and issue this account. + This account only has read-only access to merchant/account management and integration, + but has full access to any other features. + +- Merchant Developer account (Dev): The Merchant Manager account can create and issue this account. + This account has full access to the integration feature, + only read-only access to merchant account management, and access to no other features. + +- Merchant User account (Read Only): The Merchant Manager account can create and issue this account. + This account has read-only access to all features. + +- Sub-merchant Manager account (Manager): The Merchant Manager account + or its Sub-merchant Manager account can create and issue this account. + This account has access to all features of the sub-merchant, + and read-only access to the Merchant Admin account and merchant's business information. + +- Sub-merchant User account (Read Only): The Merchant Admin account + or its Sub-merchant Manager account can create and issue this account. + This account has read-only access to all features of the sub-merchant. ## Admin account management @@ -23,41 +39,50 @@ _Available menus/buttons are marked in blue._
-
+
+ +- The Admin account can create, issue, modify roles and information, + and delete accounts under the merchant. -- The Admin account can create, issue, modify roles and information, and delete accounts under the merchant. - Non-admin accounts can only view the accounts under the merchant. ![](/gitbook-assets/en/image.png)![]() ## Merchant and sub-merchant accounts -- Merchant: A business with a unique business registration number except for agencies that develop payment service for other merchants. -- Sub-merchant: Merchants can manage and integrate payments through the Admin console by dividing its business by service, product line, region, etc. Such a division is defined as a sub-merchant. - - Payment integration: The merchant can assign its payment methods and PGs to a specific sub-merchant from the Admin console. - - Sub-merchant account: Sub-merchant accounts are limited to read-only access to features and payments associated with the sub-merchant. +- Merchant: A business with a unique business registration number + except for agencies that develop payment service for other merchants. + +- Sub-merchant: Merchants can manage and integrate payments through the Admin console + by dividing its business by service, product line, region, etc. + Such a division is defined as a sub-merchant. + + - Payment integration: The merchant can assign its payment methods and PGs + to a specific sub-merchant from the Admin console. + + - Sub-merchant account: Sub-merchant accounts are limited to read-only access + to features and payments associated with the sub-merchant. ## Sub-merchant management ### Merchant Admin account view -
+
-- The Merchant Admin account can add and edit sub-merchants and create, edit, and delete accounts belonging to the sub-merchant. +- The Merchant Admin account can add and edit sub-merchants + and create, edit, and delete accounts belonging to the sub-merchant. #### Add/edit sub-merchant ![]()![]() -- To add a sub-merchant, enter the sub-merchant name, payment channel, service url, contact information, and tier code. - - The payment channel is assigned through the online payment application, and it can be assigned to a merchant in payment integration. +- To add a sub-merchant, enter the sub-merchant name, payment channel, + service url, contact information, and tier code. + - The payment channel is assigned through the online payment application, + and it can be assigned to a merchant in payment integration. + - A payment channel already assigned to another sub-merchant cannot be assigned. + - To call the i'mport Payment SDK from the sub-merchant's URL, use the tier code and call `import.agency (‘tier code’)`. #### Add sub-merchant account @@ -68,17 +93,8 @@ _Available menus/buttons are marked in blue._ ### Non-admin account view -
+
-
+
-
+
diff --git a/src/content/docs/en/console/guide/list.mdx b/src/content/docs/en/console/guide/list.mdx index a872384b0..3b559d11d 100644 --- a/src/content/docs/en/console/guide/list.mdx +++ b/src/content/docs/en/console/guide/list.mdx @@ -5,116 +5,169 @@ description: Check the details of each payment transaction. Payment activity page -* Filter payments by date range during which payment was attempted. -* Perform comprehensive search by specifying a search condition or for all data if no condition is specified. -* Filter payments by payment status, method, PG, type, and mode. -* Total search results by status. -* Payment activity list that shows payment status, customer information, payment method, PG, payment amount, mode, request time, and completion time. -* Click the right corner of a payment record in the list to copy MID, UID or cancel payment. -* Click on a payment to view its details. -* Click on a payment to cancel it. -* Click on a payment to resend a webhook. -* Total transaction amount of search results - Total sales by currency calculated based on the total refund amount. -* Excel download of basic payment details and selected additional data including customer, PG, credit card payment, and account transfer payment information. +- Filter payments by date range during which payment was attempted. + +- Perform comprehensive search by specifying a search condition + or for all data if no condition is specified. + +- Filter payments by payment status, method, PG, type, and mode. + +- Total search results by status. + +- Payment activity list that shows payment status, customer information, payment method, + PG, payment amount, mode, request time, and completion time. + +- Click the right corner of a payment record in the list to copy MID, UID or cancel payment. + +- Click on a payment to view its details. + +- Click on a payment to cancel it. + +- Click on a payment to resend a webhook. + +- Total transaction amount of search results - Total sales by currency + calculated based on the total refund amount. + +- Excel download of basic payment details and selected additional data + including customer, PG, credit card payment, and account transfer payment information. ## Calendar filter ![]() -* Specify the start and end date/time of the payment request to search for. - * A payment request occurs when a customer attempts to make a payment. - * Hence, the time of refund and completion may occur outside of the specified search period. -* You can specify the year, month, day, hour, and minute. -* For convenience, you can quickly set the dates using the buttons for today, yesterday, past 7 days, 30 days, or 90 days. -* You can also manually enter the dates. +- Specify the start and end date/time of the payment request to search for. + - A payment request occurs when a customer attempts to make a payment. + - Hence, the time of refund and completion may occur outside of the specified search period. + +- You can specify the year, month, day, hour, and minute. + +- For convenience, you can quickly set the dates using the buttons + for today, yesterday, past 7 days, 30 days, or 90 days. + +- You can also manually enter the dates. ## Comprehensive search ![]() -* Perform a search by specifying a filter or on all payment data. -* Comprehensive search filters: - * i'mport transaction number - * Merchant transaction number - * Credit card approval number - * Customer name - * Customer mobile number - * Customer email - * PG approval number - * Credit card number - * Merchant ID - * Payment environment - * Live account bank - * Virtual account bank - * Bank account number - * Name of depositor - * Cash receipt issuance number - * Customer address - * Reason for cancellation - * Payment environment details - * Order name -* The search logic is specified as 'like %value' that returns the values that start with the specified value. - * In the future, the order name and customer address will be changed to 'like %value%'. +- Perform a search by specifying a filter or on all payment data. + +- Comprehensive search filters: + - i'mport transaction number + - Merchant transaction number + - Credit card approval number + - Customer name + - Customer mobile number + - Customer email + - PG approval number + - Credit card number + - Merchant ID + - Payment environment + - Live account bank + - Virtual account bank + - Bank account number + - Name of depositor + - Cash receipt issuance number + - Customer address + - Reason for cancellation + - Payment environment details + - Order name + +- The search logic is specified as 'like %value' that returns the values + that start with the specified value. + - In the future, the order name and customer address will be changed to 'like %value%'. ## Filters ![]() -* You can search payments by filtering on payment status, payment method, PG, payment type, and payment mode. - * Payment status: All, Scheduled, Completed, Cancelled (full), Cancelled (partial), Failed - * Payment method: Payment method - * PG: PG - * Payment type: All, subscription, general - * Payment mode: All, live, test +- You can search payments by filtering on payment status, payment method, + PG, payment type, and payment mode. + - Payment status: All, Scheduled, Completed, Cancelled (full), Cancelled (partial), Failed + - Payment method: Payment method + - PG: PG + - Payment type: All, subscription, general + - Payment mode: All, live, test ## Total payments by status ![]() -* Shows payment totals by status (all, completed, scheduled, failed, and cancelled). - * Failed payments include partial and full cancellations. +- Shows payment totals by status (all, completed, scheduled, failed, and cancelled). + - Failed payments include partial and full cancellations. ## Payment activity list -
+
+ + +
+
+ +- Payment activity list shows results from a date range, comprehensive, or data filter search. + +- The default view shows all payment data for the last 6 months. -* Payment activity list shows results from a date range, comprehensive, or data filter search. -* The default view shows all payment data for the last 6 months. -* The list shows the payment status, customer information, payment method, PG, payment amount, payment type, request time, and approval time. - * Customer information includes the customer's name, email, and phone number (displayed in order) that are specified at payment request via SDK. - * Payment type is general, subscription, or test. -* Request and approval times are displayed in descending order, and you can click on either value to sort based the value. -* If you click on the the dots to the right of a payment row in the Payment activity list, you can copy the merchant transaction number (merchant\_uid) and i'mport transaction number (imp\_uid). You can also cancel a completed or cancelled (partial) payment. +- The list shows the payment status, customer information, payment method, PG, + payment amount, payment type, request time, and approval time. + + - Customer information includes the customer's name, email, and phone number (displayed in order) + that are specified at payment request via SDK. + + - Payment type is general, subscription, or test. + +- Request and approval times are displayed in descending order, + and you can click on either value to sort based the value. + +- If you click on the the dots to the right of a payment row in the Payment activity list, you can + copy the merchant transaction number (merchant\_uid) and i'mport transaction number (imp\_uid). + You can also cancel a completed or cancelled (partial) payment. ## Payment details ![]() -* The Payment details page consists of the customer and payment information sections. -* Customer information shows the customer's name, phone number, e-mail, and address submitted via SDK. -* Payment information shows: - * Payment status - * i'mport transaction number - * Each payment method shows: - * Credit card: acquirer and masked card number - * Virtual account: account bank, account holder, account number, and time of deposit - * Bank transfer: account bank - * Mobile micropayment: carrier - * Total payment amount - * Order amount - discount amount - * Order amount - * List price (VAT) - * Paid with points - * Paid with points refers to the points rewarded by simple payment companies and PGs. - * Discount amount - * Value retrieved from PG's message. Note that the availability of this data varies by PG. - * Credit card approval number - * Merchant ID - * PG - * PG approval number - * Payment ID assigned by the PG. - * Payment environment - * Parsed device and web/app environment information +- The Payment details page consists of the customer and payment information sections. + +- Customer information shows the customer's name, phone number, + e-mail, and address submitted via SDK. + +- Payment information shows: + + - Payment status + + - i'mport transaction number + + - Each payment method shows: + - Credit card: acquirer and masked card number + - Virtual account: account bank, account holder, account number, and time of deposit + - Bank transfer: account bank + - Mobile micropayment: carrier + + - Total payment amount + - Order amount - discount amount + + - Order amount + + - List price (VAT) + + - Paid with points + - Paid with points refers to the points rewarded by simple payment companies and PGs. + + - Discount amount + - Value retrieved from PG's message. Note that the availability of this data varies by PG. + + - Credit card approval number + + - Merchant ID + + - PG + + - PG approval number + - Payment ID assigned by the PG. + + - Payment environment + - Parsed device and web/app environment information ## Payment cancellation @@ -122,17 +175,26 @@ Payment activity page ![]() -* You can cancel a payment from the Payment details page of a completed or partially cancelled payment. -* The default setting is full refund. If you want a partial refund, you can directly edit the refund amount or click `Partial refund` to edit and then click `Cancel Payment` at the bottom to finish. -* When you cancel a payment, the reason for cancellation is saved and sent to i'mport and PG. -* If a payment to cancel includes tax-free amount, you can specify this amount in the provided input field. -* When you cancel from the Admin console, a webhook is sent to the merchant's database for status update. -* For virtual accounts, you can additionally enter the following refund account information: - * Refund account bank - * Refund bank account number - * Refund account holder +- You can cancel a payment from the Payment details page + of a completed or partially cancelled payment. + +- The default setting is full refund. If you want a partial refund, + you can directly edit the refund amount or click `Partial refund` + to edit and then click `Cancel Payment` at the bottom to finish. + +- When you cancel a payment, the reason for cancellation is saved and sent to i'mport and PG. + +- If a payment to cancel includes tax-free amount, + you can specify this amount in the provided input field. + +- When you cancel from the Admin console, a webhook is sent + to the merchant's database for status update. + +- For virtual accounts, you can additionally enter the following refund account information: + - Refund account bank + - Refund bank account number + - Refund account holder ## Resend webhook ![]() - diff --git a/src/content/docs/en/console/guide/readme.mdx b/src/content/docs/en/console/guide/readme.mdx index 5a137d559..c54850f51 100644 --- a/src/content/docs/en/console/guide/readme.mdx +++ b/src/content/docs/en/console/guide/readme.mdx @@ -10,11 +10,11 @@ i'mport Admin console: [https://admin.iamport.kr/](https://admin.iamport.kr/) ## Apply for online payment -### [Apply for online payment](reg) +### [Apply for online payment](reg) ## Merchant and account management -### [My ID & API Keys](my-id-and-api-keys) +### [My ID & API Keys](my-id-and-api-keys)
### [Manage admin & sub-merchant accounts](account) diff --git a/src/content/docs/en/console/pg.mdx b/src/content/docs/en/console/pg.mdx index b0057255d..9e135be80 100644 --- a/src/content/docs/en/console/pg.mdx +++ b/src/content/docs/en/console/pg.mdx @@ -4,56 +4,58 @@ description: Learn how to set up and use multiple PGs. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Set up multiple PGs in the i'mport **Admin console** and open a payment window for the desired payment method. +Set up multiple PGs in the i'mport **Admin console** +and open a payment window for the desired payment method. -### 1. Configure authenticated payment (general) +## 1. Configure authenticated payment (general) -Go to [**i'mport Admin Console > System Settings > PG Settings tab > Default PG tab**](https://admin.iamport.kr/settings#tab_pg) to set the `default PG` that is used as the default `param.pg` value when you call [`IMP.request_pay`](https://docs.iamport.kr/en-US/sdk/javascript-sdk#request_pay) to open the payment window. The default value is used when the `pg` value is missing or invalid. +Go to [**i'mport Admin Console > System Settings > PG Settings tab > Default PG tab**](https://admin.iamport.kr/settings#tab_pg) +to set the `default PG` that is used as the default `param.pg` value +when you call [`IMP.request_pay`](https://docs.iamport.kr/en-US/sdk/javascript-sdk#request_pay) +to open the payment window. The default value is used when the `pg` value is missing or invalid. -
+
-### 2. Add PG for subscription payment (for non-authenticated/**PG payment window)** +## 2. Add PG for subscription payment (for non-authenticated/**PG payment window)** -After acquiring a separate Merchant ID (MID) for subscription (non-authenticated) payment from the PG, use it to add the PG from the [**i'mport Admin Console > System Settings > PG Settings (general/subscription) tab**](https://admin.iamport.kr/settings#tab_pg). +After acquiring a separate Merchant ID (MID) for subscription (non-authenticated) payment +from the PG, use it to add the PG from the [**i'mport Admin Console > System Settings > PG Settings (general/subscription) tab**](https://admin.iamport.kr/settings#tab_pg).
-### 3. **Add PG for simple payment (Kakao Pay)** +## 3. **Add PG for simple payment (Kakao Pay)** Repeat step 2 to add PG setting for Kakao Pay. -
+
-## Open PG's payment window +## Open PG's payment window -To open a PG's payment window, call [**JavaScript SDK**](../sdk/javascript-sdk/) `IMP.request_pay` by specifying the PG that is already configured in **Admin console** in the `param.pg` property. +To open a PG's payment window, call [**JavaScript SDK**](../sdk/javascript-sdk/) `IMP.request_pay` +by specifying the PG that is already configured in **Admin console** in the `param.pg` property. -The [`pg` value](https://docs.iamport.kr/en-US/sdk/javascript-sdk#request_pay) can have the following format: +The [`pg` value](https://docs.iamport.kr/en-US/sdk/javascript-sdk#request_pay) +can have the following format: - **`{ PG code }`** - **`{ PG code }.{ PG Merchant ID }`** Assume that we have added **3 PG settings** as follows: -| PG | Merchant ID | Pay Type | Default PG | -| --------------- | ----------------- | ---------------- | ---------- | -| **`KG INICIS`** | `MID-a` (example) | **General** | O | -| **`KG INICIS`** | `MID-b` (example) | **Subscription** | X | -| `Kakao Pay` | `MID-c` (example) | Simple | X | +|PG |Merchant ID |Pay Type |Default PG| +|---------------|-----------------|----------------|----------| +|**`KG INICIS`**|`MID-a` (example)|**General** |O | +|**`KG INICIS`**|`MID-b` (example)|**Subscription**|X | +|`Kakao Pay` |`MID-c` (example)|Simple |X | -Of the previously added PG settings, `Kakao Pay` can be identified just with the `PG service code`. Set **`kakaopay`** in the `pg` property for the Kakao Pay payment request as follows: +Of the previously added PG settings, `Kakao Pay` can be identified just with the `PG service code`. +Set **`kakaopay`** in the `pg` property for the Kakao Pay payment request as follows: -```javascript title="client-side" +```ts title="client-side" IMP.request_pay({ pg: "kakaopay", //Open Kakao Pay payment page amount: 1000, @@ -63,39 +65,39 @@ IMP.request_pay({ }); ``` -Of the previously added PG settings, **`KG INICIS (general)`** and **`KG INICIS (subscription)`** have the **same PG service code**. Hence, you need to set `pg` to a value that combines the service code with the Merchant ID, **`{ PG Code }.{ PG Merchant ID }`**. +Of the previously added PG settings, **`KG INICIS (general)`** and **`KG INICIS (subscription)`** +have the **same PG service code**. +Hence, you need to set `pg` to a value that combines the service code with the Merchant ID, **`{ PG Code }.{ PG Merchant ID }`**. - -```javascript title="JavaScript" -IMP.request_pay({ - pg : "html5_inicis.MID-a", // Call KG INICIS general payment window (merchant ID: MID-a) - amount : 1000, - name : "Sample order", - buyer_name : "Buyer", - buyer_email : "buyer@iamport.kr" - }); -``` - - - - -```javascript title="JavaScript" -IMP.request_pay({ - pg : "html5_inicis.MID-b", // Call KG INICIS subscription payment window (merchant ID: MID-b) - amount : 1000, - name : "Sample order", - buyer_name : "Buyer", - buyer_email : "buyer@iamport.kr" - }); -``` - - + + ```ts title="JavaScript" + IMP.request_pay({ + pg: "html5_inicis.MID-a", // Call KG INICIS general payment window (merchant ID: MID-a) + amount: 1000, + name: "Sample order", + buyer_name: "Buyer", + buyer_email: "buyer@iamport.kr", + }); + ``` + + + + ```ts title="JavaScript" + IMP.request_pay({ + pg: "html5_inicis.MID-b", // Call KG INICIS subscription payment window (merchant ID: MID-b) + amount: 1000, + name: "Sample order", + buyer_name: "Buyer", + buyer_email: "buyer@iamport.kr", + }); + ``` + -**Matching priority for PG** - -[`IMP.request_pay`](https://docs.iamport.kr/en-US/sdk/javascript-sdk#request_pay) finds the setting that matches the `pg` value in the order the PG settings are shown in the **Admin console**. It opens the payment window for the first matching PG setting. + **Matching priority for PG** + [`IMP.request_pay`](https://docs.iamport.kr/en-US/sdk/javascript-sdk#request_pay) finds the setting that matches the `pg` value + in the order the PG settings are shown in the **Admin console**. It opens the payment window for the first matching PG setting. diff --git a/src/content/docs/en/etc/all/get-verification-info.mdx b/src/content/docs/en/etc/all/get-verification-info.mdx index b7be3f4e7..23fc50d9b 100644 --- a/src/content/docs/en/etc/all/get-verification-info.mdx +++ b/src/content/docs/en/etc/all/get-verification-info.mdx @@ -5,82 +5,80 @@ description: >- purposes. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; Use the **`imp_uid`** obtained through integrated identity verification to get the customer's verification information. -### **STEP 01.** Get verification ID (imp_uid) on the server-side +## **STEP 01.** Get verification ID (imp\_uid) on the server-side The following server-side code fetches the data returned from identity verification. - -```javascript title="server-side" -app.use(bodyParser.json()); - ... - // controller that handles POST request to "/certifications" - app.post("/certifications", async (request, response) => { - // Get imp_uid from req.body - const { imp_uid } = request.body; -}) -``` - - + + ```ts title="server-side" + app.use(bodyParser.json()); + // controller that handles POST request to "/certifications" + app.post("/certifications", async (request, response) => { + // Get imp_uid from req.body + const { imp_uid } = request.body; + }); + ``` + + + + ```ts title="server-side" + app.use(bodyParser.json()); + // controller that handles GET request to "/certifications/redirect" + app.get("/certifications/redirect", async (request, response) => { + const { imp_uid } = request.query; // Get imp_uid from req.query + }); + ``` + + - -```javascript title="server-side" -app.use(bodyParser.json()); - ... - // controller that handles GET request to "/certifications/redirect" - app.get("/certifications/redirect", async (request, response) => { - const { imp_uid } = request.query; // Get imp_uid from req.query -}) -``` +## **STEP 02.** Get verification information - - +To get verification information from the i'mport server, +you must first get a [**REST API access token**](../../api/rest-api-access-token). +Use the `access token` and `imp_uid` (verification ID) +to call the **Get identity verification info REST API** +that returns the verification information as follows: -### **STEP 02.** Get verification information - -To get verification information from the i'mport server, you must first get a [**REST API access token**](../../api/rest-api-access-token). Use the `access token` and `imp_uid` (verification ID) to call the **Get identity verification info REST API** that returns the verification information as follows: - -```javascript title="sever-side(Node.js)" - app.use(bodyParser.json()); - ... - // controller that handles POST request to "/certifications" - app.post("/certifications", async (request, response) => { - const { imp_uid } = request.body; // Get imp_uid from request.body - try { - // Get access token - const getToken = await axios({ - url: "https://api.iamport.kr/users/getToken", - method: "post", // POST method - headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" - data: { - imp_key: "imp_apikey", // REST API Key - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret - } - }); - const { access_token } = getToken.data.response; // Access token - ... - // Get verification info from i'mport server using imp_uid - const getCertifications = await axios({ - url: \`https://api.iamport.kr/certifications/\${imp_uid}\`, // Pass imp_uid - method: "get", // GET method - headers: { "Authorization": access_token } // Add access token to Authorization header - }); - const certificationsInfo = getCertifications.data.response; // Save verification info - ... - } catch(e) { - console.error(e); - } - }); +```ts title="sever-side(Node.js)" +app.use(bodyParser.json()); +// controller that handles POST request to "/certifications" +app.post("/certifications", async (request, response) => { + const { imp_uid } = request.body; // Get imp_uid from request.body + try { + // Get access token + const getToken = await axios({ + url: "https://api.iamport.kr/users/getToken", + method: "post", // POST method + headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" + data: { + imp_key: "imp_apikey", // REST API Key + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, + }); + const { access_token } = getToken.data.response; // Access token + // Get verification info from i'mport server using imp_uid + const getCertifications = await axios({ + url: `https://api.iamport.kr/certifications/${imp_uid}`, // Pass imp_uid + method: "get", // GET method + headers: { Authorization: access_token }, // Add access token to Authorization header + }); + const certificationsInfo = getCertifications.data.response; // Save verification info + } catch (e) { + console.error(e); + } +}); ``` -### **STEP 03.** Using verification information +## **STEP 03.** Using verification information Retrieve the following user information from the verification information and add the necessary service logic. @@ -95,33 +93,32 @@ service logic. such as online social security number. -Besides what is listed above, other user information, such as foreigner status, is not provided. Kakao's policy prohibits the provision of the CI value when using the Kakao Certificate. - + Besides what is listed above, other user information, such as foreigner status, is not provided. + Kakao's policy prohibits the provision of the CI value when using the Kakao Certificate. Get the user information and use it as needed. For example, you can use it to check age restrictions as follows: -```javascript title="Node.js" - // controller that handles POST request to "/certifications" - app.post("/certifications", async (request, response) => { - const { imp_uid } = request.body; // Get imp_uid from request.body - try { - // Get access token - /* ...Omitted... */ - // Get verification info using imp_uid - /* ...Omitted... */ - const certificationsInfo = getCertifications.data.response; // Save verification info - const { name, birth } = certificationsInfo; - ... - // Check age restrictions - if (new Date(birth).getFullYear() <= 1999) { - // Check successful - } else { - // Check failed - } - } catch(e) { - console.error(e); +```ts title="Node.js" +// controller that handles POST request to "/certifications" +app.post("/certifications", async (request, response) => { + const { imp_uid } = request.body; // Get imp_uid from request.body + try { + // Get access token + /* ...Omitted... */ + // Get verification info using imp_uid + /* ...Omitted... */ + const certificationsInfo = getCertifications.data.response; // Save verification info + const { name, birth } = certificationsInfo; + // Check age restrictions + if (new Date(birth).getFullYear() <= 1999) { + // Check successful + } else { + // Check failed } - }); + } catch (e) { + console.error(e); + } +}); ``` diff --git a/src/content/docs/en/etc/all/prepare-for-verification.mdx b/src/content/docs/en/etc/all/prepare-for-verification.mdx index 20e917d50..4b2a756c7 100644 --- a/src/content/docs/en/etc/all/prepare-for-verification.mdx +++ b/src/content/docs/en/etc/all/prepare-for-verification.mdx @@ -3,51 +3,43 @@ title: Prepare for verification description: Prepare for integrated identity verification integration. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Add the **i'mport library** to the target page. +## Add the **i'mport library** to the target page. -Integrated identity verification is supported in **i'mport JavaScript v1.1.8 or later** versions. - + Integrated identity verification is supported in **i'mport JavaScript v1.1.8 or later** versions. - -```html title="client-side" - - - - -``` - - + + ```html title="client-side" + + + + + ``` + -You **must install jQuery 1.0 or later version**. - + You **must install jQuery 1.0 or later version**. -### Initialize the `IMP` object using the **`Merchant ID`** on the identity verification page. +## Initialize the `IMP` object using the **`Merchant ID`** on the identity verification page. - -```javascript title="client-side" -var IMP = window.IMP; // Can be omitted -IMP.init("{Merchant ID}"); // Example: imp00000000 -``` - - - - -```javascript -client-side -const IMP = window.IMP; // Can be omitted -IMP.init("{Merchant ID}"); // Example: imp00000000 -``` - - + + ```ts title="client-side" + IMP.init("{Merchant ID}"); // Example: imp00000000 + ``` + + + + ```ts title="client-side" + IMP.init("{Merchant ID}"); // Example: imp00000000 + ``` + diff --git a/src/content/docs/en/etc/all/readme.mdx b/src/content/docs/en/etc/all/readme.mdx index 83400b300..ebabcc8a0 100644 --- a/src/content/docs/en/etc/all/readme.mdx +++ b/src/content/docs/en/etc/all/readme.mdx @@ -5,13 +5,15 @@ description: Learn how to integrate integrated identity verification service. import Figure from "~/components/Figure.astro"; -### What is an integrated identity verification service? +## What is an integrated identity verification service? -This is a service that verifies the identity of the person and the accuracy of the information entered during the verification process through a private certificate, such as KakaoTalk and Naver Certificate. Integrated identity verification is provided through **KG Inicis** and processed by using a private certificate or by sending a verification request through the user's registered simple identity verification service. +This is a service that verifies the identity of the person and the accuracy +of the information entered during the verification process through a private certificate, +such as KakaoTalk and Naver Certificate. +Integrated identity verification is provided through **KG Inicis** +and processed by using a private certificate or by sending a verification request +through the user's registered simple identity verification service. > **Supported providers: Naver / PASS / Payco / TOSS / Financial Certificate / Kakao** -
+
diff --git a/src/content/docs/en/etc/all/request-verification.mdx b/src/content/docs/en/etc/all/request-verification.mdx index 172ed832a..888f1ddcb 100644 --- a/src/content/docs/en/etc/all/request-verification.mdx +++ b/src/content/docs/en/etc/all/request-verification.mdx @@ -3,10 +3,10 @@ title: Request verification description: Call the integrated identity verification window. --- -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -### The integrated identity verification window can be invoked in the following two modes: +## The integrated identity verification window can be invoked in the following two modes: > **Popup** (Default) > @@ -28,25 +28,25 @@ The following example calls the JavaScript SDK to open the integrated identity verification window. - -```javascript title="client-side" - // Call IMP.certification(param, callback) - IMP.certification({ // param - merchant_uid: "ORD20180131-0000011", // Order ID - m_redirect_url : "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile - popup : false // Always set to true in PC - }, function (rsp) { // callback - if (rsp.success) { - ..., - // When verification is successful, - ... - } else { - ..., - // When verification fails, - ... - } - }); -``` - - + + ```ts title="client-side" + // Call IMP.certification(param, callback) + IMP.certification( + { + // param + merchant_uid: "ORD20180131-0000011", // Order ID + m_redirect_url: "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile + popup: false, // Always set to true in PC + }, + function (rsp) { + // callback + if (rsp.success) { + // When verification is successful, + } else { + // When verification fails, + } + }, + ); + ``` + diff --git a/src/content/docs/en/etc/all/send-verification-result.mdx b/src/content/docs/en/etc/all/send-verification-result.mdx index a91e2264a..459bd3e3f 100644 --- a/src/content/docs/en/etc/all/send-verification-result.mdx +++ b/src/content/docs/en/etc/all/send-verification-result.mdx @@ -3,62 +3,70 @@ title: Send verification result description: Process the result obtained from integrated identity verification. --- -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; Based on the the verification result in the response object (**`rsp`**) returned after the verification process is completed, add the post-verification processing logic in the **`callback`** function. When the verification is successful, add the logic to **send the verification ID (`imp_uid`) to the server** as in the following example. Check the **value returned** when the verification is successful. -### 1. Example of sending data via callback +## 1. Example of sending data via callback - -```javascript title="client-side" - IMP.certification({ - /* ...Omitted... */ - }, function (rsp) { // callback - if (rsp.success) { // When verification is successful - // jQuery HTTP request - jQuery.ajax({ - url: "{server-side endpoint to receive verification info}", - method: "POST", - headers: { "Content-Type": "application/json" }, - data: { imp_uid: rsp.imp_uid } - }); - } else { - alert("Verification failed. Error: " + rsp.error_msg); - } - });Example of sending data via redirection -``` - - + + ```ts title="client-side" + IMP.certification( + { + /* ...Omitted... */ + }, + function (rsp) { + // callback + if (rsp.success) { + // When verification is successful + // jQuery HTTP request + jQuery.ajax({ + url: "{server-side endpoint to receive verification info}", + method: "POST", + headers: { "Content-Type": "application/json" }, + data: { imp_uid: rsp.imp_uid }, + }); + } else { + alert("Verification failed. Error: " + rsp.error_msg); + } + }, + ); + ``` + - -```javascript title="client-side" -IMP.certification({ - /* ...Omitted... */ - }, rsp => { // callback - if (rsp.success) { // When verification is successful - // axios HTTP request - axios({ - url: "{server-side endpoint to receive verification info}", - method: "post", - headers: { "Content-Type": "application/json" }, - data: { imp_uid: rsp.imp_uid } - }); - } else { - alert(\`Verification failed. Error: \${rsp.error_msg}\`); - } - }); -``` - - + + ```ts title="client-side" + IMP.certification( + { + /* ...Omitted... */ + }, + (rsp) => { + // callback + if (rsp.success) { + // When verification is successful + // axios HTTP request + axios({ + url: "{server-side endpoint to receive verification info}", + method: "post", + headers: { "Content-Type": "application/json" }, + data: { imp_uid: rsp.imp_uid }, + }); + } else { + alert(`Verification failed. Error: ${rsp.error_msg}`); + } + }, + ); + ``` + ### 2. Example of sending data via redirection -The page is redirected to the URL specified in `param.`**`m_redirect_url`** of `IMP.`**`certification`** with the verification data as follows: +The page is redirected to the URL specified in `param.`**`m_redirect_url`** +of `IMP.`**`certification`** with the verification data as follows: -```uri title="Query String" +```http title="Query String" GET {m_redirect_url}?imp_uid={}&merchant_uid={merchant_uid for verification}&success={true or false} ``` - diff --git a/src/content/docs/en/etc/budget.mdx b/src/content/docs/en/etc/budget.mdx index e1cb65ca9..a76c09f52 100644 --- a/src/content/docs/en/etc/budget.mdx +++ b/src/content/docs/en/etc/budget.mdx @@ -3,4 +3,4 @@ title: Integrate budget handler description: Learn how to integrate credit card promotion service. --- -### Refer to the [**Budget handler guide**](http://localhost:5000/o/nad6nqI7LNE1TGdY19Od/s/zzqz39hKDV7YEtDAeA1v/). +###Refer to the [**Budget handler guide**](http://localhost:5000/o/nad6nqI7LNE1TGdY19Od/s/zzqz39hKDV7YEtDAeA1v/). diff --git a/src/content/docs/en/etc/credit-auth/1-prepare-for-verification.mdx b/src/content/docs/en/etc/credit-auth/1-prepare-for-verification.mdx index dabba663c..08923e011 100644 --- a/src/content/docs/en/etc/credit-auth/1-prepare-for-verification.mdx +++ b/src/content/docs/en/etc/credit-auth/1-prepare-for-verification.mdx @@ -3,42 +3,37 @@ title: 1. Prepare for verification description: Prepare for credit card verification integration. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### Add the **i'mport library** to the target page. +## Add the **i'mport library** to the target page. -Credit card identity verification is supported in **i'mport JavaScript v1.1.7 or later** versions. - + Credit card identity verification is supported in **i'mport JavaScript v1.1.7 or later** versions. - -```html title="client-side" - - - - -``` - - + + ```html title="client-side" + + + + + ``` + -You **must install jQuery 1.0 or later version.** - + You **must install jQuery 1.0 or later version.** ### Initialize the `IMP` object using the **`Merchant ID`** on the identity verification page. - -```javascript title="client-side" -var IMP = window.IMP; // Can be omitted -IMP.init("{Merchant ID}"); // Example: imp00000000 -``` - - + + ```ts title="client-side" + IMP.init("{Merchant ID}"); // Example: imp00000000 + ``` + diff --git a/src/content/docs/en/etc/credit-auth/2-request-verification.mdx b/src/content/docs/en/etc/credit-auth/2-request-verification.mdx index 5147713a9..cdec51491 100644 --- a/src/content/docs/en/etc/credit-auth/2-request-verification.mdx +++ b/src/content/docs/en/etc/credit-auth/2-request-verification.mdx @@ -3,10 +3,10 @@ title: 2. Request verification description: Call the credit card identity verification window. --- -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -### The credit card identity verification window can be invoked in the following two modes: +## The credit card identity verification window can be invoked in the following two modes: > **Popup** (Default) > @@ -28,47 +28,47 @@ The following example calls the JavaScript SDK to open the credit card identity verification window. - -```javascript title="client-side" -// Call IMP.certification(param, callback) -IMP.certification({ // param - merchant_uid: "ORD20180131-0000011", // Order ID - m_redirect_url : "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile - popup : false // Always set to true in PC - }, function (rsp) { // callback - if (rsp.success) { - ..., - // When verification is successful, - ... - } else { - ..., - // When verification fails, - ... - } - }); -``` - - - - -```javascript title="client-side" - // Call IMP.certification(param, callback) - IMP.certification({ // param - merchant_uid: "ORD20180131-0000011", // Order ID - m_redirect_url : "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile - popup : false // Always set to true in PC - }, rsp => { // callback - if (rsp.success) { - ..., - // When verification is successful, - ... - } else { - ..., - // When verification fails, - ... - } - }); -``` + + ```ts title="client-side" + // Call IMP.certification(param, callback) + IMP.certification( + { + // param + merchant_uid: "ORD20180131-0000011", // Order ID + m_redirect_url: "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile + popup: false, // Always set to true in PC + }, + function (rsp) { + // callback + if (rsp.success) { + // When verification is successful, + } else { + // When verification fails, + } + }, + ); + ``` + - + + ```ts title="client-side" + // Call IMP.certification(param, callback) + IMP.certification( + { + // param + merchant_uid: "ORD20180131-0000011", // Order ID + m_redirect_url: "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile + popup: false, // Always set to true in PC + }, + (rsp) => { + // callback + if (rsp.success) { + // When verification is successful, + } else { + // When verification fails, + } + }, + ); + ``` + diff --git a/src/content/docs/en/etc/credit-auth/3-send-verification-result.mdx b/src/content/docs/en/etc/credit-auth/3-send-verification-result.mdx index 68f1fab82..05ff06e16 100644 --- a/src/content/docs/en/etc/credit-auth/3-send-verification-result.mdx +++ b/src/content/docs/en/etc/credit-auth/3-send-verification-result.mdx @@ -3,64 +3,75 @@ title: 3. Send verification result description: Process the result obtained from credit card identity verification. --- -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -Based on the the verification result in the response object ( **`rsp`** ) returned after the verification process is complete, add the post-verification processing logic in the **`callback`** function. When the verification is successful, add the logic to **send the verification ID (`imp_uid`) to the server** as in the following example. Check the **value returned** when the verification is successful. +Based on the the verification result in the response object (**`rsp`**) +returned after the verification process is complete, +add the post-verification processing logic in the **`callback`** function. +When the verification is successful, add the logic to **send the verification ID (`imp_uid`) +to the server** as in the following example. +Check the **value returned** when the verification is successful. -### 1. Example of sending data via callback +## 1. Example of sending data via callback - -```javascript - IMP.certification({ - /* ...Omitted... */ - }, function (rsp) { // callback - if (rsp.success) { // When verification is successful - // jQuery HTTP request - jQuery.ajax({ - url: "{server-side endpoint to receive verification info}", - method: "POST", - headers: { "Content-Type": "application/json" }, - data: { imp_uid: rsp.imp_uid } - }); - } else { - alert("Verification failed. Error: " + rsp.error_msg); - } - }); -``` - - - - + + ```ts + IMP.certification( + { + /* ...Omitted... */ + }, + function (rsp) { + // callback + if (rsp.success) { + // When verification is successful + // jQuery HTTP request + jQuery.ajax({ + url: "{server-side endpoint to receive verification info}", + method: "POST", + headers: { "Content-Type": "application/json" }, + data: { imp_uid: rsp.imp_uid }, + }); + } else { + alert("Verification failed. Error: " + rsp.error_msg); + } + }, + ); + ``` + -```javascript title="client-side" - IMP.certification({ - /* ...Omitted... */ - }, rsp => { // callback - if (rsp.success) { // When verification is successful - // axios HTTP request - axios({ - url: "{server-side endpoint to receive verification info}", - method: "post", - headers: { "Content-Type": "application/json" }, - data: { imp_uid: rsp.imp_uid } - }); - } else { - alert(`Verification failed. Error: ${rsp.error_msg}`); - } - }); - -``` - - + + ```ts title="client-side" + IMP.certification( + { + /* ...Omitted... */ + }, + (rsp) => { + // callback + if (rsp.success) { + // When verification is successful + // axios HTTP request + axios({ + url: "{server-side endpoint to receive verification info}", + method: "post", + headers: { "Content-Type": "application/json" }, + data: { imp_uid: rsp.imp_uid }, + }); + } else { + alert(`Verification failed. Error: ${rsp.error_msg}`); + } + }, + ); + ``` + -### 2. Example of sending data via redirection +## 2. Example of sending data via redirection -The page is redirected to the URL specified in `param.`**`m_redirect_url`** of `IMP.` **`certification`** with the verification data as follows: +The page is redirected to the URL specified in `param.`**`m_redirect_url`** +of `IMP.` **`certification`** with the verification data as follows: -```uri title="Query String" +```http title="Query String" GET {m_redirect_url}?imp_uid={}&merchant_uid={merchant_uid for verification}&success ``` - diff --git a/src/content/docs/en/etc/credit-auth/4-get-verification-info.mdx b/src/content/docs/en/etc/credit-auth/4-get-verification-info.mdx index 05a8d93ec..5e7838589 100644 --- a/src/content/docs/en/etc/credit-auth/4-get-verification-info.mdx +++ b/src/content/docs/en/etc/credit-auth/4-get-verification-info.mdx @@ -5,79 +5,73 @@ description: >- purposes. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; Use the **`imp_uid`** obtained through identity verification to get the customer's verification information. -### **STEP 01.** Get verification ID (imp_uid) on the server-side +## **STEP 01.** Get verification ID (imp\_uid) on the server-side The following server-side code fetches the data returned from identity verification. - -```javascript title="server-side" -app.use(bodyParser.json()); - ... - // controller that handles POST request to "/certifications" - app.post("/certifications", async (request, response) => { - // Get imp_uid from req.body - const { imp_uid } = request.body; -}) -``` - - - - -```javascript title="server-side" -app.use(bodyParser.json()); - ... - // controller that handles GET request to "/certifications/redirect" - app.get("/certifications/redirect", async (request, response) => { - const { imp_uid } = request.query; // Get imp_uid from req.query -}) -``` - - + + ```ts title="server-side" + app.use(bodyParser.json()); + // controller that handles POST request to "/certifications" + app.post("/certifications", async (request, response) => { + // Get imp_uid from req.body + const { imp_uid } = request.body; + }); + ``` + + + + ```ts title="server-side" + app.use(bodyParser.json()); + // controller that handles GET request to "/certifications/redirect" + app.get("/certifications/redirect", async (request, response) => { + const { imp_uid } = request.query; // Get imp_uid from req.query + }); + ``` + ### **STEP 02.** Get verification information To get verification information from the i'mport server, you must first get a [**REST API access token**](../../api/rest-api-access-token). Use the `access token` and `imp_uid` (verification ID) to call the **Get identity verification info REST API** that returns the verification information as follows: -```javascript title="sever-side" - app.use(bodyParser.json()); - ... - // controller that handles POST request to "/certifications" - app.post("/certifications", async (request, response) => { - const { imp_uid } = request.body; // Get imp_uid from request.body - try { - // Get access token - const getToken = await axios({ - url: "https://api.iamport.kr/users/getToken", - method: "post", // POST method - headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" - data: { - imp_key: "imp_apikey", // REST API Key - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret - } - }); - const { access_token } = getToken.data.response; // Access token - ... - // Get verification info from i'mport server using imp_uid - const getCertifications = await axios({ - url: \`https://api.iamport.kr/certifications/\${imp_uid}\`, // Pass imp_uid - method: "get", // GET method - headers: { "Authorization": access_token } // Add access token to Authorization header - }); - const certificationsInfo = getCertifications.data.response; // Save verification info - ... - } catch(e) { - console.error(e); - } - }); +```ts title="sever-side" +app.use(bodyParser.json()); +// controller that handles POST request to "/certifications" +app.post("/certifications", async (request, response) => { + const { imp_uid } = request.body; // Get imp_uid from request.body + try { + // Get access token + const getToken = await axios({ + url: "https://api.iamport.kr/users/getToken", + method: "post", // POST method + headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" + data: { + imp_key: "imp_apikey", // REST API Key + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, + }); + const { access_token } = getToken.data.response; // Access token + // Get verification info from i'mport server using imp_uid + const getCertifications = await axios({ + url: `https://api.iamport.kr/certifications/${imp_uid}`, // Pass imp_uid + method: "get", // GET method + headers: { Authorization: access_token }, // Add access token to Authorization header + }); + const certificationsInfo = getCertifications.data.response; // Save verification info + } catch (e) { + console.error(e); + } +}); ``` ### **STEP 03.** Using verification information @@ -97,44 +91,43 @@ service logic. - `unique_in_site`: same as DI value - unique key to identify the user per Merchant ID (website). -**unique\_key and unique\_in\_site** - -Even if multiple credit cards are used to verify the same person, the same `unique_key` and `unique_in_site` values are returned for the cards under the same name.\ + **unique\_key and unique\_in\_site** + Even if multiple credit cards are used to verify the same person, + the same `unique_key` and `unique_in_site` values are returned + for the cards under the same name. -```javascript title="Node.js" - // controller that handles POST request to "/certifications" - app.post("/certifications", async (request, response) => { - const { imp_uid } = request.body; // Get imp_uid from request.body - try { - // Get access token - /* ...Omitted... */ - // Get verification info using imp_uid - /* ...Omitted... */ - const certificationsInfo = getCertifications.data.response; // Save verification info - // unique_key: Unique key for user, unique_in_site: Unique key for user per site - const { unique_key, unique_in_site, name, gender, birth } = certificationsInfo; - ... - // Check age restrictions - if (new Date(birth).getFullYear() <= 1999) { - // Check successful +```ts title="Node.js" +// controller that handles POST request to "/certifications" +app.post("/certifications", async (request, response) => { + const { imp_uid } = request.body; // Get imp_uid from request.body + try { + // Get access token + /* ...Omitted... */ + // Get verification info using imp_uid + /* ...Omitted... */ + const certificationsInfo = getCertifications.data.response; // Save verification info + // unique_key: Unique key for user, unique_in_site: Unique key for user per site + const { unique_key, unique_in_site, name, gender, birth } = + certificationsInfo; + // Check age restrictions + if (new Date(birth).getFullYear() <= 1999) { + // Check successful + } else { + // Check failed + } + // one account per person check + // Query database with unique_key to check for existing account + Users.find({ certificationKey: unique_key }).then((user) => { + if (!user) { + // New user } else { - // Check failed + // Existing user } - ... - // one account per person check - // Query database with unique_key to check for existing account - Users.find({ certificationKey: unique_key }) - .then((user) => { - if (!user) { - // New user - } else { - // Existing user - } - }); - } catch(e) { - console.error(e); - } - }); + }); + } catch (e) { + console.error(e); + } +}); ``` diff --git a/src/content/docs/en/etc/credit-auth/readme.mdx b/src/content/docs/en/etc/credit-auth/readme.mdx index 7389f43fd..9c5f4de1c 100644 --- a/src/content/docs/en/etc/credit-auth/readme.mdx +++ b/src/content/docs/en/etc/credit-auth/readme.mdx @@ -7,7 +7,4 @@ import Figure from "~/components/Figure.astro"; The **credit card identity verification service** is used to confirm the accuracy of the identity information (name, date of birth, gender, foreigner status, and KISA ID) of the credit card holder. -
+
diff --git a/src/content/docs/en/etc/native-mobile-sdks.mdx b/src/content/docs/en/etc/native-mobile-sdks.mdx index 8458ad551..25f5ee210 100644 --- a/src/content/docs/en/etc/native-mobile-sdks.mdx +++ b/src/content/docs/en/etc/native-mobile-sdks.mdx @@ -3,14 +3,14 @@ title: Native mobile SDKs description: You can integrate i'mport services through our native mobile SDKs (plugins). --- -### Refer to the SDK GitHub link for your development platform. +## Refer to the SDK GitHub link for your development platform. -#### iOS/Android +### iOS/Android - [iOS](https://github.com/iamport/iamport-ios) - [Android](https://github.com/iamport/iamport-android) -#### Cross-Platform Frameworks +### Cross-Platform Frameworks - [Flutter](https://github.com/iamport/iamport-flutter) - [Ionic](https://github.com/iamport/iamport-ionic) diff --git a/src/content/docs/en/etc/phone/1-prepare-for-verification.mdx b/src/content/docs/en/etc/phone/1-prepare-for-verification.mdx index 84815bc4f..fb26050de 100644 --- a/src/content/docs/en/etc/phone/1-prepare-for-verification.mdx +++ b/src/content/docs/en/etc/phone/1-prepare-for-verification.mdx @@ -3,25 +3,21 @@ title: 1. Prepare for verification description: Prepare for mobile identity verification integration. --- -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; Initialize the `IMP` object using the **`Merchant ID`**. - -```javascript title="client-side" -var IMP = window.IMP; // Can be omitted -IMP.init("{Merchant ID}"); // Example: imp00000000 -``` - - - - -```javascript title="client-side" -const IMP = window.IMP; // Can be omitted -IMP.init("{Merchant ID}"); // Example: imp00000000 -``` + + ```ts title="client-side" + IMP.init("{Merchant ID}"); // Example: imp00000000 + ``` + - + + ```ts title="client-side" + IMP.init("{Merchant ID}"); // Example: imp00000000 + ``` + diff --git a/src/content/docs/en/etc/phone/2-request-verification.mdx b/src/content/docs/en/etc/phone/2-request-verification.mdx index f8de42cd2..d855354e8 100644 --- a/src/content/docs/en/etc/phone/2-request-verification.mdx +++ b/src/content/docs/en/etc/phone/2-request-verification.mdx @@ -3,9 +3,9 @@ title: 2. Request verification description: Call the mobile identity verification window. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; The mobile identity verification window can be invoked in the following two modes: @@ -26,58 +26,58 @@ The mobile identity verification window can be invoked in the following two mode > `false`. -**Redirection mode** - -Redirection is supported in i'mport JavaScript **SDK 1.1.7** or later versions. + **Redirection mode** + Redirection is supported in i'mport JavaScript **SDK 1.1.7** or later versions. The following example calls the mobile identity verification window. - -```javascript title="client-side" - // Call IMP.certification(param, callback) - IMP.certification({ // param - merchant_uid: "ORD20180131-0000011", // Order ID - m_redirect_url : "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile - popup : false // Always set to true in PC - }, function (rsp) { // callback - if (rsp.success) { - ..., - // When verification is successful, - ... - } else { - ..., - // When verification fails, - ... - } - }); -``` - -Check the [**parameters list**](../../sdk/javascript-sdk/identity-verification-request-parameters) for requesting the mobile identity verification window. - - + + ```ts title="client-side" + // Call IMP.certification(param, callback) + IMP.certification( + { + // param + merchant_uid: "ORD20180131-0000011", // Order ID + m_redirect_url: "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile + popup: false, // Always set to true in PC + }, + function (rsp) { + // callback + if (rsp.success) { + // When verification is successful, + } else { + // When verification fails, + } + }, + ); + ``` - -```javascript title="client-side" - // Call IMP.certification(param, callback) - IMP.certification({ // param - merchant_uid: "ORD20180131-0000011", // Order ID - m_redirect_url : "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile - popup : false // Always set to true in PC - }, rsp => { // callback - if (rsp.success) { - ..., - // When verification is successful, - ... - } else { - ..., - // When verification fails, - ... - } - }); -``` + Check the [**parameters list**](../../sdk/javascript-sdk/identity-verification-request-parameters) + for requesting the mobile identity verification window. + - + + ```ts title="client-side" + // Call IMP.certification(param, callback) + IMP.certification( + { + // param + merchant_uid: "ORD20180131-0000011", // Order ID + m_redirect_url: "{Redirect URL}", // Required when popup:false in mobile, Example: https://www.myservice.com/payments/complete/mobile + popup: false, // Always set to true in PC + }, + (rsp) => { + // callback + if (rsp.success) { + // When verification is successful, + } else { + // When verification fails, + } + }, + ); + ``` + diff --git a/src/content/docs/en/etc/phone/3-send-verification-result.mdx b/src/content/docs/en/etc/phone/3-send-verification-result.mdx index cf6431765..6401b6201 100644 --- a/src/content/docs/en/etc/phone/3-send-verification-result.mdx +++ b/src/content/docs/en/etc/phone/3-send-verification-result.mdx @@ -3,62 +3,75 @@ title: 3. Send verification result description: Process the result obtained from mobile identity verification. --- -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -Based on the the verification result in the response object (**`rsp`**) returned after the verification process is complete, add the post-verification processing logic in the **`callback`** function. When the verification is successful, add the logic to **send the verification ID (`imp_uid`) to the server** as in the following example. Check the **value returned** when the verification is successful. \ +Based on the the verification result in the response object (**`rsp`**) +returned after the verification process is complete, +add the post-verification processing logic in the **`callback`** function. +When the verification is successful, add the logic to **send the verification ID (`imp_uid`) +to the server** as in the following example. +Check the **value returned** when the verification is successful. -### 1. Example of sending data via callback +## 1. Example of sending data via callback - -```javascript -IMP.certification({ - /* ...Omitted... */ -}, function (rsp) { // callback - if (rsp.success) { // When verification is successful - // jQuery HTTP request - jQuery.ajax({ - url: "{server-side endpoint to receive verification info}", - method: "POST", - headers: { "Content-Type": "application/json" }, - data: { imp_uid: rsp.imp_uid } - }); - } else { - alert("Verification failed. Error: " + rsp.error_msg); - } - }); -``` - - + + ```ts + IMP.certification( + { + /* ...Omitted... */ + }, + function (rsp) { + // callback + if (rsp.success) { + // When verification is successful + // jQuery HTTP request + jQuery.ajax({ + url: "{server-side endpoint to receive verification info}", + method: "POST", + headers: { "Content-Type": "application/json" }, + data: { imp_uid: rsp.imp_uid }, + }); + } else { + alert("Verification failed. Error: " + rsp.error_msg); + } + }, + ); + ``` + - -```javascript title="client-side" - IMP.certification({ - /* ...Omitted... */ - }, rsp => { // callback - if (rsp.success) { // When verification is successful - // axios HTTP request - axios({ - url: "{server-side endpoint to receive verification info}", - method: "post", - headers: { "Content-Type": "application/json" }, - data: { imp_uid: rsp.imp_uid } - }); - } else { - alert(\`Verification failed. Error: \${rsp.error_msg}\`); - } - }); -``` - - + + ```ts title="client-side" + IMP.certification( + { + /* ...Omitted... */ + }, + (rsp) => { + // callback + if (rsp.success) { + // When verification is successful + // axios HTTP request + axios({ + url: "{server-side endpoint to receive verification info}", + method: "post", + headers: { "Content-Type": "application/json" }, + data: { imp_uid: rsp.imp_uid }, + }); + } else { + alert(`Verification failed. Error: ${rsp.error_msg}`); + } + }, + ); + ``` + -### 2. Example of sending data via redirection +## 2. Example of sending data via redirection -The page is redirected to the URL specified in `param.`**`m_redirect_url`** of `IMP.`**`certification`** with the verification data as follows: +The page is redirected to the URL specified in `param.`**`m_redirect_url`** of +`IMP.`**`certification`** with the verification data as follows: -```uri title="Query String" +```http title="Query String" GET {m_redirect_url}?imp_uid={}&merchant_uid={merchant_uid for verification}&success={true or false} ``` - diff --git a/src/content/docs/en/etc/phone/4-get-verification-info.mdx b/src/content/docs/en/etc/phone/4-get-verification-info.mdx index 77c91a1ba..92ef79b89 100644 --- a/src/content/docs/en/etc/phone/4-get-verification-info.mdx +++ b/src/content/docs/en/etc/phone/4-get-verification-info.mdx @@ -5,83 +5,75 @@ description: >- purposes. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; Use the **`imp_uid`** obtained from mobile identity verification to get the customer's verification information. -### **STEP 01.** Get verification ID (imp_uid) on the server-side +## **STEP 01.** Get verification ID (imp\_uid) on the server-side The following server-side code fetches the data returned from mobile identity verification. - - -```javascript title="server-side" -app.use(bodyParser.json()); - ... - // controller that handles POST request to "/certifications" - app.post("/certifications", async (request, response) => { - const { imp_uid } = request.body; // Get imp_uid from req.body -}) - -``` - - - - -```javascript -app.use(bodyParser.json()); - ... - // controller that handles GET request to "/certifications/redirect" - app.get("/certifications/redirect", async (request, response) => { - const { imp_uid } = request.query; // Get imp_uid from req.query -}) -``` - - + + ```ts title="server-side" + app.use(bodyParser.json()); + // controller that handles POST request to "/certifications" + app.post("/certifications", async (request, response) => { + const { imp_uid } = request.body; // Get imp_uid from req.body + }); + ``` + + + + ```ts + app.use(bodyParser.json()); + // controller that handles GET request to "/certifications/redirect" + app.get("/certifications/redirect", async (request, response) => { + const { imp_uid } = request.query; // Get imp_uid from req.query + }); + ``` + -### **STEP 02.** Get verification information +## **STEP 02.** Get verification information To get verification information from the i'mport server, you must first get a [**REST API access token**](../../api/rest-api-access-token). Use the `access token` and `imp_uid` (verification ID) to call the **Get identity verification info REST API** that returns the verification information as follows: -```javascript title="sever-side" +```ts title="sever-side" app.use(bodyParser.json()); - ... - // controller that handles POST request to "/certifications" - app.post("/certifications", async (request, response) => { - const { imp_uid } = request.body; // Get imp_uid from request.body - try { - // Get access token - const getToken = await axios({ - url: "https://api.iamport.kr/users/getToken", - method: "post", // POST method - headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" - data: { - imp_key: "imp_apikey", // REST API Key - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret - } - }); - const { access_token } = getToken.data.response; // Access token - ... - // Get verification info from i'mport server using imp_uid - const getCertifications = await axios({ - url: `https://api.iamport.kr/certifications/\${imp_uid}\`, // Pass imp_uid - method: "get", // GET method - headers: { "Authorization": access_token } // Add access token to Authorization header - }); - const certificationsInfo = getCertifications.data.response; // Save verification info - ... - } catch(e) { - console.error(e); - } - }); +// controller that handles POST request to "/certifications" +app.post("/certifications", async (request, response) => { + const { imp_uid } = request.body; // Get imp_uid from request.body + try { + // Get access token + const getToken = await axios({ + url: "https://api.iamport.kr/users/getToken", + method: "post", // POST method + headers: { "Content-Type": "application/json" }, // "Content-Type": "application/json" + data: { + imp_key: "imp_apikey", // REST API Key + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, + }); + const { access_token } = getToken.data.response; // Access token + // Get verification info from i'mport server using imp_uid + const getCertifications = await axios({ + url: `https://api.iamport.kr/certifications/${imp_uid}`, // Pass imp_uid + method: "get", // GET method + headers: { Authorization: access_token }, // Add access token to Authorization header + }); + const certificationsInfo = getCertifications.data.response; // Save verification info + } catch (e) { + console.error(e); + } +}); ``` -### **STEP 03.** Using verification information +## **STEP 03.** Using verification information Retrieve the following user information from the verification information and add the necessary service logic. @@ -98,55 +90,52 @@ service logic. - `unique_in_site`: same as DI value - unique key to identify the user per Merchant ID (website). -In addition to the above information, if you need access to a user's mobile phone number (**`phone`**) and carrier (**`carrier`**) or foreigner status (**`foreigner`**), you must post a **Consent to Provision of Personal Information on your website** and send a **request to ****cs@iamport.kr**. Note that this service is available once it is requested to Danal PG and approved after contracting with i'mport.\ - -**\** + In addition to the above information, if you need access to a user's mobile phone number (**`phone`**) and carrier (**`carrier`**) or foreigner status (**`foreigner`**), you must post a **Consent to Provision of Personal Information on your website** and send a **request to** **[cs@iamport.kr](mailto:cs@iamport.kr)**. Note that this service is available once it is requested to Danal PG and approved after contracting with i'mport.\\ -- Business name: -- Business registration number: -- Danal Merchant ID (CPID) for identity verification: -- Privacy Policy URL: If unable to provide the URL when using an app service, capture and send the 'Privacy Policy' path. + **\** -**\** + - Business name: + - Business registration number: + - Danal Merchant ID (CPID) for identity verification: + - Privacy Policy URL: If unable to provide the URL when using an app service, capture and send the 'Privacy Policy' path. -- `Marpple Co., Ltd.: https://marpple.shop/kr/@/privacy` -- `Brave Mobile Co., Ltd./Soomgo: https://soomgo.com/terms/privacy` -- `Marketit Co., Ltd.: https://static.marketit.asia/static/privacy-terms.pdf` + **\** + - `Marpple Co., Ltd.: https://marpple.shop/kr/@/privacy` + - `Brave Mobile Co., Ltd./Soomgo: https://soomgo.com/terms/privacy` + - `Marketit Co., Ltd.: https://static.marketit.asia/static/privacy-terms.pdf` -```javascript title="Node.js" - // controller that handles POST request to "/certifications" - app.post("/certifications", async (request, response) => { - const { imp_uid } = request.body; // Get imp_uid from request.body - try { - // Get access token - /* ...Omitted... */ - // Get verification info using imp_uid - /* ...Omitted... */ - const certificationsInfo = getCertifications.data.response; // Save verification info - // unique_key: Unique key for user, unique_in_site: Unique key for user per site - const { unique_key, unique_in_site, name, gender, birth } = certificationsInfo; - ... - // Check age restrictions - if (new Date(birth).getFullYear() <= 1999) { - // Check successful +```ts title="Node.js" +// controller that handles POST request to "/certifications" +app.post("/certifications", async (request, response) => { + const { imp_uid } = request.body; // Get imp_uid from request.body + try { + // Get access token + /* ...Omitted... */ + // Get verification info using imp_uid + /* ...Omitted... */ + const certificationsInfo = getCertifications.data.response; // Save verification info + // unique_key: Unique key for user, unique_in_site: Unique key for user per site + const { unique_key, unique_in_site, name, gender, birth } = + certificationsInfo; + // Check age restrictions + if (new Date(birth).getFullYear() <= 1999) { + // Check successful + } else { + // Check failed + } + // one account per person check + // Query database with unique_key to check for existing account + Users.find({ certificationKey: unique_key }).then((user) => { + if (!user) { + // New user } else { - // Check failed + // Existing user } - ... - // one account per person check - // Query database with unique_key to check for existing account - Users.find({ certificationKey: unique_key }) - .then((user) => { - if (!user) { - // New user - } else { - // Existing user - } - }); - } catch(e) { - console.error(e); - } - }); + }); + } catch (e) { + console.error(e); + } +}); ``` diff --git a/src/content/docs/en/etc/phone/readme.mdx b/src/content/docs/en/etc/phone/readme.mdx index 803861e90..738649875 100644 --- a/src/content/docs/en/etc/phone/readme.mdx +++ b/src/content/docs/en/etc/phone/readme.mdx @@ -5,13 +5,18 @@ description: Learn how to integrate mobile identity verification service using i import Figure from "~/components/Figure.astro"; -**Mobile phone identity verification service** is used to confirm the identity of the user and the accuracy of the user's identity information submitted through the mobile phone under the user's name. +**Mobile phone identity verification service** is used to confirm +the identity of the user and the accuracy of the user's identity information +submitted through the mobile phone under the user's name. -User's identity verification is needed to sign up for websites, make payments, or verify age. You can perform identity verification by using the identity verification app installed on a mobile device, or by submitting your identity information (**name, date of birth, mobile phone number**) through the verification request page and then confirming the verification number received via text message. +User's identity verification is needed to sign up for websites, make payments, or verify age. +You can perform identity verification by using the identity verification app +installed on a mobile device, or by submitting your identity information +(**name, date of birth, mobile phone number**) through the verification request page +and then confirming the verification number received via text message. -
+
-The flow of i'mport mobile identity verification involves performing verification using the JavaScript SDK and then the merchant server **retrieving the verification result** using the ChaiPort REST API. +The flow of i'mport mobile identity verification involves performing verification +using the JavaScript SDK and then the merchant server +**retrieving the verification result** using the ChaiPort REST API. diff --git a/src/content/docs/en/etc/url.mdx b/src/content/docs/en/etc/url.mdx index 2d2ae58bf..02dddc9f6 100644 --- a/src/content/docs/en/etc/url.mdx +++ b/src/content/docs/en/etc/url.mdx @@ -4,19 +4,20 @@ description: Learn about the payment URL generation API. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Overview +## 1. Overview -This document describes i'mport payment URL generation API specification. i'mport Merchants can use the service without any restrictions. +This document describes i'mport payment URL generation API specification. +i'mport Merchants can use the service without any restrictions. -### 2. API URI +## 2. API URI Payment API is exposed as REST web service. @@ -25,230 +26,203 @@ Payment API is exposed as REST web service. > **Content-Type : application/json;charset=UTF-8** - - -```url title="URI" -https://api.iamport-dev.co/api/supplements/v1/link/payment -``` - - - - - -```title="URI" -https://api.iamport.co/api/supplements/v1/link/payment -``` - - + + ```http title="URI" + POST https://api.iamport-dev.co/api/supplements/v1/link/payment + ``` + + + + ```http title="URI" + POST https://api.iamport.co/api/supplements/v1/link/payment + ``` + -### 3. Description +## 3. Description -Customers can access the generated payment URL to make a payment. It supports all payment methods supported by the PG. When the link expires, payment is no longer available. +Customers can access the generated payment URL to make a payment. +It supports all payment methods supported by the PG. +When the link expires, payment is no longer available. -### 4. Request message specification +## 4. Request message specification - -HTTP Method : POST - -Content-Type : Application.json;charset=UTF-8 - - - -### Parameters - -#### Body - - - - -Title of the bridge page - - - - - - - -Merchant ID - - + + HTTP Method : POST - - - + Content-Type : Application.json;charset=UTF-8 + -Amount + ### Parameters - + #### Body - - - + + + Title of the bridge page + + -Order ID + + + Merchant ID + + - + + + Amount + + - - - + + + Order ID + + -Product name + + + Product name + + - + + Tax free amount + - - -Tax free amount + + + Currency code + + - - - + + Payment window language -Currency code + -ko - + -en + - - -Payment window language + + Customer name + -\-ko + + + Customer phone + + -\-en + + Customer address + - - -Customer name + + Customer email + - - - + + Customer zip + -Customer phone + + Custom data + - + + Notification URL to receive payment result + - - -Customer address + + + Page expiration + + - - -Customer email + + Bridge page language - - -Customer zip + -ko : Korean - - -Custom data + -en : English + - - -Notification URL to receive payment result + + **pg** **\*** **string** - - - + PG code -Page expiration + [#undefined](../sdk/javascript-sdk/rps#undefined "mention") - + --- - - -Bridge page language + **pay\_method** **\*** **string** -\-ko : Korean + Payment method code -\-en : English + [#undefined](../sdk/javascript-sdk/rps#undefined "mention") - - -**pg** **\*** **string** + --- -PG code + **label** **\*** **string** -[#undefined](../sdk/javascript-sdk/rps#undefined "mention") + Payment method shown on bridge page + ---- - -**pay_method** **\*** **string** - -Payment method code - -[#undefined](../sdk/javascript-sdk/rps#undefined "mention") - ---- - -**label** **\*** **string** - -Payment method shown on bridge page - - - -### Responses - - -```json title="json" -{ - "shortenedUrl": "https://dev.impay.link/4bdf239e" //Create payment link -} -``` - - + ### Responses + + ```json title="json" + { + "shortenedUrl": "https://dev.impay.link/4bdf239e" //Create payment link + } + ``` + **#Sample JSON request message** -```title="json" +```json title="json" { - "payment_info": "{\"title\":\"Test merchant\",\"user_code\":\"imp68124833\",\"amount\":10000,\"merchant_uid\":\"merchant_1630665784552\",\"name\":\"payment link test\",\"tax_free\":\"tax free amount\",\"currency\":\"KRW\",\"language\":\"ko\",\"buyer_name\":\"\",\"buyer_tel\":\"\",\"buyer_addr\":\"\",\"buyer_email\":\"\",\"buyer_postcode\":\"\",\"custom_data\":\"json_object\",\"notice_url\":\"notification url\",\"pay_methods\":[{\"pg\":\"INIpayTest\",\"pay_method\":\"card\",\"label\":\"credit/check card\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"naverpay\",\"label\":\"Naver Pay\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"kakaopay\",\"label\":\"Kakao Pay\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"phone\",\"label\":\"mobile micropayment\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"trans\",\"label\":\"account transfer\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"vbank\",\"label\":\"virtual account\"}]}", - "expired_at": 1634324016 + "payment_info": "{\"title\":\"Test merchant\",\"user_code\":\"imp68124833\",\"amount\":10000,\"merchant_uid\":\"merchant_1630665784552\",\"name\":\"payment link test\",\"tax_free\":\"tax free amount\",\"currency\":\"KRW\",\"language\":\"ko\",\"buyer_name\":\"\",\"buyer_tel\":\"\",\"buyer_addr\":\"\",\"buyer_email\":\"\",\"buyer_postcode\":\"\",\"custom_data\":\"json_object\",\"notice_url\":\"notification url\",\"pay_methods\":[{\"pg\":\"INIpayTest\",\"pay_method\":\"card\",\"label\":\"credit/check card\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"naverpay\",\"label\":\"Naver Pay\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"kakaopay\",\"label\":\"Kakao Pay\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"phone\",\"label\":\"mobile micropayment\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"trans\",\"label\":\"account transfer\"},{\"pg\":\"INIpayTest\",\"pay_method\":\"vbank\",\"label\":\"virtual account\"}]}", + "expired_at": 1634324016 } ``` **#Sample payment (bridge) page** - -**Sample response URL page displayed when payment URL API request is successful.** - -
- - + + **Sample response URL page displayed when payment URL API request is successful.** - -**Sample page displayed for an expired payment URL page (expire\_at exceeded).** +
+ -
+ + **Sample page displayed for an expired payment URL page (expire\_at exceeded).** - +
+ -### 5. Disabling payment URL +## 5. Disabling payment URL -**Append the last part of the response** (**shortenedUrl**) **URL to the payment URI API address and call it.** +**Append the last part of the response** (**shortenedUrl**) +**URL to the payment URI API address and call it.** > **HTTP Method :** **PUT** -**For the following API response** - -```json -{ "shortenedUrl": "https://dev.impay.link/4bdf239e" } -``` + **For the following API response** -[https://api.iamport.co/api/supplements/v1/link/payment/](https://api.iamport.co/api/supplements/v1/link/payment/%7BGUID%7D) **4bdf239e** + ```json + { "shortenedUrl": "https://dev.impay.link/4bdf239e" } + ``` -Call the above payment URL to disable it. + [https://api.iamport.co/api/supplements/v1/link/payment/](https://api.iamport.co/api/supplements/v1/link/payment/%7BGUID%7D) **4bdf239e** + Call the above payment URL to disable it. diff --git a/src/content/docs/en/faq/undefined.mdx b/src/content/docs/en/faq/undefined.mdx index 888aa616e..2235bba15 100644 --- a/src/content/docs/en/faq/undefined.mdx +++ b/src/content/docs/en/faq/undefined.mdx @@ -7,50 +7,50 @@ import Details from "~/components/gitbook/Details.astro"; import Hint from "~/components/Hint.astro";
-

Webhook call rules

+

Webhook call rules

-- Webhook is only sent once by default. -- You can set to resend (retry) the webhook up to 5 times in 1 minute increments. i'mport will stop sending the webhook once the merchant responds with HTTP STATUS 200. -- You can also manually resend the webhook from the Admin console. (Payment approvals -> Webhook log -> Resend) -- If you change the webhook address, webhooks for past transactions are sent to the previous webhook URL. + - Webhook is only sent once by default. + - You can set to resend (retry) the webhook up to 5 times in 1 minute increments. + i'mport will stop sending the webhook once the merchant responds with HTTP STATUS 200. + + - You can also manually resend the webhook from the Admin console. (Payment approvals -> Webhook log -> Resend) + + - If you change the webhook address, webhooks for past transactions are sent to the previous webhook URL.
-

Provision of comprehensive response code list

- -The error code and message in the payment response are the same as those sent by the source (PG). There is no comprehensive error code list because the response codes and messages differ by each PG linked with i'mport. +

Provision of comprehensive response code list

+ The error code and message in the payment response are the same as those sent by the source (PG). + There is no comprehensive error code list because the response codes and messages differ by each PG linked with i'mport.
-

How to distinguish between production account and developer account

+

How to distinguish between production account and developer account

-### **Single account for both production and test modes** + ## **Single account for both production and test modes** -Enter the merchant information for testing by clicking 'Add PG' from existing settings. + Enter the merchant information for testing by clicking 'Add PG' from existing settings. -- Pros: Can use the same Merchant ID and API key/secret for testing. -- Cons: Care needs to be taken in setting/saving PGs because the settings are shared with the production account. + - Pros: Can use the same Merchant ID and API key/secret for testing. + - Cons: Care needs to be taken in setting/saving PGs because the settings are shared with the production account. -**\[Checklist]** + **\[Checklist]** -To request payment with a specific Merchant ID for the same PG, you must specify the `pg` parameter as **PG. Merchant ID**. + To request payment with a specific Merchant ID for the same PG, + you must specify the `pg` parameter as **PG. Merchant ID**. -### **Create a separate test-only account** + ### **Create a separate test-only account** -You can create a developer account by signing up in the i'mport Admin page ([https://admin.iamport.kr/](https://admin.iamport.kr/)). - -- Pros: Enables stable testing by using separate accounts for production and development. -- Cons: Requires source code branching due to having different Merchant ID and API key/secret for each account. + You can create a developer account by signing up in the i'mport Admin page ([https://admin.iamport.kr/](https://admin.iamport.kr/)). + - Pros: Enables stable testing by using separate accounts for production and development. + - Cons: Requires source code branching due to having different Merchant ID and API key/secret for each account.
-**For additional FAQs, refer to:** - -[https://faq.iamport.kr/](https://faq.iamport.kr/) + **For additional FAQs, refer to:** + [https://faq.iamport.kr/](https://faq.iamport.kr/) - - diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/blue-walnut.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/blue-walnut.mdx index 4556ac1e0..dfbd0f08a 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/blue-walnut.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/blue-walnut.mdx @@ -5,88 +5,86 @@ description: Blue Walnut payment window integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import Details from "~/components/gitbook/Details.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -### 1. Configure Blue Walnut PG settings +## 1. Configure Blue Walnut PG settings -Refer to the [**Blue Walnut settings**](../../ready/2.-pg/payment-gateway-settings/undefined-7) page to configure the PG settings. +Refer to the [**Blue Walnut settings**](../../ready/2.-pg/payment-gateway-settings/undefined-7) +page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment -To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'bluewalnut', - pay_method : 'card', - merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001 - name : 'Order name: Test payment request', - amount : 14000, - buyer_email : 'iamport@siot.do', // required - buyer_name : 'Jack Son', // Must include a space between Firstname Lastname - buyer_tel : '010-1234-5678', - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - m_redirect_url : '{Mobile only - URL to redirect to after payment approval}' // Example: https://www.my-service.com/payments/complete/mobile -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -### - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* - -**PG code** + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "bluewalnut", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", // required + buyer_name: "Jack Son", // Must include a space between Firstname Lastname + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`bluewalnut`**. + ### Key parameter description -**`pay_method`** **\***\*\* ****s****tring\*\* + **`pg`** **\*** **string** -**Payment method code** + **PG code** -
-

Payment method codes

+ - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`bluewalnut`**. -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `phone`(mobile micropayment) + **`pay_method`** **\*** **string** -
+ **Payment method code** -**`merchant_uid`** **\***\*\* ****s****tring\*\* +
+

Payment method codes

-**Order ID** + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `phone`(mobile micropayment) +
-Must be unique for each request. + **`merchant_uid`** **\*** **string** -**`amount`** **\***\*\* ****integer\*\* + **Order ID** -**Payment amount** + Must be unique for each request. -Must be an integer (not string) + **`amount`** **\*** **integer** - + **Payment amount** -
+ Must be an integer (not string) - -#### Not supported + + -
+ + Not supported +
diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/danal.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/danal.mdx index 0a8f1c2bc..1fe8c2857 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/danal.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/danal.mdx @@ -5,256 +5,254 @@ description: Danal payment window integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure Danal PG settings +## 1. Configure Danal PG settings -Refer to the [**Danal settings**](../../ready/2.-pg/payment-gateway-settings/undefined-2) page to configure the PG settings. +Refer to the [**Danal settings**](../../ready/2.-pg/payment-gateway-settings/undefined-2) page +to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment -To open the Danal TPay payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the Danal TPay payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). In both PC and mobile browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. - - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "danal_tpay", - pay_method: "card", - merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 - name: "Order name: Test payment request", - amount: 14000, - buyer_email: "iamport@siot.do", - buyer_name: "John Doe", - buyer_tel: "010-1234-5678", - buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", - buyer_postcode: "123-456", - }, - function (rsp) { - // callback logic - //* ...Omitted... *// - } -); -``` + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "danal_tpay", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -### Key parameter description + ### Key parameter description -**`pg`** **\*** **s** **tring** + **`pg`** **\*** **string** -**PG code** + **PG code** -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`danal_tpay`**. + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`danal_tpay`**. -**`pay_method`** **\*** **s** **tring** + **`pay_method`** **\*** **string** -**Payment method code** + **Payment method code** -
-

Payment method codes

+
+

Payment method codes

-- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `cultureland`(Cultureland) -- `happymoney`(Happy Money) -- `booknlife` (Book n culture gift card) + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `cultureland`(Cultureland) + - `happymoney`(Happy Money) + - `booknlife` (Book n culture gift card) +
-
+ **`merchant_uid`** **\*** **string** -**`merchant_uid`** **\*** **s** **tring** + **Order ID** -**Order ID** + Must be unique for each request. -Must be unique for each request. + **`buyer_tel`** **\*** **`string`** -**`buyer_tel`** **`*`** **`string`** + **Customer phone number** -**Customer phone number** + Danal payment window may throw an error if omitted -Danal payment window may throw an error if omitted + **`amount`** **\*** **integer** -**`amount`** **\*** **integer** + **Payment amount** -**Payment amount** + Must be an integer (not string) -Must be an integer (not string) + + #### Virtual account payment requirement - -#### Virtual account payment requirement + - **`biz_num`**: 10-digit business registration number (required) + -- **`biz_num`**: 10-digit business registration number (required) + +
- + + To open non-authenticated payment window, specify the **customer\_uid** parameter. - - + + #### **amount** - -To open non-authenticated payment window, specify the **customer\_uid** parameter. + - If requesting **both billing key and initial payment**, specify the payment amount. - -#### **amount** - -- If requesting **both billing key and initial payment**, specify the payment amount. -- If only requesting for billing key, set to **0**.\ - (if amount is set to 0, Danal executes a test payment of 10 won which is automatically cancelled after 30 minutes.) - - - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "danal_tpay", - pay_method: "card", // only 'card' supported. - merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 - name: "Order name: Billing key request test", - amount: 0, // For display purpose only (set actual amount to also request payment approval). - customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) - buyer_email: "johndoe@gmail.com", - buyer_name: "John Doe", - buyer_tel: "02-1234-1234", - buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", - period: { - from: "20200101", //YYYYMMDD - to: "20201231", //YYYYMMDD - }, - }, - function (rsp) { - if (rsp.success) { - alert("Success"); - } else { - alert("Failed"); - } - } -); -``` + - If only requesting for billing key, set to **0**.\ + (if amount is set to 0, Danal executes a test payment of 10 won which is automatically cancelled after 30 minutes.) + -### Key parameter description + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "danal_tpay", + pay_method: "card", // only 'card' supported. + merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 + name: "Order name: Billing key request test", + amount: 0, // For display purpose only (set actual amount to also request payment approval). + customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) + buyer_email: "johndoe@gmail.com", + buyer_name: "John Doe", + buyer_tel: "02-1234-1234", + buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", + period: { + from: "20200101", //YYYYMMDD + to: "20201231", //YYYYMMDD + }, + }, + function (rsp) { + if (rsp.success) { + alert("Success"); + } else { + alert("Failed"); + } + }, + ); + ``` -**`pg`** **\***\*\* ****s****tring\*\* + ### Key parameter description -**PG code** + **`pg`** **\*** **string** -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`danal_tpay`**. + **PG code** -**`customer_uid`** **\*** **string** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`danal_tpay`**. -**Credit card billing key** + **`customer_uid`** **\*** **string** -Billing key to be mapped 1:1 with the user-entered credit card information. + **Credit card billing key** -**`amount`** **\*** **Integer** + Billing key to be mapped 1:1 with the user-entered credit card information. -**Payment amount** + **`amount`** **\*** **Integer** -0: only billing key, **> 0: billing key + initial payment** + **Payment amount** -**` period`` `****`array`** + 0: only billing key, **> 0: billing key + initial payment** -Product subscription payment for subscription payment. The date is displayed on the Danal payment window. + **`period`` `****`array`** -**`from`****`: YYYYMMDD`** + Product subscription payment for subscription payment. The date is displayed on the Danal payment window. -**`to`****`: YYYYMMDD`**\ + **`from`****`: YYYYMMDD`** -### Request payment with billing key (customer_uid) + **`to`****`: YYYYMMDD`**\\ -After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the [**non-authenticated payment request REST API**](../../api/api/api) with the `customer_uid` as follows: + ### Request payment with billing key (customer\_uid) -```title="sever-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + After successfully getting the billing key, + the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the [**non-authenticated payment request REST API**](../../api/api/api) + with the `customer_uid` as follows: -
+ ```sh title="sever-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` +
-### 3. Additional functions +## 3. Additional functions - -```javascript title="javascript" -display: { - card_quota: [6] // Display up to 6 months installment plans -} -``` - -**Parameters** - -- **card_quota :** - - `[]`: Only immediate pay - - `3,6`: immediate, 3, 6 month installment plans - - -Installment plan option is available only for **KRW 50,000 or more**. - - - - - - - - -```javascript title="javascript" -card: { - direct: { - code: "367", - quota: 3, - usePoint : “Y” + + ```json title="javascript" + { + "display": { + "card_quota": [6] // Display up to 6 months installment plans + } } -} -``` - -**Parameters** - -- **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) -- **quota**: Installment plan. For immediate, set to 0. (**integer**) -- **usePoint**: Option to use points (post applied) - - -**Danal setup required** - -- Direct module call requires pre-setup by Danal. - - - - - - -```javascript title="javascript" -card : { - detail : [ - {card_code:"*", enabled:false}, // Disable all credit cards - {card_code:'366', enabled:true} // Enable specific credit card - ] -} -``` + ``` + + **Parameters** + + - **card\_quota :** + - `[]`: Only immediate pay + - `3,6`: immediate, 3, 6 month installment plans + + + Installment plan option is available only for **KRW 50,000 or more**. + + + + + + + ```json title="javascript" + { + "card": { + "direct": { + "code": "367", + "quota": 3, + "usePoint": "Y" + } + } + } + ``` + + **Parameters** + + - **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) + - **quota**: Installment plan. For immediate, set to 0. (**integer**) + - **usePoint**: Option to use points (post applied) + + + **Danal setup required** + + - Direct module call requires pre-setup by Danal. + + + + + ```json title="javascript" + { + "card": { + "detail": [ + { "card_code": "*", "enabled": false }, // Disable all credit cards + { "card_code": "366", "enabled": true }, // Enable specific credit card + ] + } + } + ``` -**Parameters** + **Parameters** -- **card_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** -- **enabled:** Option to enable the credit card (**boolean)** + - **card\_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) + (**string)** - + - **enabled:** Option to enable the credit card (**boolean)** - + + diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/daou-payjoa/precautions-for-using-payjoa.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/daou-payjoa/precautions-for-using-payjoa.mdx index be0c7aaf4..9a147afee 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/daou-payjoa/precautions-for-using-payjoa.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/daou-payjoa/precautions-for-using-payjoa.mdx @@ -8,171 +8,169 @@ import Details from "~/components/gitbook/Details.astro"; ## Things to note when integrating PAYJOA
-

Returns success in PC and imp_success in mobile

- -The payment window call (`IMP.request_pay`) and post-payment processing differs for PC and mobile. In PC, the call is made using iframe and the callback function (the second argument of IMP.request_pay) is called after the payment process is completed. In mobile, the page is redirected (302) to the specified URL (`m_redirect_url`_)._ At this time, the payment result (success/failure) is returned using the `success` parameter for PC and `imp_success` parameter for mobile. To summarize the flow: - -- \[PC] iframe → callback → result delivered in response.`success` returned via callback - - ```jsx - IMP.request_pay( - { - // Omitted - }, - function (response) { - const { success } = response; // payment successul or failed - if (success) { - // Success logic - } else { - // Failure logic - } - } - ); - ``` - -- \[Mobile] Redirect → redirct (302) to m_redirect_url → result delivered in `imp_success` query parameter - - ```jsx - /** - * Sample 302 redirect URL redirected to after payment process is completed - * when m_redirect_url is set to 'https://myservice.com/payments/complete' - */ - https://myservice.com/payments/complete?**imp_success=true**&imp_uid=imp1234567890&merchant_uid=mid_123467890 - ``` - -#### **`imp_success` and `success` are deprecated** - -Regardless you should not determine the success/failure of a payment based on either of these parameters. It only indicates the failure/success of payment at the time of the response from i'mport → merchant client, and its value can only be finalized when notification of the result is sent from PAYJOA → i'mport and then it is updated in the i'mport DB. - -Since the **payment result is sent asynchronously in \[PAYJOA → i'mport → i'mport DB update] and \[i'mport → merchant client]**, **the `imp_success` or `success` parameter received by the merchant client can be false (failed) for a successful transaction if it has not been updated in the database yet**. - -Hence, only the i'mport order ID (`imp_uid`) and the merchant order ID (`merchant_uid`) of the result are accurate. You must send these values to the merchant server and use them to call the i'mport Get payment API ([GET /payments/\{imp_uid}](https://api.iamport.kr/#!/payments/getPaymentByImpUid)) to accurately determine whether the payment is successful (`status`=`paid`) or failed (`status`=`failed`). - +

Returns success in PC and imp\_success in mobile

+ + The payment window call (`IMP.request_pay`) and post-payment processing differs for PC and mobile. + In PC, the call is made using iframe and the callback function + (the second argument of IMP.request\_pay) is called after the payment process is completed. + In mobile, the page is redirected (302) to the specified URL (`m_redirect_url`). + At this time, the payment result (success/failure) is returned using the `success` parameter for PC + and `imp_success` parameter for mobile. To summarize the flow: + + - \[PC] iframe → callback → result delivered in response.`success` returned via callback + + ```tsx + IMP.request_pay( + { + // Omitted + }, + function (response) { + const { success } = response; // payment successul or failed + if (success) { + // Success logic + } else { + // Failure logic + } + }, + ); + ``` + + - \[Mobile] Redirect → redirct (302) to m\_redirect\_url → result delivered in `imp_success` query parameter + + ```js + /** + * Sample 302 redirect URL redirected to after payment process is completed + * when m_redirect_url is set to 'https://myservice.com/payments/complete' + */ + "https://myservice.com/payments/complete?imp_success=true&imp_uid=imp1234567890&merchant_uid=mid_123467890"; + ``` + + ### **`imp_success` and `success` are deprecated** + + Regardless you should not determine the success/failure of a payment based on either of these parameters. + It only indicates the failure/success of payment at the time of the response from i'mport → merchant client, + and its value can only be finalized when notification of the result is sent from PAYJOA → i'mport + and then it is updated in the i'mport DB. + + Since the **payment result is sent asynchronously in \[PAYJOA → i'mport → i'mport DB update] + and \[i'mport → merchant client]**, **the `imp_success` or `success` parameter received + by the merchant client can be false (failed) for a successful transaction + if it has not been updated in the database yet**. + + Hence, only the i'mport order ID (`imp_uid`) and the merchant order ID + (`merchant_uid`) of the result are accurate. + You must send these values to the merchant server and use them + to call the i'mport Get payment API ([GET /payments/\{imp\_uid}](https://api.iamport.kr/#!/payments/getPaymentByImpUid)) + to accurately determine whether the payment is successful (`status`=`paid`) or failed (`status`=`failed`).
-

Session related issues when paying with Hana card/NH Apps Cache in Safari

- -When paying with Hana card/NH Apps Cache (account transfer) in Safari, the message below (the session has expired and the connection with the card company has been terminated) is displayed and payment cannot be processed. +

Session related issues when paying with Hana card/NH Apps Cache in Safari

-참고이미지 + When paying with Hana card/NH Apps Cache (account transfer) in Safari, + the message below (the session has expired and the connection with the card company has been terminated) + is displayed and payment cannot be processed. -If you are experiencing this, make sure that the `Prevent cross-site tracking` and `Block all cookies` options are not checked in Safari Preferences as shown below, and then try again. + 참고이미지 -참고이미지 + If you are experiencing this, make sure that the `Prevent cross-site tracking` and `Block all cookies` options + are not checked in Safari Preferences as shown below, and then try again. + 참고이미지
-

Issues when paying with BC card in Safari/Firefox

- -If you click the Next button after selecting BC Card in the credit card payment window, “Payment failed” alert message is displayed and you cannot proceed any further. In other browsers (Chrome, Opera, Edge, etc.) or when using other credit cards, the Facebook QR code for BC card payment is rendered without any problem. +

Issues when paying with BC card in Safari/Firefox

-참고이미지 + If you click the Next button after selecting BC Card in the credit card payment window, + “Payment failed” alert message is displayed and you cannot proceed any further. + In other browsers (Chrome, Opera, Edge, etc.) or when using other credit cards, + the Facebook QR code for BC card payment is rendered without any problem. -If you are experiencing this, make sure that pop-ups are allowed for the `*.payjoa.co.kr` domain in Safari Preferences as shown below, and then try again. + 참고이미지 -참고이미지 + If you are experiencing this, make sure that pop-ups are allowed for the `*.payjoa.co.kr` domain + in Safari Preferences as shown below, and then try again. + 참고이미지
-

Instant account transfer payment flow difference

+

Instant account transfer payment flow difference

-Since PAYJOA internally uses Toss Payments - account transfer, account transfer is available only through Toss Simple Payment, NH Apps Cache, and direct input of account information. Entering account information directly requires security card/OTP authentication → public certificate authentication. + Since PAYJOA internally uses Toss Payments - account transfer, account transfer is available + only through Toss Simple Payment, NH Apps Cache, and direct input of account information. + Entering account information directly requires security card/OTP authentication → public certificate authentication. -For mobile payment, account transfer payment is available only through Toss Simple Payment and NH Apps Cache. + For mobile payment, account transfer payment is available only through Toss Simple Payment and NH Apps Cache. -PC 결제 - -모바일 결제 + PC 결제 + 모바일 결제
-

Only depositor's name can be accessed after virtual account deposit

- -When deposit is made to the (issued) virtual account, PAYJOA only reveals the name among the depositor's information (bank name, account number, sender). Therefore, when you retrieve the i'mport payment details ([**GET /payments/\{imp_uid}**](../../../api/payment-api/get-payment-api)), the depositor's bank code (`bank_code`) and bank name (`bank_name`) are both NULL. To get the depositor's name, you must set the query parameter (`extension`) to `true` as follows: - -```jsx -GET http://api.iamport.kr/payments/{i'mport number}?extension=true - -{ - // ... Omitted - bank_code: null, // Depositor's bank code not provided - bank_name: null, // Depositor's bank name not provided - extension: { - // ... Omitted - **"REMITTER": "John Doe" // Depositor's name** - } -} -``` - +

Only depositor's name can be accessed after virtual account deposit

+ + When deposit is made to the (issued) virtual account, + PAYJOA only reveals the name among the depositor's information (bank name, account number, sender). + Therefore, when you retrieve the i'mport payment details ([**GET /payments/\{imp\_uid}**](../../../api/payment-api/get-payment-api)), + the depositor's bank code (`bank_code`) and bank name (`bank_name`) are both NULL. + To get the depositor's name, you must set the query parameter (`extension`) to `true` as follows: + + ```json + // GET http://api.iamport.kr/payments/{i'mport number}?extension=true + { + // ... Omitted + "bank_code": null, // Depositor's bank code not provided + "bank_name": null, // Depositor's bank name not provided + "extension": { + // ... Omitted + "REMITTER": "John Doe" // Depositor's name + } + } + ```
-

Special contract with PAYJOA is required to cancel virtual account payment

- -Cancellation (refund) of payment for completed virtual account deposit is available only through a special contract with PAYJOA due to virtual account issuance fee issues. Refunds for virtual account payments cannot be processed without this contract. +

Special contract with PAYJOA is required to cancel virtual account payment

+ Cancellation (refund) of payment for completed virtual account deposit is available + only through a special contract with PAYJOA due to virtual account issuance fee issues. + Refunds for virtual account payments cannot be processed without this contract.
-

Cancellation of virtual account payment takes more than 7 business days to process

- -Cancellation (refund) of PAYJOA virtual account payment is requested from the merchant → i'mport → PAYJOA. Since the refund is processed after a PAYJOA staff manually checks the request, it takes more than 7 business days for the refund amount to be deposited. +

Cancellation of virtual account payment takes more than 7 business days to process

+ Cancellation (refund) of PAYJOA virtual account payment is requested from the merchant → i'mport → PAYJOA. + Since the refund is processed after a PAYJOA staff manually checks the request, + it takes more than 7 business days for the refund amount to be deposited.
-

Only one taxable/tax-free/combination CPID is issued for each case

- -You need to request PAYJOA to issue the CPID on a `case-by-case` basis. In this way, all taxable/tax-free/combination transactions can be processed with one CPID. +

Only one taxable/tax-free/combination CPID is issued for each case

+ You need to request PAYJOA to issue the CPID on a `case-by-case` basis. + In this way, all taxable/tax-free/combination transactions can be processed with one CPID.
-

Tax-free amount can be set only for card payment

- -When calling the payment window (IMP.request_pay function), you can set the tax-free amount (`tax_free`) out of the total amount (`amount`). In the PAYJOA system, the tax-free amount is only available when paying by card (pay_method: `card`). Account transfer and virtual account payments are taxed in full. +

Tax-free amount can be set only for card payment

+ When calling the payment window (IMP.request\_pay function), + you can set the tax-free amount (`tax_free`) out of the total amount (`amount`). + In the PAYJOA system, the tax-free amount is only available when paying by card (pay\_method: `card`). + Account transfer and virtual account payments are taxed in full.
-

PAYJOA bug

- -#### Customer's phone number is not automatically filled in the escrow payment window +

PAYJOA bug

-참고이미지 + ### Customer's phone number is not automatically filled in the escrow payment window -- Unlike other payment windows, the customer's phone number (`buyer_tel`) passed into IMP.request_pay is not automatically filled in the escrow payment window. Note that PAYJOA does not support this function. + 참고이미지 + - Unlike other payment windows, the customer's phone number (`buyer_tel`) passed into IMP.request\_pay + is not automatically filled in the escrow payment window. Note that PAYJOA does not support this function.
diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/daou-payjoa/readme.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/daou-payjoa/readme.mdx index 9ecbf5181..e54c964d4 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/daou-payjoa/readme.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/daou-payjoa/readme.mdx @@ -5,232 +5,232 @@ description: Daou payment window integration guide import ContentRef from "~/components/gitbook/ContentRef.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure Daou PG settings +## 1. Configure Daou PG settings Refer to the [**Daou settings**](../../../ready/2.-pg/payment-gateway-settings/daou) page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. -**PAYJOA payment window integration requires ****JS SDK 1.2.0**** or later version.** - + **PAYJOA payment window integration requires ****JS SDK 1.2.0**** or later version.** - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'daou', - pay_method : 'card', - merchant_uid: 'mid_1234567890', - escrow: false, - amount: 1004, - name: 'NF long padding jacket M', - buyer_name: 'John Doe', - buyer_email: 'hello@world.com', - buyer_tel: '01012345678', - digital : false, // Set to true if contracted as digital - m_redirect_url: 'https://allerts.com/payments/complete', - bypass: { - // PAYJOA (DaouData) specific parameters - daou: { - PRODUCTCODE: 'iamport', - CASHRECEIPTFLAG: 2, - }, - }, - app_scheme: 'iamportappscheme', -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -### - -### Key parameter description - -**`pg`** **\*** **s** **tring** - -**PG code** + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "daou", + pay_method: "card", + merchant_uid: "mid_1234567890", + escrow: false, + amount: 1004, + name: "NF long padding jacket M", + buyer_name: "John Doe", + buyer_email: "hello@world.com", + buyer_tel: "01012345678", + digital: false, // Set to true if contracted as digital + m_redirect_url: "https://allerts.com/payments/complete", + bypass: { + // PAYJOA (DaouData) specific parameters + daou: { + PRODUCTCODE: "iamport", + CASHRECEIPTFLAG: 2, + }, + }, + app_scheme: "iamportappscheme", + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`daou`**. + ### Key parameter description -**`pay_method`** **\*** **s** **tring** + **`pg`** **\*** **string** -**Payment method code** + **PG code** -
-

Payment method codes

+ - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`daou`**. -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) + **`pay_method`** **\*** **string** -
+ **Payment method code** -**`merchant_uid`** **\*** **s** **tring** +
+

Payment method codes

-**Order ID** + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) +
-Must be unique for each request. + **`merchant_uid`** **\*** **string** -**`digital`** **`*`** **`string`** + **Order ID** -**Digital contents option** + Must be unique for each request. -Must specify the value based on the contract between merchant and PAYJOA. Otherwise, request will fail. + **`digital`** **`*`** **`string`** -**`bypass.daou.PRODUCTCODE`** **`string`** + **Digital contents option** -**Product code** + Must specify the value based on the contract between merchant and PAYJOA. Otherwise, request will fail. -If there is no specification for the value and the value is not specified, i'mport sets it to the default value (iamport) and sends it to PAYJOA. + **`bypass.daou.PRODUCTCODE`** **`string`** -**`bypass.daou.CASHRECEIPTFLAG`** **``** **`integer`** + **Product code** -**Cash receipt issuance code** + If there is no specification for the value and the value is not specified, i'mport sets it to the default value (iamport) and sends it to PAYJOA. -Auto cash receipt issuance code for cash payments (account transfer, virtual account) + **`bypass.daou.CASHRECEIPTFLAG`** **\`\`** **`integer`** -**`1: Allow`** + **Cash receipt issuance code** -**`2: Block`** + Auto cash receipt issuance code for cash payments (account transfer, virtual account) -**`app_scheme`** **`string`** + **`1: Allow`** -**Mobile app URL scheme** + **`2: Block`** -Required in mobile app + **`app_scheme`** **`string`** -**`amount`** **\*** **integer** + **Mobile app URL scheme** -**Payment amount** + Required in mobile app -Must be an integer (not string) + **`amount`** **\*** **integer** -**`escrow`** **`boolean`** + **Payment amount** -**Escrow option** + Must be an integer (not string) -Only supports account transfer and virtual account payment. + **`escrow`** **`boolean`** -
+ **Escrow option** - -#### **You can use i'mport REST API to request billing key, request payment, and schedule payment.** + Only supports account transfer and virtual account payment. + -### Request one-time payment + + **You can use i'mport REST API to request billing key, request payment, and schedule payment.** -To request a one-time payment, use the key-in REST[ **API POST /subscribe/payments/onetime**](../../../api/api/request-non-authenticated-payment-one-time-api). The card information is not saved during this process. + ### Request one-time payment -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + To request a one-time payment, use the key-in REST[**API POST /subscribe/payments/onetime**](../../../api/api/request-non-authenticated-payment-one-time-api). + The card information is not saved during this process. -### + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -### Request billing key + ### Request billing key -To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer_uid}**](../../../api/billing-key-api/api-1). + To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer\_uid}**](../../../api/billing-key-api/api-1). -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ - https://api.iamport.kr/subscribe/customers/your-customer-unique-id -``` + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ + https://api.iamport.kr/subscribe/customers/your-customer-unique-id + ``` -### Request billing key + initial payment + ### Request billing key + initial payment -To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../../api/api/request-non-authenticated-payment-one-time-api). + To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../../api/api/request-non-authenticated-payment-one-time-api). -- **`customer_uid`** : required for saving the billing key. + - **`customer_uid`** : required for saving the billing key. -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -### Request payment with billing key + ### Request payment with billing key -After successfully getting the billing key and making the initial payment, the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the repeat pay REST API ([**POST /subscribe/payments/again**](../../../api/api/api)) with the `customer_uid` as follows: + After successfully getting the billing key and making the initial payment, the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the repeat pay REST API ([**POST /subscribe/payments/again**](../../../api/api/api)) with the `customer_uid` as follows: -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` -**For detailed information, refer to:** + **For detailed information, refer to:** - - - + +
-### 3. Additional functions +## 3. Additional functions - -```javascript title="javascript" -display: { - card_quota: [6] // Display up to 6 months installment plans -} -``` - -**Parameters** - -- **card_quota :** - - `[]`: Only immediate pay - - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans\ + + ```json title="javascript" + { + "display": { + "card_quota": [6], // Display up to 6 months installment plans + } + } + ``` - -Installment plan option is available only for **KRW 50,000 or more**. + **Parameters** - + - **card\_quota :** + - `[]`: Only immediate pay + - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans\\ - + + Installment plan option is available only for **KRW 50,000 or more**. + + - -For escrow payment, the **`escrow`** parameter must be set to **true** . When the escrow payment is completed, the merchant must register the shipping information for **settlement**. You can manage shipping information by using the [**Add delivery info**](../../../api/escrow-api/add-delivery-info-api) and [**Update delivery info**](../../../api/escrow-api/update-delivery-info-api) APIs. + + For escrow payment, the **`escrow`** parameter must be set to **true** . + When the escrow payment is completed, the merchant must register the shipping information for **settlement**. + You can manage shipping information by using the [**Add delivery info**](../../../api/escrow-api/add-delivery-info-api) + and [**Update delivery info**](../../../api/escrow-api/update-delivery-info-api) APIs. -```javascript title="API Body Example" -{ - "logis": { + ```json title="API Body Example" + { + "logis": { "invoice": "1728384716123", "company": "CJGLS", "receiving_at": "20220215", "address": "16, Seongsui-ro 20-gil" - }, - "receiver": { + }, + "receiver": { "name": "John DOe" - }, - "sender": { + }, + "sender": { "relationship": "self" + } } -} -``` - - -**Precaution** + ``` -- When adding/updating the escrow delivery information, PAYJOA does not validate the delivery information (tracking number, courier name, etc.) received from the merchant. - - + + **Precaution** - + - When adding/updating the escrow delivery information, PAYJOA does not validate the delivery information + (tracking number, courier name, etc.) received from the merchant. + + diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/eximbay.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/eximbay.mdx index 7cad6f0e1..1f551a4d0 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/eximbay.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/eximbay.mdx @@ -4,143 +4,147 @@ description: Eximbay payment window integration guide --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure Eximbay PG settings +## 1. Configure Eximbay PG settings Refer to the [**Eximbay settings**](../../ready/2.-pg/payment-gateway-settings/undefined-6) page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). In PC and mobile browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'eximbay', - pay_method : 'card', - merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001 - name : 'Order name: Test payment request', - amount : 14.20, - currency : 'USD', - buyer_email : 'iamport@siot.do', - buyer_name : 'John Doe', - buyer_tel : '010-1234-5678', // Required - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456' -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "eximbay", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14.2, + currency: "USD", + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", // Required + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -#### + ### Key parameter description -### Key parameter description + **`pg`** **\*** **string** -**`pg`** **\***\*\* ****s****tring\*\* + **PG code** -**PG code** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`eximbay`**. -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`eximbay`**. + **`pay_method`** **\*** **string** -**`pay_method`** **\***\*\* ****s****tring\*\* + **Payment method code** -**Payment method code** +
+

Payment method codes

-
-

Payment method codes

- -- `card` (credit card) -- `wechat` -- `alipay` -- `card` (foreign credit card) -- `unionpay` -- `tenpay` -- `econtext` (payment via Japanese convenience store) - -
+ - `card` (credit card) + - `wechat` + - `alipay` + - `card` (foreign credit card) + - `unionpay` + - `tenpay` + - `econtext` (payment via Japanese convenience store) +
-**`merchant_uid`** **\***\*\* ****s****tring\*\* + **`merchant_uid`** **\*** **string** -**Order ID** + **Order ID** -Must be unique for each request.\ + Must be unique for each request. -**`buyer_tel`****`*`****`string`** + **`buyer_tel`****\*****`string`** -**`Customer phone`** + **`Customer phone`** -**`amount`** **\***\*\* ****integer\*\* + **`amount`** **\*** **integer** -**Payment amount** + **Payment amount** -Must be an integer (not string) + Must be an integer (not string) -**`currency`****`string`** + **`currency`****`string`** -**Currency** + **Currency** -- KRW -- USD -- EUR -- GBP -- JPY -- THB -- SGD -- RUB -- HKD -- CAD -- AUD + - KRW + - USD + - EUR + - GBP + - JPY + - THB + - SGD + - RUB + - HKD + - CAD + - AUD -**` language`` `****`string`** + **`language`` `****`string`** -- Korean : ko -- English : en -- Chinese : zh -- Japanese : jp - -
+ - Korean : ko + - English : en + - Chinese : zh + - Japanese : jp +
-### Note - -i'mport does not support Eximbay subscription payment. + ### Note + i'mport does not support Eximbay subscription payment.
-

How to test convenience store payment

+

How to test convenience store payment

+ + ### Convenience store payment method + + As with virtual accounts in Korea, payment is processed at the convenience store counter using the message sent to the customer by e-mail or text message after requesting payment via the payment window. + + - i'mport internally sets pay\_method : vbank + - Sends callback and webhook to notify that Econtext has been created (status: ready / vbank\_num is fixed as unknown) + - When Econtext confirms payment deposit, i'mport receives a response from Eximbay, changes status to `paid`, and sends a webhook for post-payment processing + + ### **Convenience store payment test procedure** + + As with the virtual account, you need to test the result of the customer's deposit and receive a notification upon deposit. -### Convenience store payment method + 1. Set Eximbay test mode to `ON` and proceed with the payment window. -As with virtual accounts in Korea, payment is processed at the convenience store counter using the message sent to the customer by e-mail or text message after requesting payment via the payment window. + 2. Write down the `pg_tid` value from the callback response (check the value from the PG approval number column in the i'mport Admin console) -- i'mport internally sets pay_method : vbank -- Sends callback and webhook to notify that Econtext has been created (status: ready / vbank_num is fixed as unknown) -- When Econtext confirms payment deposit, i'mport receives a response from Eximbay, changes status to `paid`, and sends a webhook for post-payment processing + 3. Log in from [http://test.econ.ne.jp/site/tuchi\_2/tuchi\_menu\_2.html](http://test.econ.ne.jp/site/tuchi_2/tuchi_menu_2.html) \ + (ID: ectest / password: #eg0810# ) -### **Convenience store payment test procedure** + 4. ShopID : 361301, orderID : `pg_tid` (from step 2) -As with the virtual account, you need to test the result of the customer's deposit and receive a notification upon deposit. + 5. Click **登録** button at the bottom -1. Set Eximbay test mode to `ON` and proceed with the payment window. -2. Write down the `pg_tid` value from the callback response (check the value from the PG approval number column in the i'mport Admin console) -3. Log in from [http://test.econ.ne.jp/site/tuchi_2/tuchi_menu_2.html](http://test.econ.ne.jp/site/tuchi_2/tuchi_menu_2.html) \ - (ID: ectest / password: #eg0810# ) -4. ShopID : 361301, orderID : `pg_tid` (from step 2) -5. Click **登録** button at the bottom -6. On the next page, click **登録** button -7. Wait 10 minutes and then check that the status is changed to **paid** (at this point, webhook is sent to notify of the deposit) + 6. On the next page, click **登録** button + 7. Wait 10 minutes and then check that the status is changed to **paid** (at this point, webhook is sent to notify of the deposit)
diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/inicis.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/inicis.mdx index f7eede393..48b9ce626 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/inicis.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/inicis.mdx @@ -6,294 +6,289 @@ description: KG INICIS payment window integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import ContentRef from "~/components/gitbook/ContentRef.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure KG INICIS settings +## 1. Configure KG INICIS settings -Refer to the [**KG INICIS settings**](../../ready/2.-pg/payment-gateway-settings/nhn-kcp-1) page to configure the PG settings. +Refer to the [**KG INICIS settings**](../../ready/2.-pg/payment-gateway-settings/nhn-kcp-1) page +to configure the PG settings. ![](/gitbook-assets/en/7043_14679_1310.jpeg) -### 2. Request payment +## 2. Request payment -To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url** . +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url** . - + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "html5_inicis", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` + + ### Key parameter description + + **`pg`** **\*** **string** -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "html5_inicis", - pay_method: "card", - merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 - name: "Order name: Test payment request", - amount: 14000, - buyer_email: "iamport@siot.do", - buyer_name: "John Doe", - buyer_tel: "010-1234-5678", - buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", - buyer_postcode: "123-456", - m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile - }, - function (rsp) { - // callback logic - //* ...Omitted... *// - } -); -``` - -#### - -### Key parameter description - -**`pg`** **\*** **s** **tring** - -**PG code** - -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`html5_inicis`**. - -**`pay_method`** **\*** **s** **tring** - -**Payment method code** - -
-

Payment method codes

- -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `phone`(mobile micropayment) -- `samsung`(Samsung Pay hub-type) -- `kakaopay`(Kakao Pay) -- `payco` ( PAYCO hub-type) -- `tosspay` (Toss Simple Pay hub-type) -- `ssgpay` (SSG Pay hub-type) -- `chai` (CHAI Pay) -- `lpay` (LPAY hub-type) -- `naverpay` (Naver Pay) -- `cultureland`(Cultureland) -- `smartculture`(Smart Culture) -- `happymoney`(Happy Money) - -
- -**`merchant_uid`** **\*** **s** **tring** - -**Order ID** - -Must be unique for each request. - -**`amount`** **\*** **integer** - -**Payment amount** - -Must be an integer (not string) - -**`buyer_tel`** **`*`** **`string`** - -**Customer phone number** - -Required - - - -
- - -### You can request for a billing key through the KG INICIS payment window. - -- To open non-authenticated payment window, specify the **customer_uid** parameter. -- After getting a billing key from the window, you can request payment using the billing key. -- **`amount`** parameter is for display purpose only. Actual payment approval is not processed. - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "html5_inicis", - pay_method: "card", // only 'card' supported. - merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 - name: "Initial billing key request", - amount: 0, // For display purpose only (no payment approval). - customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) - buyer_email: "johndoe@gmail.com", - buyer_name: "John Doe", - buyer_tel: "02-1234-1234", - m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) - }, - function (rsp) { - if (rsp.success) { - alert("Success"); - } else { - alert("Failed"); - } - } -); -``` + **PG code** -### Key parameter description + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`html5_inicis`**. -**`pg`** **\*** **s** **tring** + **`pay_method`** **\*** **string** -**PG code** + **Payment method code** -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`html5_inicis`**. +
+

Payment method codes

-> If you have multiple merchant IDs (each for general and subscription) issued by KG INCIS, set to `html5_inicis.{Merchant ID}` or `inicis.{Merchant ID}`(for ActiveX). + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `phone`(mobile micropayment) + - `samsung`(Samsung Pay hub-type) + - `kakaopay`(Kakao Pay) + - `payco` ( PAYCO hub-type) + - `tosspay` (Toss Simple Pay hub-type) + - `ssgpay` (SSG Pay hub-type) + - `chai` (CHAI Pay) + - `lpay` (LPAY hub-type) + - `naverpay` (Naver Pay) + - `cultureland`(Cultureland) + - `smartculture`(Smart Culture) + - `happymoney`(Happy Money) +
-**`customer_uid`** **\*** **string** + **`merchant_uid`** **\*** **string** -**Credit card billing key** + **Order ID** + + Must be unique for each request. -Billing key to be mapped 1:1 with the user-entered credit card information. + **`amount`** **\*** **integer** -**`amount`** **\*** **Integer** + **Payment amount** -**Payment amount** + Must be an integer (not string) -Amount to display in the payment window, but actual payment approval is not processed. (To request payment, use the **REST API with the customer_uid**.)\ + **`buyer_tel`** **`*`** **`string`** -### Request payment with billing key (customer_uid) + **Customer phone number** -After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the [**non-authenticated payment request REST API**](../../api/api/api) with the `customer_uid` as follows: + Required -```title="sever-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + +
-
+ + ### You can request for a billing key through the KG INICIS payment window. - -#### **You can use i'mport REST API to request billing key, request payment, and schedule payment.** + - To open non-authenticated payment window, specify the **customer\_uid** parameter. + - After getting a billing key from the window, you can request payment using the billing key. + - **`amount`** parameter is for display purpose only. Actual payment approval is not processed. -### Request one-time payment + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "html5_inicis", + pay_method: "card", // only 'card' supported. + merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 + name: "Initial billing key request", + amount: 0, // For display purpose only (no payment approval). + customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) + buyer_email: "johndoe@gmail.com", + buyer_name: "John Doe", + buyer_tel: "02-1234-1234", + m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) + }, + function (rsp) { + if (rsp.success) { + alert("Success"); + } else { + alert("Failed"); + } + }, + ); + ``` -To request a one-time payment, use the key-in REST[ **API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). The card information is not saved during this process. + ### Key parameter description -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + **`pg`** **\*** **string** -### + **PG code** -### Request billing key + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`html5_inicis`**. -To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer_uid}**](../../api/billing-key-api/api-1). + > If you have multiple merchant IDs (each for general and subscription) issued by KG INCIS, set to `html5_inicis.{Merchant ID}` or `inicis.{Merchant ID}`(for ActiveX). -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ - https://api.iamport.kr/subscribe/customers/your-customer-unique-id -``` + **`customer_uid`** **\*** **string** -### Request billing key + initial payment + **Credit card billing key** -To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + Billing key to be mapped 1:1 with the user-entered credit card information. -- **`customer_uid`** : required for saving the billing key. + **`amount`** **\*** **Integer** -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + **Payment amount** -### Request payment with billing key + Amount to display in the payment window, but actual payment approval is not processed. + (To request payment, use the **REST API with the customer\_uid**.) -After successfully getting the billing key and making the initial payment, the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) with the `customer_uid` as follows: + ### Request payment with billing key (customer\_uid) -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 + with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the [**non-authenticated payment request REST API**](../../api/api/api) + with the `customer_uid` as follows: -**For detailed information, refer to:** + ```sh title="sever-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` + - + + **You can use i'mport REST API to request billing key, request payment, and schedule payment.** - -
+ ### Request one-time payment -### 3. Additional functions + To request a one-time payment, use the key-in [**REST API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + The card information is not saved during this process. - - + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -```javascript title="javascript" -display: { - card_quota: [6]; // Display up to 6 months installment plans -} -``` + ### Request billing key -**Parameters** + To request a billing key, use the billing key request [**REST API POST /subscribe/customers/\{customer\_uid}**](../../api/billing-key-api/api-1). -- **card_quota :** - - `[]`: Only immediate pay - - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans\ + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ + https://api.iamport.kr/subscribe/customers/your-customer-unique-id + ``` - -Installment plan option is available only for **KRW 50,000 or more**. + ### Request billing key + initial payment - + To request a billing key and initial payment, use the key-in [**REST API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). - + - **`customer_uid`** : required for saving the billing key. - + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` - + ### Request payment with billing key -```javascript title="javascript" -card: { - direct: { - code: "367", - quota: 3 - } -} -``` + After successfully getting the billing key and making the initial payment, + the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling the repeat pay + REST API ([**POST /subscribe/payments/again**](../../api/api/api)) with the `customer_uid` as follows: -**Parameters** + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` -- **code**: [ **Credit card code** ](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) -- **quota**: Installment plan. For immediate, set to 0. (**integer**) + **For detailed information, refer to:** - + + + - +## 3. Additional functions - + + + ```json title="javascript" + { + "display": { + "card_quota": [6] // Display up to 6 months installment plans + } + } + ``` + + **Parameters** + + - **card\_quota :** + - `[]`: Only immediate pay + - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans\\ + + + Installment plan option is available only for **KRW 50,000 or more**. + + + + + + + ```json title="javascript" + { + "card": { + "direct": { + "code": "367", + "quota": 3 + } + } + } + ``` -```javascript title="javascript" -card: { - detail: [ - { card_code: "*", enabled: false }, // Disable all credit cards - { card_code: "366", enabled: true }, // Enable specific credit card - ]; -} -``` + **Parameters** -**Parameters** + - **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) + - **quota**: Installment plan. For immediate, set to 0. (**integer**) + + + + + + ```json title="javascript" + { + "card": { + "detail": [ + { "card_code": "*", "enabled": false }, // Disable all credit cards + { "card_code": "366", "enabled": true }, // Enable specific credit card + ] + } + } + ``` -- **card_code:** [ **Credit card code** ](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) -- **enabled:** Option to enable the credit card (**boolean**) + **Parameters** - + - **card\_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) + - **enabled:** Option to enable the credit card (**boolean**) + diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/jtnet.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/jtnet.mdx index b00d17780..2bf0cb160 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/jtnet.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/jtnet.mdx @@ -6,231 +6,233 @@ description: JTNet payment window integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import ContentRef from "~/components/gitbook/ContentRef.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure JTNet settings +## 1. Configure JTNet settings Refer to the [**JTNET settings**](../../ready/2.-pg/payment-gateway-settings/jtnet) page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "jtnet", - pay_method: "card", - merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 - name: "Order name: Test payment request", - amount: 14000, - buyer_email: "iamport@siot.do", - buyer_name: "John Doe", - buyer_tel: "010-1234-5678", - buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", - buyer_postcode: "123-456", - m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile - }, - function (rsp) { - // callback logic - //* ...Omitted... *// - } -); -``` - -#### - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "jtnet", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**PG code** + ### Key parameter description -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`jtnet`**. + **`pg`** **\*** **string** -**`pay_method`** **\***\*\* ****s****tring\*\* + **PG code** -**Payment method code** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`jtnet`**. -
-

Payment method codes

+ **`pay_method`** **\*** **string** -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `phone`(mobile micropayment) + **Payment method code** -
+
+

Payment method codes

-**`merchant_uid`** **\***\*\* ****s****tring\*\* + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `phone`(mobile micropayment) +
-**Order ID** + **`merchant_uid`** **\*** **string** -Must be unique for each request. + **Order ID** -**`amount`** **\***\*\* ****integer\*\* + Must be unique for each request. -**Payment amount** + **`amount`** **\*** **integer** -Must be an integer (not string) + **Payment amount** - + Must be an integer (not string) -
+ +
- -To open non-authenticated payment window, specify the **customer\_uid** parameter. + + To open non-authenticated payment window, specify the **customer\_uid** parameter. - -#### **amount** + + #### **amount** -- If requesting **both billing key and initial payment**, specify the payment amount. -- If only requesting for billing key, set to **0**. + - If requesting **both billing key and initial payment**, specify the payment amount. + - If only requesting for billing key, set to **0**. + - + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "jtnet", + pay_method: "card", // only 'card' supported. + merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 + name: "Initial billing key request", + amount: 0, // For display purpose only (no payment approval). + customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) + buyer_email: "johndoe@gmail.com", + buyer_name: "John Doe", + buyer_tel: "02-1234-1234", + m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) + }, + function (rsp) { + if (rsp.success) { + alert("Success"); + } else { + alert("Failed"); + } + }, + ); + ``` -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "jtnet", - pay_method: "card", // only 'card' supported. - merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 - name: "Initial billing key request", - amount: 0, // For display purpose only (no payment approval). - customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) - buyer_email: "johndoe@gmail.com", - buyer_name: "John Doe", - buyer_tel: "02-1234-1234", - m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) - }, - function (rsp) { - if (rsp.success) { - alert("Success"); - } else { - alert("Failed"); - } - } -); -``` - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* - -**PG code** + ### Key parameter description -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`jtnet`**. + **`pg`** **\*** **string** -> + **PG code** -**`customer_uid`** **\***\*\* ****string\*\* + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`jtnet`**. -**Credit card billing key** + > -Billing key to be mapped 1:1 with the user-entered credit card information. + **`customer_uid`** **\*** **string** -**`amount`** **\***\*\* ****Integer\*\* + **Credit card billing key** -**Payment amount** + Billing key to be mapped 1:1 with the user-entered credit card information. -0: only billing key, **> 0: billing key + initial payment**\ + **`amount`** **\*** **Integer** -### Request payment with billing key (customer_uid) + **Payment amount** -After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the [**non-authenticated payment request REST API**](../../api/api/api) with the `customer_uid` as follows: + 0: only billing key, **> 0: billing key + initial payment**\\ -```title="sever-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + ### Request payment with billing key (customer\_uid) - + After successfully getting the billing key, the billing key is **stored on the i'mport server** + mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the [**non-authenticated payment request REST API**](../../api/api/api) + with the `customer_uid` as follows: - -#### **You can use i'mport REST API to request billing key, request payment, and schedule payment.** + ```sh title="sever-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` + -### Request one-time payment + + **You can use i'mport REST API to request billing key, request payment, and schedule payment.** -To request a one-time payment, use the key-in REST[ **API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). The card information is not saved during this process. + ### Request one-time payment -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + To request a one-time payment, use the key-in [**REST API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). The card information is not saved during this process. -### + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -### Request billing key + ### Request billing key -To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer_uid}**](../../api/billing-key-api/api-1). + To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer\_uid}**](../../api/billing-key-api/api-1). -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ - https://api.iamport.kr/subscribe/customers/your-customer-unique-id -``` + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ + https://api.iamport.kr/subscribe/customers/your-customer-unique-id + ``` -### Request billing key + initial payment + ### Request billing key + initial payment -To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). -- **`customer_uid`** : required for saving the billing key. + - **`customer_uid`** : required for saving the billing key. -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -### Request payment with billing key + ### Request payment with billing key -After successfully getting the billing key and making the initial payment, the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) with the `customer_uid` as follows: + After successfully getting the billing key and making the initial payment, + the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) + with the `customer_uid` as follows: -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` -**For detailed information, refer to:** + **For detailed information, refer to:** - - - + +
-### 3. Additional functions +## 3. Additional functions - -```javascript title="javascript" -card : { - detail : [ - {card_code:"*", enabled:false}, // Disable all credit cards - {card_code:'366', enabled:true} // Enable specific credit card - ] -} -``` - -**Parameters** - -- **card_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** -- **enabled:** Option to enable the credit card (**boolean)** - - + + ```json title="javascript" + { + "card": { + "detail": [ + { "card_code": "*", "enabled": false }, // Disable all credit cards + { "card_code": "366", "enabled": true }, // Enable specific credit card + ] + } + } + ``` + + **Parameters** + + - **card\_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** + - **enabled:** Option to enable the credit card (**boolean)** + diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/kg-mobilians.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/kg-mobilians.mdx index a37496b30..9aac1b71d 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/kg-mobilians.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/kg-mobilians.mdx @@ -5,161 +5,168 @@ description: KG Mobilians payment window integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure KG Mobilians PG Settings +## 1. Configure KG Mobilians PG Settings Refer to the [**KG Mobilians settings**](../../ready/2.-pg/payment-gateway-settings/kg) page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'mobilians', - pay_method : 'phone', - merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001 - name : 'Order name: Test payment request', - amount : 14000, - buyer_email : 'iamport@siot.do', - buyer_name : 'John Doe', - buyer_tel : '010-1234-5678', //required - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - m_redirect_url : '{Mobile only - URL to redirect to after payment approval}' // Example: https://www.my-service.com/payments/complete/mobile -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -### - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* - -**PG code** - -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`mobilians`**. + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "mobilians", + pay_method: "phone", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", //required + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**`pay_method`** **\***\*\* ****s****tring\*\* + ### Key parameter description -**Payment method code** + **`pg`** **\*** **string** -
-

Payment method codes

+ **PG code** -- `card` (credit card) -- `trans`(instant account transfer) -- `phone`(mobile micropayment) + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`mobilians`**. -
+ **`pay_method`** **\*** **string** -**`merchant_uid`** **\***\*\* ****s****tring\*\* + **Payment method code** -**Order ID** +
+

Payment method codes

-Must be unique for each request. + - `card` (credit card) + - `trans`(instant account transfer) + - `phone`(mobile micropayment) +
-**`buyer_tel`****`*`****`string`** + **`merchant_uid`** **\*** **string** -**Customer phone number** + **Order ID** -Required + Must be unique for each request. -**`amount`** **\***\*\* ****integer\*\* + **`buyer_tel`****`*`** **`string`** -**Payment amount** + **Customer phone number** -Must be an integer (not string) + Required - + **`amount`** **\*** **integer** -
+ **Payment amount** - -To open non-authenticated payment window, specify the **customer\_uid** parameter. After getting a billing key from this window, you can request payment using the billing key. + Must be an integer (not string) -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "mobilians", - pay_method: "phone", - merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 - name: "Initial billing key request", - amount: 0, // For display purpose only (no payment approval). - customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) - buyer_email: "johndoe@gmail.com", - buyer_name: "John Doe", - buyer_tel: "02-1234-1234", - m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) - }, - function (rsp) { - if (rsp.success) { - alert("Success"); - } else { - alert("Failed"); - } - } -); -``` + + -#### + + To open non-authenticated payment window, specify the **customer\_uid** parameter. + After getting a billing key from this window, you can request payment using the billing key. - -- To request non-authenticated payment, you must set the **MID info issued by KG Mobilians** in the Admin console. -- KG Mobilians **does not process the payment** when issuing the billing key even if you specify an amount. -- Subsequent payments using the billing key must be for the **same amount and on the same day** as the initial payment on monthly basis. + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "mobilians", + pay_method: "phone", + merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 + name: "Initial billing key request", + amount: 0, // For display purpose only (no payment approval). + customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) + buyer_email: "johndoe@gmail.com", + buyer_name: "John Doe", + buyer_tel: "02-1234-1234", + m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) + }, + function (rsp) { + if (rsp.success) { + alert("Success"); + } else { + alert("Failed"); + } + }, + ); + ``` - + + - To request non-authenticated payment, you must set the **MID info issued by KG Mobilians** in the Admin console. -### Key parameter description + - KG Mobilians **does not process the payment** + when issuing the billing key even if you specify an amount. -**`pg`** **\***\*\* ****s****tring\*\* + - Subsequent payments using the billing key must be for + the **same amount and on the same day** + as the initial payment on monthly basis. + -**PG code** + ### Key parameter description -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`mobilians.[MID]`**. + **`pg`** **\*** **string** -**`customer_uid`** **\***\*\* ****string\*\* + **PG code** -**Credit card billing key** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`mobilians.[MID]`**. -Billing key to be mapped 1:1 with the user-entered credit card information. + **`customer_uid`** **\*** **string** -**`amount`** **\***\*\* ****Integer\*\* + **Credit card billing key** -**Payment amount** + Billing key to be mapped 1:1 with the user-entered credit card information. -Amount to display in the payment window, but actual payment approval is not processed. (To request payment, use the **REST API with the customer_uid**.)\ + **`amount`** **\*** **Integer** -### Request payment with billing key (customer_uid) + **Payment amount** -After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the [**non-authenticated payment request REST API**](../../api/api/api) with the `customer_uid` as follows: + Amount to display in the payment window, but actual payment approval is not processed. + (To request payment, use the **REST API with the customer\_uid**.)\\ -```title="sever-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + ### Request payment with billing key (customer\_uid) - + After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling the + [**non-authenticated payment request REST API**](../../api/api/api) + with the `customer_uid` as follows: - -#### **Not supported.** + ```sh title="sever-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` + -
+ + #### **Not supported.** +
diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/kicc.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/kicc.mdx index 1ad8bf70a..838b3ef6b 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/kicc.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/kicc.mdx @@ -5,265 +5,270 @@ description: KICC payment window integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure KICC PG settings +## 1. Configure KICC PG settings Refer to the [**KICC settings**](../../ready/2.-pg/payment-gateway-settings/kicc) page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url** . +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url** . - - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "kicc", - pay_method: "card", - merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 - name: "Order name: Test payment request", - amount: 14000, - buyer_email: "iamport@siot.do", - buyer_name: "John Doe", - buyer_tel: "010-1234-5678", - buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", - buyer_postcode: "123-456", - m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile - }, - function (rsp) { - // callback logic - //* ...Omitted... *// - } -); -``` - -### - -### Key parameter description - -**`pg`** **\*** **s** **tring** - -**PG code** - -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`kicc`**. + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "kicc", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**`pay_method`** **\*** **s** **tring** + ### Key parameter description -**Payment method code** + **`pg`** **\*** **string** -
-

Payment method codes

+ **PG code** -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `phone`(mobile micropayment) + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`kicc`**. -
+ **`pay_method`** **\*** **string** -**`merchant_uid`** **\*** **s** **tring** + **Payment method code** -**Order ID** +
+

Payment method codes

-Must be unique for each request. + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `phone`(mobile micropayment) +
-**`buyer_tel`** **`*`** **`string`** + **`merchant_uid`** **\*** **string** -**Customer phone number** + **Order ID** -**`amount`** **\*** **integer** + Must be unique for each request. -**Payment amount** + **`buyer_tel`** **`*`** **`string`** -Must be an integer (not string) + **Customer phone number** -**`escrow`** **`boolean`** + **`amount`** **\*** **integer** -**Escrow option** + **Payment amount** -Only supports account transfer and virtual account payment. + Must be an integer (not string) - -
+ **`escrow`** **`boolean`** - -To open non-authenticated payment window, specify the **customer\_uid** parameter. After getting a billing key from this window, you can request payment using the billing key. + **Escrow option** -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "kicc", - pay_method: "card", // only 'card' supported. - merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 - name: "Initial billing key request", - amount: 0, // For display purpose only (no payment approval). - customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) - buyer_email: "johndoe@gmail.com", - buyer_name: "John Doe", - buyer_tel: "02-1234-1234", - m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) - }, - function (rsp) { - if (rsp.success) { - alert("Success"); - } else { - alert("Failed"); - } - } -); -``` + Only supports account transfer and virtual account payment. -#### + + - -- To request non-authenticated payment, you must set the **MID info issued by KICC** in the Admin console. -- KICC **does not process the payment** when issuing the billing key even if you specify an amount. + + To open non-authenticated payment window, specify the **customer\_uid** parameter. After getting a billing key from this window, you can request payment using the billing key. - + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "kicc", + pay_method: "card", // only 'card' supported. + merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 + name: "Initial billing key request", + amount: 0, // For display purpose only (no payment approval). + customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) + buyer_email: "johndoe@gmail.com", + buyer_name: "John Doe", + buyer_tel: "02-1234-1234", + m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) + }, + function (rsp) { + if (rsp.success) { + alert("Success"); + } else { + alert("Failed"); + } + }, + ); + ``` -### Key parameter description + #### -**`pg`** **\*** \*\* ** **s** **tring\*\* + + - To request non-authenticated payment, you must set the **MID info issued by KICC** in the Admin console. + - KICC **does not process the payment** when issuing the billing key even if you specify an amount. + -**PG code** + ### Key parameter description -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`kicc.[billing MID]`**. + **`pg`** **\*** **string** -**`customer_uid`** **\*** **string** + **PG code** -**Credit card billing key** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`kicc.[billing MID]`**. -Billing key to be mapped 1:1 with the user-entered credit card information. + **`customer_uid`** **\*** **string** -**`amount`** **\*** **Integer** + **Credit card billing key** -**Payment amount** + Billing key to be mapped 1:1 with the user-entered credit card information. -Amount to display in the payment window, but actual payment approval is not processed. (To request payment, use the **REST API with the customer_uid**.)\ + **`amount`** **\*** **Integer** -### Request payment with billing key (customer_uid) + **Payment amount** -After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the [**non-authenticated payment request REST API**](../../api/api/api) with the `customer_uid` as follows: + Amount to display in the payment window, but actual payment approval is not processed. (To request payment, use the **REST API with the customer\_uid**.)\\ -```title="sever-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + ### Request payment with billing key (customer\_uid) -
+ After successfully getting the billing key, the billing key is **stored on the i'mport server** + mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the [**non-authenticated payment request REST API**](../../api/api/api) + with the `customer_uid` as follows: - -#### **Not supported.** + ```sh title="sever-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` + - + + #### **Not supported.** +
### 3. Additional functions - -KICC supports escrow payments only for **cash payment methods** (instant account transfer or virtual bank account). - -> To enable escrow payment, first set the following parameters and then configure additional parameters below. -> -> - **escrow : true** - -### Additional parameters - -When making an escrow payment, you must enter the following required parameters: - -- `buyer_name` : Customer name -- `buyer_email` : Customer email -- `buyer_tel` : Customer phone number -- `kiccProducts` : An array of objects consisting of the following 4 required properties. The `amount` value has no relation to the payment amount (`param.amount`) value and is not used for comparison. - - `orderNumber` : Product order number - - `name` : Product name - - `quantity` : Quantity - - `amount` : Product price - -```javascript title="JavaScript SDK" -IMP.request_pay({ - ... - escrow : true, // Required for escrow payment - kiccProducts : [ - { - "orderNumber" : "xxxx", - "name" : "Product A", - "quantity" : 3, - "amount" : 1000 - }, - { - "orderNumber" : "yyyy", - "name" : "Product B", - "quantity" : 2, - "amount" : 3000 - } - ] - ... -}, function(rsp) { // callback logic - //* ...Omitted ... *// -}); -``` - - - - -```javascript title="javascript" -card: { - direct: { - code: "367", - quota: 3 + + KICC supports escrow payments only for **cash payment methods** (instant account transfer or virtual bank account). + + > To enable escrow payment, first set the following parameters and then configure additional parameters below. + > + > - **escrow : true** + + ### Additional parameters + + When making an escrow payment, you must enter the following required parameters: + + - `buyer_name` : Customer name + + - `buyer_email` : Customer email + + - `buyer_tel` : Customer phone number + + - `kiccProducts` : An array of objects consisting of the following 4 required properties. The `amount` value has no relation to the payment amount (`param.amount`) value and is not used for comparison. + - `orderNumber` : Product order number + - `name` : Product name + - `quantity` : Quantity + - `amount` : Product price + + ```ts title="JavaScript SDK" + IMP.request_pay( + { + escrow: true, // Required for escrow payment + kiccProducts: [ + { + orderNumber: "xxxx", + name: "Product A", + quantity: 3, + amount: 1000, + }, + { + orderNumber: "yyyy", + name: "Product B", + quantity: 2, + amount: 3000, + }, + ], + }, + function (rsp) { + // callback logic + //* ...Omitted ... *// + }, + ); + ``` + + + + ```json title="javascript" + { + "card": { + "direct": { + "code": "367", + "quota": 3 + } + } } -} -``` - -**Parameters** - -- **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) -- **quota**: Installment plan. For immediate, set to 0. (**integer**) - - -**Precautions** - -- Some PGs do not support direct call to credit card company's payment windows for all Merchant IDs. You must check your Merchant ID with each PG for direct call support. - - - - - - -```javascript title="javascript" -card : { - detail : [ - {card_code:"*", enabled:false}, // Disable all credit cards - {card_code:'366', enabled:true} // Enable specific credit card - ] -} -``` - -**Parameters** + ``` + + **Parameters** + + - **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) + - **quota**: Installment plan. For immediate, set to 0. (**integer**) + + + **Precautions** + + - Some PGs do not support direct call to credit card company's payment windows for all Merchant IDs. + You must check your Merchant ID with each PG for direct call support. + + + + + ```json title="javascript" + { + "card": { + "detail": [ + { "card_code": "*", "enabled": false }, // Disable all credit cards + { "card_code": "366", "enabled": true }, // Enable specific credit card + ] + } + } + ``` -- **card_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** -- **enabled:** Option to enable the credit card (**boolean)** + **Parameters** - + - **card\_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** + - **enabled:** Option to enable the credit card (**boolean)** -**Example of enabling only ****Shinhan Card**** payment -window**" /> + - + **Example of enabling only ****Shinhan Card**** payment + window** + diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/nhh-kcp.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/nhh-kcp.mdx index 0c50197fb..6ea521495 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/nhh-kcp.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/nhh-kcp.mdx @@ -6,486 +6,519 @@ description: NHN KCP payment window integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import ContentRef from "~/components/gitbook/ContentRef.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure NHH KCP PG settings +## 1. Configure NHH KCP PG settings -Refer to the [**NHN KCP settings**](../../ready/2.-pg/payment-gateway-settings/nhn-kcp) page to configure the PG settings. +Refer to the [**NHN KCP settings**](../../ready/2.-pg/payment-gateway-settings/nhn-kcp) page +to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment -To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'kcp', - pay_method : 'card', - merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001 - name : 'Order name: Test payment request', - amount : 14000, - buyer_email : 'iamport@siot.do', - buyer_name : 'John Doe', - buyer_tel : '010-1234-5678', - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - language : 'ko', // default: ko (Korean) - m_redirect_url : '{Mobile only - URL to redirect to after payment approval}' // Example: https://www.my-service.com/payments/complete/mobile -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -#### - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* - -**PG code** - -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to `kcp`. - -**`pay_method`** **\***\*\* ****s****tring\*\* - -**Payment method code** - -
-

Payment method codes

- -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `phone`(mobile micropayment) -- `samsung`(Samsung Pay) -- `kakaopay`(Kakao Pay) -- `payco` ( PAYCO hub-type) -- `lpay` (LPAY hub-type) -- `naverpay` (Naver Pay) -- `cultureland`(Cultureland) -- `smartculture`(Smart Culture) -- `happymoney`(Happy Money) -- `booknlife`(Book culture gift certificate) -- `point`(Benepia) - -
- -**`merchant_uid`** **\***\*\* ****s****tring\*\* - -**Order ID** - -Must be unique for each request. - -**`amount`** **\***\*\* ****integer\*\* - -**Payment amount** - -Must be an integer (not string). - - -**For Payco hub-type**, you must apply through KCP Admin page and configure the settings. - -How to apply: [https://sir.kr/main/service/p_payco_hub.php](https://sir.kr/main/service/p_payco_hub.php) - - - - -
- - -To open non-authenticated payment window, specify the **customer\_uid** parameter. After getting a billing key from this window, you can request payment using the billing key. - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "kcp_billing", - pay_method: "card", // only 'card' supported. - merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 - name: "Initial billing key request", - amount: 0, // For display purpose only (no payment approval). - customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) - buyer_email: "johndoe@gmail.com", - buyer_name: "John Doe", - buyer_tel: "02-1234-1234", - m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) - }, - function (rsp) { - if (rsp.success) { - alert("Success"); - } else { - alert("Failed"); - } - } -); -``` - - -* To request non-authenticated payment, you must set the **site code issued by KCP** in the Admin console. -* KCP **does not process the payment** when issuing the billing key even if you specify an amount. - - + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "kcp", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + language: "ko", // default: ko (Korean) + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` + + ### Key parameter description + + **`pg`** **\*** **string** + + **PG code** + + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to `kcp`. + + **`pay_method`** **\*** **string** + + **Payment method code** + +
+

Payment method codes

+ + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `phone`(mobile micropayment) + - `samsung`(Samsung Pay) + - `kakaopay`(Kakao Pay) + - `payco` ( PAYCO hub-type) + - `lpay` (LPAY hub-type) + - `naverpay` (Naver Pay) + - `cultureland`(Cultureland) + - `smartculture`(Smart Culture) + - `happymoney`(Happy Money) + - `booknlife`(Book culture gift certificate) + - `point`(Benepia) +
+ + **`merchant_uid`** **\*** **string** + + **Order ID** + + Must be unique for each request. + + **`amount`** **\*** **integer** + + **Payment amount** + + Must be an integer (not string). + + + **For Payco hub-type**, you must apply through KCP Admin page and configure the settings. + + How to apply: [https://sir.kr/main/service/p\_payco\_hub.php](https://sir.kr/main/service/p_payco_hub.php) + + + +
+ + + To open non-authenticated payment window, specify the **customer\_uid** parameter. + After getting a billing key from this window, you can request payment using the billing key. -### Key parameter description + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "kcp_billing", + pay_method: "card", // only 'card' supported. + merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 + name: "Initial billing key request", + amount: 0, // For display purpose only (no payment approval). + customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) + buyer_email: "johndoe@gmail.com", + buyer_name: "John Doe", + buyer_tel: "02-1234-1234", + m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) + }, + function (rsp) { + if (rsp.success) { + alert("Success"); + } else { + alert("Failed"); + } + }, + ); + ``` -**`pg`** **\***\*\* ****s****tring\*\* + + - To request non-authenticated payment, you must set the **site code issued by KCP** in the Admin console. -**PG code** + - KCP **does not process the payment** + when issuing the billing key even if you specify an amount. + -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to `kcp_billing`. + ### Key parameter description -**`customer_uid`** **\***\*\* ****string\*\* + **`pg`** **\*** **string** -**Credit card billing key** + **PG code** -Billing key to be mapped 1:1 with the user-entered credit card information. + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to `kcp_billing`. -**`amount`** **\***\*\* ****Integer\*\* + **`customer_uid`** **\*** **string** -**Payment amount** + **Credit card billing key** -Amount to display in the payment window, but actual payment approval is not processed. (To request payment, use the **REST API with the customer_uid**.)\ + Billing key to be mapped 1:1 with the user-entered credit card information. -### Request payment with billing key (customer_uid) + **`amount`** **\*** **Integer** -After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the [**non-authenticated payment request REST API**](../../api/api/api) with the `customer_uid` as follows: + **Payment amount** -```title="sever-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + Amount to display in the payment window, but actual payment approval is not processed. + (To request payment, use the **REST API with the customer\_uid**.)\\ - + ### Request payment with billing key (customer\_uid) - -#### **You can use i'mport REST API to request billing key, request payment, and schedule payment.** + After successfully getting the billing key, the billing key is **stored on the i'mport server** + mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the [**non-authenticated payment request REST API**](../../api/api/api) + with the `customer_uid` as follows: -### Request one-time payment + ```sh title="sever-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` + -To request a one-time payment, use the key-in REST[ **API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). The card information is not saved during this process. + + **You can use i'mport REST API to request billing key, request payment, and schedule payment.** -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + ### Request one-time payment -### + To request a one-time payment, use the key-in [**REST API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + The card information is not saved during this process. -### Request billing key + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer_uid}**](../../api/billing-key-api/api-1). + ### Request billing key -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ - https://api.iamport.kr/subscribe/customers/your-customer-unique-id -``` + To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer\_uid}**](../../api/billing-key-api/api-1). -### Request billing key + initial payment + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ + https://api.iamport.kr/subscribe/customers/your-customer-unique-id + ``` -To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + ### Request billing key + initial payment -- **`customer_uid`** : required for saving the billing key. + To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + - **`customer_uid`** : required for saving the billing key. -### Request payment with billing key + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -After successfully getting the billing key and making the initial payment, the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) with the `customer_uid` as follows: + ### Request payment with billing key -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + After successfully getting the billing key and making the initial payment, + the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) + with the `customer_uid` as follows: -**For detailed information, refer to:** + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` - + **For detailed information, refer to:** - + +
-### 3. Additional functions +## 3. Additional functions - -```javascript title="javascript" -display: { - card_quota: [6] // Display up to 6 months installment plans -} -``` - -**Parameters** - -- **card_quota :** - - `[]`: Only immediate pay - - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans\ - - -Installment plan option is available only for **KRW 50,000 or more**. - - - - -Example of allowing up to **3 months**** -installment plans**" /> - - - - -```javascript title="javascript" -card: { - direct: { - code: "367", - quota: 3 - // When want to use points of credit card - // quota: 80 = 80(Hyundai Card Point installment) + 0(pay all at once) - // quota: 93 = 80(Hyundai Card Point installment) + 13(number of installments) - // quota: 60 = 60(Other Card Point installment) + 0(pay all at once) - // quota: 63 = 60(Other Card Point installment) + 3(number of installments) + + ```json title="javascript" + { + "display": { + "card_quota": [6] // Display up to 6 months installment plans + } } -} -``` - -**Parameters** - -- **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) -- **quota**: Installment plan. For immediate, set to 0. If you want to use points of credit card, you need to add the point installment per credit card[1] to number of installments (**integer**) -
- [1] point installment per credit card - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Point of Credit Card

-
-

Point Installment

-
-

Hyundai M

-
-

+80

-
-

Kookmin

-
-

+60

-
-

BC

-
-

+60

-
-

Samsung

-
-

+60

-
-

Hana/KEB

-
-

+60

-
-

Lotte

-
-

+60

-
-

Shinhan

-
-

+60

-
-

NongHyup

-
-

+60

-
-

Citi

-
-

+60

-
-

Woori

-
-

+60

-
-
- - -**Precautions** - -- Currently, direct call to the credit card company's payment window is only supported by 6 PGs: **KG Inicis, KCP, Toss Payments, Nice Payments, KICC, and Danal**. -- Some PGs do not support direct call to credit card company's payment windows for all Merchant IDs. You must check your Merchant ID with each PG for direct call support. - - - - - -
- - -```javascript title="javascript" -card : { - detail : [ - {card_code:"*", enabled:false}, // Disable all credit cards - {card_code:'366', enabled:true} // Enable specific credit card - ] -} -``` - -**Parameters** - -- **card_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** -- **enabled:** Option to enable the credit card (**boolean)** - - - - - - -Set the following parameter to only expose app cards for authenticated payments. - -```javascript title="request_pay()" -... -appCard : true . // Set to true to only expose app cards. -... -``` - - -
+ ``` -### 4. Additional parameters + **Parameters** - - -To use the **gift certificate payment method**, set the merchant assigned user ID as follows: - -```javascript title="javascript SDK " -bypass : { - shop_user_id : ‘ABCD123’ // Merchant user ID (20 bytes) -} -``` - - -**This parameter is required for gift certificate providers' RM action.** - - - -**Example of paying with Cultureland gift certificate** - -```javascript -MP.request_pay({ - pg : 'kcp.{Site code for gift certificate use}', - pay_method : 'cultureland', //Gift certificate - merchant_uid: "A00021-TEST", - name : 'Carrots 10kg', - amount : 1004, - buyer_email : 'iamport@chai.finance', - buyer_name : 'iamport tech support', - buyer_tel : '010-1234-5678', - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - bypass : { - shop_user_id : 'abaddd' // Merchant user ID - } -} -``` + - **card\_quota :** + - `[]`: Only immediate pay + - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans\\ - + + Installment plan option is available only for **KRW 50,000 or more**. + - -For escrow payment, set the **`escrow`** parameter to **true**. To bundle products in the shopping cart when making an escrow payment request, pass the item-related information as an additional parameter (**`kcpProducts`**). + -**`kcpProducts`** is an object array consisting of the following four required properties: + Example of allowing up to **3 months** + **installment plans** + -**`amount`** is not related or compared with the payment amount (`param.amount`). + + ```json title="javascript" + { + "card": { + "direct": { + "code": "367", + "quota": 3 + // When want to use points of credit card + // quota: 80 = 80(Hyundai Card Point installment) + 0(pay all at once) + // quota: 93 = 80(Hyundai Card Point installment) + 13(number of installments) + // quota: 60 = 60(Other Card Point installment) + 0(pay all at once) + // quota: 63 = 60(Other Card Point installment) + 3(number of installments) + } + } + } + ``` + + **Parameters** + + - **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) + + - **quota**: Installment plan. For immediate, set to 0. If you want to use points of credit card, you need to add the point installment per credit card\[1] to number of installments (**integer**) + +
+ \[1] point installment per credit card + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Point of Credit Card

+
+

Point Installment

+
+

Hyundai M

+
+

+80

+
+

Kookmin

+
+

+60

+
+

BC

+
+

+60

+
+

Samsung

+
+

+60

+
+

Hana/KEB

+
+

+60

+
+

Lotte

+
+

+60

+
+

Shinhan

+
+

+60

+
+

NongHyup

+
+

+60

+
+

Citi

+
+

+60

+
+

Woori

+
+

+60

+
+
+ + + **Precautions** + + - Currently, direct call to the credit card company's payment window is only supported by 6 PGs: + **KG Inicis, KCP, Toss Payments, Nice Payments, KICC, and Danal**. + + - Some PGs do not support direct call to credit card company's payment windows for all Merchant IDs. + You must check your Merchant ID with each PG for direct call support. + + + +
+ + + ```json title="javascript" + { + "card": { + "detail": [ + { "card_code": "*", "enabled": false }, // Disable all credit cards + { "card_code": "366", "enabled": true }, // Enable specific credit card + ] + } + } + ``` + + **Parameters** -- orderNumber : Order ID -- name : Product name -- quantity : Product quantity -- amount : Product price + - **card\_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** + - **enabled:** Option to enable the credit card (**boolean)** -```javascript title="JavaScript SDK" -IMP.request_pay({ - pg: "kcp", - escrow: true, // For escrow payment - kcpProducts: [ + + + + + Set the following parameter to only expose app cards for authenticated payments. + + ```json title="request_pay()" { - orderNumber: "xxxx", - name: "Product A", - quantity: 3, - amount: 1000, - }, + "appCard": true // Set to true to only expose app cards. + } + ``` + +
+ +## 4. Additional parameters + + + + To use the **gift certificate payment method**, set the merchant assigned user ID as follows: + + ```json title="javascript SDK" { - orderNumber: "yyyy", - name: "Product B", - quantity: 2, - amount: 3000, - }, - ], - //* ...Omitted... *// -}); -``` - - + "bypass": { + "shop_user_id": "ABCD123" // Merchant user ID (20 bytes) + } + } + ``` + + + **This parameter is required for gift certificate providers' RM action.** + + + **Example of paying with Cultureland gift certificate** + + ```ts + IMP.request_pay({ + pg: "kcp.{Site code for gift certificate use}", + pay_method: "cultureland", //Gift certificate + merchant_uid: "A00021-TEST", + name: "Carrots 10kg", + amount: 1004, + buyer_email: "iamport@chai.finance", + buyer_name: "iamport tech support", + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + bypass: { + shop_user_id: "abaddd", // Merchant user ID + }, + }); + ``` + + + + For escrow payment, set the **`escrow`** parameter to **true**. + To bundle products in the shopping cart when making an escrow payment request, + pass the item-related information as an additional parameter (**`kcpProducts`**). + + **`kcpProducts`** is an object array consisting of the following four required properties: + + **`amount`** is not related or compared with the payment amount (`param.amount`). + + - orderNumber : Order ID + - name : Product name + - quantity : Product quantity + - amount : Product price + + ```ts title="JavaScript SDK" + IMP.request_pay({ + pg: "kcp", + escrow: true, // For escrow payment + kcpProducts: [ + { + orderNumber: "xxxx", + name: "Product A", + quantity: 3, + amount: 1000, + }, + { + orderNumber: "yyyy", + name: "Product B", + quantity: 2, + amount: 3000, + }, + ], + //* ...Omitted... *// + }); + ``` + diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/nice.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/nice.mdx index 62178fb2d..a786c42e7 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/nice.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/nice.mdx @@ -5,243 +5,228 @@ description: NICE Payments payment window integration guideNICE import Codepen from "~/components/gitbook/Codepen.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure NICE Payments PG settings +## 1. Configure NICE Payments PG settings -Refer to the [**NICE Payments settings**](../../ready/2.-pg/payment-gateway-settings/nice-payments) page to configure the PG settings. +Refer to the [**NICE Payments settings**](../../ready/2.-pg/payment-gateway-settings/nice-payments) +page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment -To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url** . +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url** . - - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "nice", - pay_method: "card", - merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 - name: "Order name: Test payment request", - amount: 14000, - buyer_email: "iamport@siot.do", - buyer_name: "John Doe", - buyer_tel: "010-1234-5678", - buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", - buyer_postcode: "123-456", - m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile - niceMobileV2: true, // Set to 'true' to enable new mobile version - }, - function (rsp) { - // callback logic - //* ...Omitted... *// - } -); -``` - -#### - -### Key parameter description + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "nice", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + niceMobileV2: true, // Set to 'true' to enable new mobile version + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**`pg`** **\*** **s** **tring** + ### Key parameter description -**PG code** + **`pg`** **\*** **string** -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`nice`**. + **PG code** -**`pay_method`** **\*** **s** **tring** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`nice`**. -**Payment method code** + **`pay_method`** **\*** **string** -
-

Payment method codes

+ **Payment method code** -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `samsung`(Samsung Pay) -- `phone`(mobile micropayment) -- `kakaopay`(Kakao Pay) -- `payco` ( PAYCO hub-type) -- `naverpay` (Naver Pay) +
+

Payment method codes

-
+ - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `samsung`(Samsung Pay) + - `phone`(mobile micropayment) + - `kakaopay`(Kakao Pay) + - `payco` ( PAYCO hub-type) + - `naverpay` (Naver Pay) +
-**`merchant_uid`** **\*** **s** **tring** + **`merchant_uid`** **\*** **string** -**Order ID** + **Order ID** -Must be unique for each request. + Must be unique for each request. -**`amount`** **\*** **integer** + **`amount`** **\*** **integer** -**Payment amount** + **Payment amount** -Must be an integer (not string). + Must be an integer (not string). -**`niceMobileV2`** **`boolean`** + **`niceMobileV2`** **`boolean`** -Option to enable new NICE mobile version (default: false) + Option to enable new NICE mobile version (default: false) -**`escrow`** **`boolean`** + **`escrow`** **`boolean`** -**Ecrow option** + **Ecrow option** - + +
-
+ + **You can use i'mport REST API to request billing key, request payment, and schedule payment.** - -#### **You can use i'mport REST API to request billing key, request payment, and schedule payment.** + ### Request one-time payment -### Request one-time payment + To request a one-time payment, use the key-in [**REST API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + The card information is not saved during this process. -To request a one-time payment, use the key-in REST[ **API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). The card information is not saved during this process. + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + ### Request billing key -### + To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer\_uid}**](../../api/billing-key-api/api-1). -### Request billing key + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ + https://api.iamport.kr/subscribe/customers/your-customer-unique-id + ``` -To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer_uid}**](../../api/billing-key-api/api-1). + ### Request billing key + initial payment -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ - https://api.iamport.kr/subscribe/customers/your-customer-unique-id -``` + To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). -### Request billing key + initial payment + - **`customer_uid`** : required for saving the billing key. -To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -- **`customer_uid`** : required for saving the billing key. + ### Request payment with billing key -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + After successfully getting the billing key and making the initial payment, + the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) + with the `customer_uid` as follows: -### Request payment with billing key + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` -After successfully getting the billing key and making the initial payment, the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) with the `customer_uid` as follows: + + **NICE Payments supports non-authenticated payments only through the API method.** -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` - - -**NICE Payments supports non-authenticated payments only through the API method.** - -To integrate non-authenticated payments, you need to provide a UI for accepting user's card information. For more information, refer to the [**REST API**](../../auth/guide-1/bill/rest-api) page. - - - - + To integrate non-authenticated payments, you need to provide a UI for accepting user's card information. + For more information, refer to the [**REST API**](../../auth/guide-1/bill/rest-api) page. + +
-### 3. Additional functions +## 3. Additional functions - - -```javascript title="javascript" -display: { - card_quota: [6]; // Display up to 6 months installment plans -} -``` - -**Parameters** - -- **card_quota :** - - `[]`: Only immediate pay - - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans - - -Installment plan option is available only for **KRW 50,000 or more**. - - - - - - - - - -```javascript title="javascript" -card: { - direct: { - code: "367", - quota: 3 + + ```json title="javascript" + { + "display": { + "card_quota": [6] // Display up to 6 months installment plans + } } -} -``` - -**Parameters** - -- **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) -- **quota**: Installment plan. For immediate, set to 0. (**integer**) - - -**Precautions** + ``` + + **Parameters** + + - **card\_quota :** + - `[]`: Only immediate pay + - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans + + + Installment plan option is available only for **KRW 50,000 or more**. + + + + + + + ```json title="javascript" + { + "card": { + "direct": { + "code": "367", + "quota": 3 + } + } + } + ``` -- Some PGs do not support direct call to credit card company's payment windows for all Merchant IDs. You must check your Merchant ID with each PG for direct call support. + **Parameters** - + - **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) + - **quota**: Installment plan. For immediate, set to 0. (**integer**) - + + **Precautions** - + - Some PGs do not support direct call to credit card company's payment windows for all Merchant IDs. + You must check your Merchant ID with each PG for direct call support. + - -```javascript title="javascript" -card : { - detail : [ - {card_code:"*", enabled:false}, // Disable all credit cards - {card_code:'366', enabled:true} // Enable specific credit card - ] -} -``` + + -**Parameters** + + ```json title="javascript" + { + "card": { + "detail": [ + { "card_code": "*", "enabled": false }, // Disable all credit cards + { "card_code": "366", "enabled": true }, // Enable specific credit card + ] + } + } + ``` -- **card_code:** [ **Credit card code** ](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) -- **enabled:** Option to enable the credit card (**boolean**) + **Parameters** - + - **card\_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) + - **enabled:** Option to enable the credit card (**boolean**) - + + diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/paymentwall.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/paymentwall.mdx index 3163f5cce..42f92d079 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/paymentwall.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/paymentwall.mdx @@ -3,106 +3,107 @@ title: Paymentwall description: Paymentwall payment window integration guide --- -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -### 1. Configure Paymentwall PG settings +## 1. Configure Paymentwall PG settings Refer to the [**Paymentwall settings**](../../ready/2.-pg/payment-gateway-settings/undefined-1) page to configure the PG settings. ![](/gitbook-assets/en/Paymentwall_logo_dark_latest.jpeg) -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'paymentwall', - pay_method : 'card', // In Paymentwall, the payment method is activated based on the country IP. (Can be omitted) - merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001 - name : 'Order name: Test payment request', - amount : 14000, - currency : 'KRW' // required - buyer_email : 'iamport@siot.do', // required - buyer_name : 'Jack Son', // Must include a space between Firstname Lastname - buyer_tel : '010-1234-5678', - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - m_redirect_url : '{Mobile only - URL to redirect to after payment approval}', // Example: https://www.my-service.com/payments/complete/mobile - bypass: { - // Set this for Terminal 3 only, Defualt: general payment window opens - widget_code: "t3_1", - // Set to enable specific payment method, set to 'all'(default) to enable all methods supported by your country - ps : "all", - country_code:"DE" // Set this to enable all payment methods supported by the country - }, -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -### - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "paymentwall", + pay_method: "card", // In Paymentwall, the payment method is activated based on the country IP. (Can be omitted) + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + currency: "KRW", // required + buyer_email: "iamport@siot.do", // required + buyer_name: "Jack Son", // Must include a space between Firstname Lastname + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + bypass: { + // Set this for Terminal 3 only, Defualt: general payment window opens + widget_code: "t3_1", + // Set to enable specific payment method, set to 'all'(default) to enable all methods supported by your country + ps: "all", + country_code: "DE", // Set this to enable all payment methods supported by the country + }, + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**PG code** + ### Key parameter description -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`paymentwall`**. + **`pg`** **\*** **string** -**`pay_method`** **s****tring** + **PG code** -**Payment method code (Can be omitted)** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`paymentwall`**. -You can manage your payment methods by enabling Project from the [Paymentwall website](https://api.paymentwall.com/). + **`pay_method`** **string** -(Payment methods are enabled based on your country IP by default) + **Payment method code (Can be omitted)** -**`merchant_uid`** **\***\*\* ****s****tring\*\* + You can manage your payment methods by enabling Project from the [Paymentwall website](https://api.paymentwall.com/). -**Order ID** + (Payment methods are enabled based on your country IP by default) -Must be unique for each request. + **`merchant_uid`** **\*** **string** -**`amount`** **\***\*\* ****integer\*\* + **Order ID** -**Payment amount** + Must be unique for each request. -Must be an integer (not string) + **`amount`** **\*** **integer** -**`buyer_name`****`*`****`string`** + **Payment amount** -**`Customer name`** + Must be an integer (not string) -**`buyer_email`****`*`****`string`** + **`buyer_name`****`*`****`string`** -**`Customer email address`** + **`Customer name`** -**`currency`****`*`****`string`** + **`buyer_email`****`*`****`string`** -**`Currency`** + **`Customer email address`** -**`bypass`** + **`currency`****`*`****`string`** -**`Paymentwall specific parameter`** + **`Currency`** -- **`widget_code` :** Set this to **t3_1** for Terminal 3 only, Defualt: general payment window -- **`ps` :** Set to enable specific payment method. For available codes, refer to [**Payment system short codes**](https://docs.paymentwall.com/reference/payment-system-shortcodes). Example: `kakaopaykr` = Kakao Pay -- **country_code** : Payment methods are shown based on this code. ([**Country codes**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)) + **`bypass`** - + **`Paymentwall specific parameter`** - -**Preparing for service** + - **`widget_code` :** Set this to **t3\_1** for Terminal 3 only, Defualt: general payment window + - **`ps` :** Set to enable specific payment method. For available codes, refer to [**Payment system short codes**](https://docs.paymentwall.com/reference/payment-system-shortcodes). Example: `kakaopaykr` = Kakao Pay + - **country\_code** : Payment methods are shown based on this code. ([**Country codes**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)) + - + + **Preparing for service** + diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/paypal.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/paypal.mdx index f19fd008e..ae507ae79 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/paypal.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/paypal.mdx @@ -4,97 +4,96 @@ description: PayPal payment window integration guide --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure PayPal PG settings +## 1. Configure PayPal PG settings Refer to the [**PayPal settings**](../../ready/2.-pg/payment-gateway-settings/undefined-5) page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). -In PC and mobile browsers, the page is redirected to **m_redirect_url**. +In PC and mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'paypal', - pay_method : 'card', - merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001 - name : 'Order name: Test payment request', - amount : 14.20, - currency : 'USD' // default: USD (KRW not supported) - buyer_email : 'iamport@siot.do', - buyer_name : 'John Doe', - buyer_tel : '010-1234-5678', // Required - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456' - m_redirect_url : '{URL to redirect to after payment approval}' // Example: https://www.my-service.com/payments/complete/mobile -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "paypal", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14.2, + currency: "USD", // default: USD (KRW not supported) + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", // Required + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -#### + ### Key parameter description -### Key parameter description + **`pg`** **\*** **string** -**`pg`** **\***\*\* ****s****tring\*\* + **PG code** -**PG code** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`paypal`**. -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`paypal`**. + **`pay_method`** **\*** **string** -**`pay_method`** **\***\*\* ****s****tring\*\* + **Payment method code** -**Payment method code** +
+

Payment method codes

-
-

Payment method codes

+ - `card` (credit card) +
-- `card` (credit card) + **`merchant_uid`** **\*** **string** -
+ **Order ID** -**`merchant_uid`** **\***\*\* ****s****tring\*\* + Must be unique for each request. -**Order ID** + **`amount`** **\*** **integer** -Must be unique for each request. + **Payment amount** -**`amount`** **\***\*\* ****integer\*\* + Must be an integer (not string)\ + \ + **`currency`****`*`****`string`** -**Payment amount** + **Currency** -Must be an integer (not string)\ -\ -**`currency`****`*`****`string`** + For supported currencies, refer to [PayPal currency codes](https://developer.paypal.com/docs/api/reference/currency-codes/#paypal-account-payments). -**Currency** + **`m_redirect_url`****`*`****`string`** -For supported currencies, refer to [PayPal currency codes](https://developer.paypal.com/docs/api/reference/currency-codes/#paypal-account-payments). + **Redirect URL** -**`m_redirect_url`****`*`****`string`** - -**Redirect URL** - -Required in both PC and mobile to receive payment result. - -
+ Required in both PC and mobile to receive payment result. +
-### Note - -i'mport does not support PayPal subscription payment. + ### Note + i'mport does not support PayPal subscription payment. diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/readme.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/readme.mdx index 36434112e..53b797357 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/readme.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/readme.mdx @@ -3,4 +3,4 @@ title: Payment gateways description: Learn how to integrate with each PG. --- -### Learn how to integrate authenticated and non-authenticated payments by PG. +Learn how to integrate authenticated and non-authenticated payments by PG. diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/settlebank.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/settlebank.mdx index 72763a2f5..0bcc5b9e1 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/settlebank.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/settlebank.mdx @@ -6,148 +6,150 @@ description: Settlebank payment window integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import ContentRef from "~/components/gitbook/ContentRef.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure **Settlebank** PG settings +## 1. Configure **Settlebank** PG settings -Refer to the [**Settlebank settings**](../../ready/2.-pg/payment-gateway-settings/undefined-3) page to configure the PG settings. +Refer to the [**Settlebank settings**](../../ready/2.-pg/payment-gateway-settings/undefined-3) page +to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment -To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'settle', - pay_method : 'card', - merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001 - name : 'Order name: Test payment request', - amount : 14000, - buyer_email : 'iamport@siot.do', - buyer_name : 'John Doe', - buyer_tel : '010-1234-5678', // Required - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - company : 'iamport', // Recommended for virtual account payment - buyer_postcode : '123-456', - m_redirect_url : '{Mobile only - URL to redirect to after payment approval}' // Example: https://www.my-service.com/payments/complete/mobile -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -#### - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* - -**PG code** - -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`settle`**. - -**`pay_method`** **\***\*\* ****s****tring\*\* + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "settle", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", // Required + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + company: "iamport", // Recommended for virtual account payment + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**Payment method code** + ### Key parameter description -
-

Payment method codes

+ **`pg`** **\*** **string** -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `phone`(mobile micropayment) + **PG code** -
+ - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`settle`**. -**`merchant_uid`** **\***\*\* ****s****tring\*\* + **`pay_method`** **\*** **string** -**Order ID** + **Payment method code** -Must be unique for each request. +
+

Payment method codes

-**`amount`** **\***\*\* ****integer\*\* + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `phone`(mobile micropayment) +
-**Payment amount** + **`merchant_uid`** **\*** **string** -Must be an integer (not string) + **Order ID** -**`buyer_tel`****`*`****`string`** + Must be unique for each request. -**Customer phone number** + **`amount`** **\*** **integer** -Required + **Payment amount** -**` company`` `****`string`** + Must be an integer (not string) -**`Company name`** + **`buyer_tel`****`*`****`string`** -Required for virtual account payment + **Customer phone number** - + Required -
+ **`company`` `****`string`** - -#### Not supported + **`Company name`** - + Required for virtual account payment - -#### **You can use i'mport REST API to request payment and schedule payment.** + + -### Request one-time payment + + #### Not supported + -To request a one-time payment, use the key-in REST[ **API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). The card information is not saved during this process. + + #### **You can use i'mport REST API to request payment and schedule payment.** -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + ### Request one-time payment -### Request billing key + initial payment + To request a one-time payment, use the key-in [**REST API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + The card information is not saved during this process. -To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -- **`customer_uid`** : required for saving the billing key. + ### Request billing key + initial payment -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). -### Request payment with billing key + - **`customer_uid`** : required for saving the billing key. -After successfully getting the billing key and making the initial payment, the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) with the `customer_uid` as follows: + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + ### Request payment with billing key - -**Settlebank does not support** [**Request billing key API**](../../api/billing-key-api/api-1)**.** + After successfully getting the billing key and making the initial payment, + the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) + with the `customer_uid` as follows: - + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` -**For detailed information, refer to:** + + **Settlebank does not support** [**Request billing key API**](../../api/billing-key-api/api-1)**.** + - + **For detailed information, refer to:** - + +
diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/smartro.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/smartro.mdx index e7659d1c7..1ca6e100e 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/smartro.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/smartro.mdx @@ -4,78 +4,79 @@ description: Smartro payment window integration guide --- import Details from "~/components/gitbook/Details.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -### 1. Configure Smartro PG settings +## 1. Configure Smartro PG settings Refer to the [**Smartro settings**](../../ready/2.-pg/payment-gateway-settings/undefined-4) page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'smartro', - pay_method : 'card', - merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001 - name : 'Order name: Test payment request', - amount : 14000, - buyer_email : 'iamport@siot.do', - buyer_name : 'John Doe', - buyer_tel : '010-1234-5678', // Required - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - m_redirect_url : '{Mobile only - URL to redirect to after payment approval}' // Example: https://www.my-service.com/payments/complete/mobile -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -#### - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "smartro", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", // Required + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**PG code** + ### Key parameter description -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`smartro`**. + **`pg`** **\*** **string** -**`pay_method`** **\***\*\* ****s****tring\*\* + **PG code** -**Payment method code** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`smartro`**. -
-

Payment method codes

+ **`pay_method`** **\*** **string** -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) + **Payment method code** -
+
+

Payment method codes

-**`merchant_uid`** **\***\*\* ****s****tring\*\* + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) +
-**Order ID** + **`merchant_uid`** **\*** **string** -Must be unique for each request. + **Order ID** -**`amount`** **\***\*\* ****integer\*\* + Must be unique for each request. -**Payment amount** + **`amount`** **\*** **integer** -Must be an integer (not string) + **Payment amount** -
+ Must be an integer (not string) +
diff --git a/src/content/docs/en/payment-integration-by-pg/payment-gateways/toss.mdx b/src/content/docs/en/payment-integration-by-pg/payment-gateways/toss.mdx index 21df0a75e..0a6ea6bee 100644 --- a/src/content/docs/en/payment-integration-by-pg/payment-gateways/toss.mdx +++ b/src/content/docs/en/payment-integration-by-pg/payment-gateways/toss.mdx @@ -6,285 +6,294 @@ description: Toss Payments payment window integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import ContentRef from "~/components/gitbook/ContentRef.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure Toss Payments PG settings +## 1. Configure Toss Payments PG settings -Refer to the [**Toss Payments settings**](../../ready/2.-pg/payment-gateway-settings/undefined) page to configure the PG settings. +Refer to the [**Toss Payments settings**](../../ready/2.-pg/payment-gateway-settings/undefined) page +to configure the PG settings. ![]() ### 2. Request payment -To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'uplus', - pay_method : 'card', - merchant_uid : '{Merchant created Order ID}', // Example: order_no_0001 - name : 'Order name: Test payment request', - amount : 14000, - buyer_email : 'iamport@siot.do', - buyer_name : 'John Doe', - buyer_tel : '010-1234-5678', - buyer_addr : 'Shinsa-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - m_redirect_url : '{Mobile only - URL to redirect to after payment approval}' // Example: https://www.my-service.com/payments/complete/mobile -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -#### - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "uplus", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", // Example: order_no_0001 + name: "Order name: Test payment request", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "John Doe", + buyer_tel: "010-1234-5678", + buyer_addr: "Shinsa-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**PG code** + ### Key parameter description -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`uplus`**. + **`pg`** **\*** **string** -**`pay_method`** **\***\*\* ****s****tring\*\* + **PG code** -**Payment method code** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`uplus`**. -
-

Payment method codes

+ **`pay_method`** **\*** **string** -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `phone`(mobile micropayment) + **Payment method code** -
+
+

Payment method codes

-**`merchant_uid`** **\***\*\* ****s****tring\*\* + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `phone`(mobile micropayment) +
-**Order ID** + **`merchant_uid`** **\*** **string** -Must be unique for each request. + **Order ID** -**`amount`** **\***\*\* ****integer\*\* + Must be unique for each request. -**Payment amount** + **`amount`** **\*** **integer** -Must be an integer (not string). + **Payment amount** -**` escrow`` `****`boolean`** + Must be an integer (not string). -**Ecrow option** + **`escrow`` `****`boolean`** - + **Ecrow option** -
+ +
- -To open non-authenticated payment window, specify the **customer\_uid** parameter. After getting a billing key from this window, you can request payment using the billing key. + + To open non-authenticated payment window, specify the **customer\_uid** parameter. + After getting a billing key from this window, you can request payment using the billing key. -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "tosspayments", - pay_method: "card", // only 'card' supported. - merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 - name: "Initial billing key request", - amount: 0, // For display purpose only (no payment approval). - customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) - buyer_email: "johndoe@gmail.com", - buyer_name: "John Doe", - buyer_tel: "02-1234-1234", - m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) - customer_id: "matthew", // Merchant user ID - }, - function (rsp) { - // callback - } -); -``` + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "tosspayments", + pay_method: "card", // only 'card' supported. + merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 + name: "Initial billing key request", + amount: 0, // For display purpose only (no payment approval). + customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) + buyer_email: "johndoe@gmail.com", + buyer_name: "John Doe", + buyer_tel: "02-1234-1234", + m_redirect_url: "{redirect URL}", // Example: https://www.my-service.com/payments/complete/mobile (for mobile only) + customer_id: "matthew", // Merchant user ID + }, + function (rsp) { + // callback + }, + ); + ``` - -* To request non-authenticated payment, you must set the **MID issued by Toss Payments** in the Admin console. -* Toss Payments **does not process the payment** when issuing the billing key even if you specify an amount. - - - -### Key parameter description + + - To request non-authenticated payment, you must set the **MID issued by Toss Payments** in the Admin console. -**`pg`** **\***\*\* ****s****tring\*\* + - Toss Payments **does not process the payment** + when issuing the billing key even if you specify an amount. + -**PG code** + ### Key parameter description -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`tosspayments`**. + **`pg`** **\*** **string** -**`customer_uid`** **\***\*\* ****string\*\* + **PG code** -**Credit card billing key** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`tosspayments`**. -Billing key to be mapped 1:1 with the user-entered credit card information. + **`customer_uid`** **\*** **string** -**`amount`** **\***\*\* ****Integer\*\* + **Credit card billing key** -**Payment amount** + Billing key to be mapped 1:1 with the user-entered credit card information. -Amount to display in the payment window, but actual payment approval is not processed. (To request payment, use the **REST API with the customer_uid**.) + **`amount`** **\*** **Integer** -**`customer_id`** **\***\*\* ****string\*\* + **Payment amount** -**Customer ID** + Amount to display in the payment window, but actual payment approval is not processed. (To request payment, use the **REST API with the customer\_uid**.) -Customer user ID that maps to billing key. If not specified, this is generated by i'mport.\ + **`customer_id`** **\*** **string** -### Request payment with billing key (customer_uid) + **Customer ID** -After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the [**non-authenticated payment request REST API**](../../api/api/api) with the `customer_uid` as follows: + Customer user ID that maps to billing key. If not specified, this is generated by i'mport.\\ -```title="sever-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + ### Request payment with billing key (customer\_uid) - + After successfully getting the billing key, the billing key is **stored on the i'mport server** + mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the [**non-authenticated payment request REST API**](../../api/api/api) + with the `customer_uid` as follows: - -#### **You can use i'mport REST API to request billing key, request payment, and schedule payment.** + ```sh title="sever-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` + - -**MID Issuance** - -When you get an MID from Toss Payments, the **API version** must be **1.4**. - - + + #### **You can use i'mport REST API to request billing key, request payment, and schedule payment.** -### Request one-time payment + + **MID Issuance** -To request a one-time payment, use the key-in REST[ **API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). The card information is not saved during this process. + When you get an MID from Toss Payments, the **API version** must be **1.4**. + -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + ### Request one-time payment -### + To request a one-time payment, use the key-in [**REST API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + The card information is not saved during this process. -### Request billing key + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer_uid}**](../../api/billing-key-api/api-1). + ### Request billing key -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ - https://api.iamport.kr/subscribe/customers/your-customer-unique-id -``` + To request a billing key, use the billing key request REST [**API POST /subscribe/customers/\{customer\_uid}**](../../api/billing-key-api/api-1). -### Request billing key + initial payment + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ + https://api.iamport.kr/subscribe/customers/your-customer-unique-id + ``` -To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). + ### Request billing key + initial payment -- **`customer_uid`** : required for saving the billing key. + To request a billing key and initial payment, use the key-in REST [**API POST /subscribe/payments/onetime**](../../api/api/request-non-authenticated-payment-one-time-api). -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + - **`customer_uid`** : required for saving the billing key. -### Request payment with billing key + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -After successfully getting the billing key and making the initial payment, the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) with the `customer_uid` as follows: + ### Request payment with billing key -``` -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + After successfully getting the billing key and making the initial payment, + the billing key is stored on the i'mport server mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the repeat pay REST API ([**POST /subscribe/payments/again**](../../api/api/api)) + with the `customer_uid` as follows: -**For detailed information, refer to:** + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` - + **For detailed information, refer to:** - + +
### 3. Additional functions - -```javascript title="javascript" -display: { - card_quota: [6], // Display up to 6 months installment plans - only_installment: true // Disable immediate pay option -} -``` - -**Parameters** - -- **card_quota :** - - Enable only specified installment months - - `[]`: Only immediate pay - - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans -- If **only_installment: `true`**, only shows specified months in **`card_quota`**.\ - - -Installment plan option is available only for **KRW 50,000 or more**. - - - - - - -```javascript title="javascript" -card: { - direct: { - code: "367", - quota: 3 + + ```json title="javascript" + { + "display": { + "card_quota": [6], // Display up to 6 months installment plans + "only_installment": true // Disable immediate pay option + } } -} -``` - -**Parameters** - -- **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) -- **quota**: Installment plan. For immediate, set to 0. (**integer**) - - - - -```javascript title="javascript" -card : { - detail : [ - {card_code:"*", enabled:false}, // Disable all credit cards - {card_code:'366', enabled:true} // Enable specific credit card - ] -} -``` - -**Parameters** + ``` + + **Parameters** + + - **card\_quota :** + - Enable only specified installment months + - `[]`: Only immediate pay + - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans + + - If **only\_installment: `true`**, only shows specified months in **`card_quota`**.\\ + + + Installment plan option is available only for **KRW 50,000 or more**. + + + + + ```json title="javascript" + { + "card": { + "direct": { + "code": "367", + "quota": 3 + } + } + } + ``` + + **Parameters** + + - **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) + - **quota**: Installment plan. For immediate, set to 0. (**integer**) + + + + ```json title="javascript" + { + "card": { + "detail": [ + { "card_code": "*", "enabled": false }, // Disable all credit cards + { "card_code": "366", "enabled": true }, // Enable specific credit card + ] + } + } + ``` -- **card_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** -- **enabled:** Option to enable the credit card (**boolean)** + **Parameters** - + - **card\_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) **(string)** + - **enabled:** Option to enable the credit card (**boolean)** + -**Hub-type simple payment** - -Simple payments (Kakao Pay, Naver Pay, etc.) are not supported in Toss Payments payment window. + **Hub-type simple payment** + Simple payments (Kakao Pay, Naver Pay, etc.) are not supported in Toss Payments payment window. diff --git a/src/content/docs/en/payment-integration-by-pg/simple/alipay.mdx b/src/content/docs/en/payment-integration-by-pg/simple/alipay.mdx index 1a3c3fb89..b7efa1598 100644 --- a/src/content/docs/en/payment-integration-by-pg/simple/alipay.mdx +++ b/src/content/docs/en/payment-integration-by-pg/simple/alipay.mdx @@ -3,71 +3,72 @@ title: Alipay description: Alipay simple payment integration guide --- -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -### 1. Configure Alipay simple payment PG settings +## 1. Configure Alipay simple payment PG settings Refer to the [**Alipay settings**](../../ready/2.-pg/pg/undefined-5) page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). -After calling `IMP.request_pay(param, callback)`, the page is redirected to **m_redirect_url**. +After calling `IMP.request_pay(param, callback)`, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'alipay', - merchant_uid: '{Merchant created Order ID}', //Example: order_no_0001 - name : 'Order name: Test payment', - amount : 1.20, // USD - currency : 'USD' // Default: USD - buyer_email : 'iamport@siot.do', - buyer_name : 'Customer name', - buyer_tel : '010-1234-5678', - buyer_addr : 'Samseong-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - m_redirect_url : "{URL to redirect to after payment approval}" //Example: http://yourservice.com/payments/complete -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -#### - -### Key parameter description + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "alipay", + merchant_uid: "{Merchant created Order ID}", //Example: order_no_0001 + name: "Order name: Test payment", + amount: 1.2, // USD + currency: "USD", // Default: USD + buyer_email: "iamport@siot.do", + buyer_name: "Customer name", + buyer_tel: "010-1234-5678", + buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{URL to redirect to after payment approval}", //Example: http://yourservice.com/payments/complete + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**`pg`** **\***\*\* ****s****tring\*\* + ### Key parameter description -**PG code** + **`pg`** **\*** **string** -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`alipay`**. + **PG code** -**`merchant_uid`** **\***\*\* ****s****tring\*\* + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`alipay`**. -**Order ID** + **`merchant_uid`** **\*** **string** -Must be unique for each request. + **Order ID** -**` currency`` `****`string`** + Must be unique for each request. -**Currency code** + **`currency`` `****`string`** -Default: USD (KRW supported) + **Currency code** -**`amount`** **\***\*\* ****integer\*\* + Default: USD (KRW supported) -**Payment amount** + **`amount`** **\*** **integer** -Must be an integer (not string) + **Payment amount** - + Must be an integer (not string) + diff --git a/src/content/docs/en/payment-integration-by-pg/simple/kakao-pay.mdx b/src/content/docs/en/payment-integration-by-pg/simple/kakao-pay.mdx index b2314d5e1..3834f5774 100644 --- a/src/content/docs/en/payment-integration-by-pg/simple/kakao-pay.mdx +++ b/src/content/docs/en/payment-integration-by-pg/simple/kakao-pay.mdx @@ -4,150 +4,152 @@ description: Kakao Pay simple payment integration guide --- import Codepen from "~/components/gitbook/Codepen.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure Kakao Pay simple payment PG settings +## 1. Configure Kakao Pay simple payment PG settings -Refer to the [**Kakao Pay settings**](../../ready/2.-pg/pg/undefined) page to configure the PG settings. +Refer to the [**Kakao Pay settings**](../../ready/2.-pg/pg/undefined) page +to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment -To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'kakaopay', - pay_method : 'card', // Can be omitted - merchant_uid: '{Merchant created Order ID}', //Example: order_no_0001 - name : 'Order name: Test payment', - amount : 14000, - buyer_email : 'iamport@siot.do', - buyer_name : 'Customer name', - buyer_tel : '010-1234-5678', - buyer_addr : 'Samseong-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - m_redirect_url : "{URL to redirect to after payment approval}" //Example: http://yourservice.com/payments/complete -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -#### + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "kakaopay", + pay_method: "card", // Can be omitted + merchant_uid: "{Merchant created Order ID}", //Example: order_no_0001 + name: "Order name: Test payment", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "Customer name", + buyer_tel: "010-1234-5678", + buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{URL to redirect to after payment approval}", //Example: http://yourservice.com/payments/complete + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -### Key parameter description + ### Key parameter description -**`pg`** **\***\*\* ****s****tring\*\* + **`pg`** **\*** **string** -**PG code** + **PG code** -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`kakaopay`**. + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`kakaopay`**. -**`pay_method`** **s****tring** + **`pay_method`** **string** -**Payment method code** + **Payment method code** -Can be omitted + Can be omitted -(Overwritten by the option(credit card or Kakao money) selected in Kakao Pay app) + (Overwritten by the option(credit card or Kakao money) selected in Kakao Pay app) -**`merchant_uid`** **\***\*\* ****s****tring\*\* + **`merchant_uid`** **\*** **string** -**Order ID** + **Order ID** -Must be unique for each request. + Must be unique for each request. -**`amount`** **\***\*\* ****integer\*\* + **`amount`** **\*** **integer** -**Payment amount** + **Payment amount** -Must be an integer (not string) + Must be an integer (not string) - + + - + + To open subscription payment window, specify the **customer\_uid** parameter. - -To open subscription payment window, specify the **customer\_uid** parameter. + + **amount** - -**amount** + - If requesting **both billing key and initial payment**, specify the payment amount. + - If only requesting for billing key, set to **0**. + -- If requesting **both billing key and initial payment**, specify the payment amount. -- If only requesting for billing key, set to **0**. + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "kakaopay", + merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 + name: "Order name: Billing key request test", + amount: 0, // For display purpose only (set actual amount to also request payment approval). + customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) + buyer_email: "johndoe@gmail.com", + buyer_name: "John Doe", + buyer_tel: "02-1234-1234", + m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile + }, + function (rsp) { + if (rsp.success) { + alert("Success"); + } else { + alert("Failed"); + } + }, + ); + ``` - - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "kakaopay", - merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 - name: "Order name: Billing key request test", - amount: 0, // For display purpose only (set actual amount to also request payment approval). - customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) - buyer_email: "johndoe@gmail.com", - buyer_name: "John Doe", - buyer_tel: "02-1234-1234", - m_redirect_url: "{Mobile only - URL to redirect to after payment approval}", // Example: https://www.my-service.com/payments/complete/mobile - }, - function (rsp) { - if (rsp.success) { - alert("Success"); - } else { - alert("Failed"); - } - } -); -``` - -### Key parameter description + ### Key parameter description -**`pg`** **\***\*\* ****s****tring\*\* + **`pg`** **\*** **string** -**PG code** + **PG code** -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`kakaopay`**. + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`kakaopay`**. -**`customer_uid`** **\***\*\* ****string\*\* + **`customer_uid`** **\*** **string** -**Credit card billing key** + **Credit card billing key** -Billing key to be mapped 1:1 with the user-entered credit card information. + Billing key to be mapped 1:1 with the user-entered credit card information. -**`amount`** **\***\*\* ****Integer\*\* + **`amount`** **\*** **Integer** -**Payment amount** + **Payment amount** -0: only billing key, **> 0: billing key + initial payment**\ + 0: only billing key, **> 0: billing key + initial payment**\\ -### Request payment with billing key (customer_uid) + ### Request payment with billing key (customer\_uid) -After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the [**non-authenticated payment request REST API**](../../api/api/api) with the `customer_uid` as follows: + After successfully getting the billing key, the billing key is **stored on the i'mport server** + mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the [**non-authenticated payment request REST API**](../../api/api/api) + with the `customer_uid` as follows: -```title="sever-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` - - + ```sh title="sever-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` + -**Kakao Pay simple payment is processed in mobile Kakao App.** - + **Kakao Pay simple payment is processed in mobile Kakao App.** diff --git a/src/content/docs/en/payment-integration-by-pg/simple/naver-pay-standard.mdx b/src/content/docs/en/payment-integration-by-pg/simple/naver-pay-standard.mdx index 7d9a3ccf9..8ccd4437a 100644 --- a/src/content/docs/en/payment-integration-by-pg/simple/naver-pay-standard.mdx +++ b/src/content/docs/en/payment-integration-by-pg/simple/naver-pay-standard.mdx @@ -4,353 +4,376 @@ description: "\bNaver Pay simple payment integration guide" --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure Naver Pay simple payment PG settings +## 1. Configure Naver Pay simple payment PG settings Refer to the [**Naver Pay settings**](../../ready/2.-pg/pg/undefined-2) page to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) -IMP.**request_pay**(param, callback). +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'naverpay', - merchant_uid: '{Merchant created Order ID}', //Example: order_no_0001 - name : 'Order name: Test payment', - amount : 14000, - buyer_email : 'iamport@siot.do', - buyer_name : 'Customer name', - buyer_tel : '010-1234-5678', - buyer_addr : 'Samseong-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - naverUseCfm : '20201001', //Expiration date - naverPopupMode : true, //Enable popup mode - m_redirect_url : "{URL to redirect to after payment approval}", //Example: http://yourservice.com/payments/complete - naverPurchaserName: "Purchaser name", - naverPurchaserBirthday: "20151201", - naverProducts : [{ - "categoryType": "BOOK", - "categoryId": "GENERAL", - "uid": "107922211", - "name": "History of the World", - "payReferrer": "NAVER_BOOK", - "count": 10 - }, - { - "categoryType": "MUSIC", - "categoryId": "CD", - "uid": "299911002", - "name": "BTS", - "payReferrer": "NAVER_BOOK", - "count": 1 - }] -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "naverpay", + merchant_uid: "{Merchant created Order ID}", //Example: order_no_0001 + name: "Order name: Test payment", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "Customer name", + buyer_tel: "010-1234-5678", + buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + naverUseCfm: "20201001", //Expiration date + naverPopupMode: true, //Enable popup mode + m_redirect_url: "{URL to redirect to after payment approval}", //Example: http://yourservice.com/payments/complete + naverPurchaserName: "Purchaser name", + naverPurchaserBirthday: "20151201", + naverProducts: [ + { + categoryType: "BOOK", + categoryId: "GENERAL", + uid: "107922211", + name: "History of the World", + payReferrer: "NAVER_BOOK", + count: 10, + }, + { + categoryType: "MUSIC", + categoryId: "CD", + uid: "299911002", + name: "BTS", + payReferrer: "NAVER_BOOK", + count: 1, + }, + ], + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` + + ### Key parameter description + + **`pg`** **\*** **string** + + **PG code** + + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`naverpay`**. + + **`merchant_uid`** **\*** **string** + + **Order ID** + + Must be unique for each request. + + **`amount`** **\*** **integer** + + **Payment amount** + + Must be an integer (not string) + + **`naverUseCfm`` `****`string`** + + **Expiration date** (string in yyyyMMdd format, **must be on or after the date of payment**). -#### + - Specify if contract between Naver Pay and merchant requires this value for the specified product type (such as music or performance tickets). -### Key parameter description + **`name`****`*`****`string`** -**`pg`** **\***\*\* ****s****tring\*\* + **`Product name`** -**PG code** + If multiple products are defined in the `naverProducts` parameter, Naver Pay automatically appends `and 2 others`. Hence, set this to the name of the first product (`naverProducts[0].name`) in the array. -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`naverpay`**. + **`naverPopupMode`` `****`boolean`** -**`merchant_uid`** **\***\*\* ****s****tring\*\* + **Option to proceed via popup window** -**Order ID** + - If `false`, payment process will proceed via page redirection and you must specify `m_redirect_url`. -Must be unique for each request. + **`m_redirect_url`****`string`** -**`amount`** **\***\*\* ****integer\*\* + **`Redirect URL`** -**Payment amount** + - URL to redirect to after payment approval when using redirection method (`naverPopupMode`: **false**). -Must be an integer (not string) + **`naverPurchaserName`****`string`** -**` naverUseCfm`` `****`string`** + **`Name of the purchaser`** -**Expiration date** (string in yyyyMMdd format, **must be on or after the date of payment**). + **Only required for merchants** who have been instructed + to enter this information at the time of the Naver Pay contract because the product + falls under a high-risk industry. -- Specify if contract between Naver Pay and merchant requires this value for the specified product type (such as music or performance tickets). + **`naverPurchaserBirthday`` `****`string`** -**`name`****`*`****`string`** + **`Purchaser's DOB (yyyyMMdd)`** -**`Product name`** + **Only required for merchants** who have been instructed + to enter this information at the time of the Naver Pay contract because the product + falls under a high-risk industry. -If multiple products are defined in the `naverProducts` parameter, Naver Pay automatically appends `and 2 others`. Hence, set this to the name of the first product (`naverProducts[0].name`) in the array. + **`naverChainId`** **`string`** -**` naverPopupMode`` `****`boolean`** + Enter the value received from Naver Pay only for group-type merchants that operate two or more services with the same partner ID. -**Option to proceed via popup window** + Non-target merchants are not entered. -- If `false`, payment process will proceed via page redirection and you must specify `m_redirect_url`. + **`naverProducts`****`*`****`array`** -**`m_redirect_url`****`string`** + **`Product information`** -**`Redirect URL`** + Same as the **`productItems`** parameter defined in Naver Pay manual. -- URL to redirect to after payment approval when using redirection method (`naverPopupMode`: **false**). + (If omitted, request will fail Naver Pay's inspection.) -**`naverPurchaserName`****`string`** + **`naverProducts`** is an array of objects consisting of the following 6 properties: -**`Name of the purchaser`** + - **`categoryType`** (Required): Refer to [NPay Developers](https://developer.pay.naver.com/docs/v2/api#etc-etc_product) -**Only required for merchants** who have been instructed -to enter this information at the time of the Naver Pay contract because the product -falls under a high-risk industry. + - **`categoryId`** (Required): Refer to [NPay Developers](https://developer.pay.naver.com/docs/v2/api#etc-etc_product) -**` naverPurchaserBirthday`` `****`string`** + - **`uid`** (Required) : Merchant created product ID in general. Refer to [NPay Developers](https://developer.pay.naver.com/docs/v2/api#etc-etc_product) -**`Purchaser's DOB (yyyyMMdd)`** + - **`name`** (Required) : Product name -**Only required for merchants** who have been instructed -to enter this information at the time of the Naver Pay contract because the product -falls under a high-risk industry. + - **`count`** (Required) : Selected quantity -**`naverChainId`** **`string`** + - **`sellerId`** (Optional) : Unique ID used by merchants to identify sub-merchants (uppercase and lowercase letters and numbers allowed) + - Only required for mail order brokerage merchants who have been instructed to enter this information at the time of the Naver Pay contract. + - Not required for other merchants. -Enter the value received from Naver Pay only for group-type merchants that operate two or more services with the same partner ID. + - **`payReferrer`** (Optional) : Funnel path to Naver Pay. Enter only when in partnership agreement with other services on the Naver platform. + Refer to [NPay Developers](https://developer.pay.naver.com/docs/v2/api#etc-etc_product_ref). + -Non-target merchants are not entered. + + ## Request billing key -\ -**`naverProducts`****`*`****`array`** + ```ts title="JavaScript SDK" + IMP.request_pay( + { + pg: "naverpay", + customer_uid: "gildong_0001_1234", //billing, required. + merchant_uid: "{Merchant created Order ID}", //Example: order_monthly_0001 + name: "Slim plan (montly)", + amount: 14000, // For display only, no payment approval + buyer_email: "iamport@siot.do", + buyer_name: "Customer name", + buyer_tel: "010-1234-5678", //Required + buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + naverProductCode: "Recurring payment product code", + naverPopupMode: true, //Enable popup mode + m_redirect_url: "{URL to redirect to after registration}", //Example: http://yourservice.com/payments/complete + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**`Product information`** + ### Key parameter description -Same as the **`productItems`** parameter defined in Naver Pay manual. + **`pg`** **\*** **string** -(If omitted, request will fail Naver Pay's inspection.) + **PG code** -> **`naverProducts`** is an array of objects consisting of the following 6 properties: -> -> - **`categoryType`** (Required): Refer to [NPay Developers](https://developer.pay.naver.com/docs/v2/api#etc-etc_product) -> - **`categoryId`** (Required): Refer to [NPay Developers](https://developer.pay.naver.com/docs/v2/api#etc-etc_product) -> - **`uid`** (Required) : Merchant created product ID in general. Refer to [NPay Developers](https://developer.pay.naver.com/docs/v2/api#etc-etc_product) -> - **`name`** (Required) : Product name -> - **`count`** (Required) : Selected quantity -> - **`sellerId`** (Optional) : Unique ID used by merchants to identify sub-merchants (uppercase and lowercase letters and numbers allowed) -> - Only required for mail order brokerage merchants who have been instructed to enter this information at the time of the Naver Pay contract. -> - Not required for other merchants. -> - **`payReferrer`** (Optional) : Funnel path to Naver Pay. Enter only when in partnership agreement with other services on the Naver platform. Refer to [NPay Developers](https://developer.pay.naver.com/docs/v2/api#etc-etc_product_ref). + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`naverpay`**. - + **`customer_uid`****`*`****`string`** - -## Request billing key + **`Billing key`** -```javascript title="JavaScript SDK" -IMP.request_pay( - { - pg: "naverpay", - customer_uid: "gildong_0001_1234", //billing, required. - merchant_uid: "{Merchant created Order ID}", //Example: order_monthly_0001 - name: "Slim plan (montly)", - amount: 14000, // For display only, no payment approval - buyer_email: "iamport@siot.do", - buyer_name: "Customer name", - buyer_tel: "010-1234-5678", //Required - buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", - buyer_postcode: "123-456", - naverProductCode: "Recurring payment product code", - naverPopupMode: true, //Enable popup mode - m_redirect_url: "{URL to redirect to after registration}", //Example: http://yourservice.com/payments/complete - }, - function (rsp) { - // callback logic - //* ...Omitted... *// - } -); -``` + - Must be specified for subscription/recurring payment registration. If omitted, processed as general payment. + - After registration, you can use the key to request recurring payment approval. -### + **`merchant_uid`** **\*** **string** -### Key parameter description + **Order ID** -**`pg`** **\***\*\* ****s****tring\*\* + Must be unique for each request. -**PG code** + **`amount`** **\*** **integer** -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`naverpay`**. + **Payment amount** -**`customer_uid`****`*`****`string`** + Must be an integer (not string) -**`Billing key`** + **Payment approval is not processed** **during + subscription/recurring payment registration**. -- Must be specified for subscription/recurring payment registration. If omitted, processed as general payment. -- After registration, you can use the key to request recurring payment approval. + **`naverProductCode`****`*`****`string`** -**`merchant_uid`** **\***\*\* ****s****tring\*\* + **Product code managed by the merchant** -**Order ID** + - Used to prevent the same customer from registering duplicate payments for the same product. + - The default value is a randomly generated value allowing for duplicate payment registration. To avoid this, specify a value. -Must be unique for each request. + **`name`****`*`****`string`** -**`amount`** **\***\*\* ****integer\*\* + **`Product name`** -**Payment amount** + If multiple products are defined in the `naverProducts` parameter, Naver Pay automatically appends `and 2 others`. + Hence, set this to the name of the first product (`naverProducts[0].name`) in the array. -Must be an integer (not string) + **`naverPopupMode`` `****`boolean`** -**Payment approval is not processed**** during -subscription/recurring payment registration**. + **Option to proceed via popup window** -**`naverProductCode`****`*`****`string`** + - If `false`, payment process will proceed via page redirection and you must specify `m_redirect_url`. -**Product code managed by the merchant** + **`m_redirect_url`****`string`** -- Used to prevent the same customer from registering duplicate payments for the same product. -- The default value is a randomly generated value allowing for duplicate payment registration. To avoid this, specify a value. + **`Redirect URL`** -**`name`****`*`****`string`** + - URL to redirect to after payment approval when using redirection method (`naverPopupMode`: **false**). -**`Product name`** + ## **Request payment** -If multiple products are defined in the `naverProducts` parameter, Naver Pay automatically appends `and 2 others`. Hence, set this to the name of the first product (`naverProducts[0].name`) in the array. + After getting a billing key, you can request the initial payment or schedule future payment + by calling the payment approval API using the registered **`customer_uid`**. -**` naverPopupMode`` `****`boolean`** + ### **How to request payment** -**Option to proceed via popup window** + To request a payment approval, call the REST API [**/subscribe/payments/again**](../../api/api/api). -- If `false`, payment process will proceed via page redirection and you must specify `m_redirect_url`. + - `customer_uid` : `customer_uid` specified for subscription/recurring payment registration. -**`m_redirect_url`****`string`** + - `merchant_uid` : Merchant managed order number. -**`Redirect URL`** + - `amount` : Payment amount (can be different from the amount specified for subscription/recurring payment registration). -- URL to redirect to after payment approval when using redirection method (`naverPopupMode`: **false**). + - `tax_free` : Tax-free amount (out of total `amount`). Default value is 0. -## **Request payment** + - `name` : Order name. -After getting a billing key, you can request the initial payment or schedule future payment by calling the payment approval API using the registered **`customer_uid`**. + - `extra.naverUseCfm` : Expiration date (string in yyyyMMdd format, must be same as the date of payment or later). + - Specify if contract between Naver Pay and merchant requires this value for the specified product type (such as music or performance tickets). -### **How to request payment** + ```json title="sample json" + { + "customer_uid": "gildong_0001_1234", + "merchant_uid": "order_monthly_0002", // Cannot be reused + "amount": 10000, + "name": "Slim plan (initial payment)", + "extra": { + "naverUseCfm": "20201001" + } + } + ``` -To request a payment approval, call the REST API [**/subscribe/payments/again**](../../api/api/api). + ```txt title="form-urlencoded" + customer_uid={Unique key to identify the customer}&merchant_uid={Order number}&amount=10000&name=Slim plan (initial payment)&extra[naverUseCfm]=20201001 + ``` -- `customer_uid` : `customer_uid` specified for subscription/recurring payment registration. -- `merchant_uid` : Merchant managed order number. -- `amount` : Payment amount (can be different from the amount specified for subscription/recurring payment registration). -- `tax_free` : Tax-free amount (out of total `amount`). Default value is 0. -- `name` : Order name. -- `extra.naverUseCfm` : Expiration date (string in yyyyMMdd format, must be same as the date of payment or later). - - Specify if contract between Naver Pay and merchant requires this value for the specified product type (such as music or performance tickets). + ### Schedule payments -```json title="sample json" -{ - "customer_uid": "gildong_0001_1234", - "merchant_uid": "order_monthly_0002", // Cannot be reused - "amount": 10000, - "name": "Slim plan (initial payment)", - "extra": { - "naverUseCfm": "20201001" - } -} -``` + To schedule payments, call the REST API [**/subscribe/payments/schedule**](../../api/subscription-payment-api/schedule-payment-api). -```title="form-urlencoded" -customer_uid={Unique key to identify the customer}&merchant_uid={Order number}&amount=10000&name=Slim plan (initial payment)&extra[naverUseCfm]=20201001 -``` + - `customer_uid` : `customer_uid` specified for subscription/recurring payment registration. -### + - `schedules` : Payment schedule object array (one or more schedules). + - `merchant_uid` : Merchant managed order number. -### Schedule payments + - `schedule_at` : Scheduled time of payment (UNIX timestamp) -To schedule payments, call the REST API[ **/subscribe/payments/schedule**](../../api/subscription-payment-api/schedule-payment-api). + - `amount` : Payment amount (can be different from the amount specified for subscription/recurring payment registration). -- `customer_uid` : `customer_uid` specified for subscription/recurring payment registration. -- `schedules` : Payment schedule object array (one or more schedules). - - `merchant_uid` : Merchant managed order number. - - `schedule_at` : Scheduled time of payment (UNIX timestamp) - - `amount` : Payment amount (can be different from the amount specified for subscription/recurring payment registration). - - `extra.naverUseCfm` : Expiration date (string in yyyyMMdd format, must be same as the date of payment or later). - - Specify if contract between Naver Pay and merchant requires this value for the specified product type (such as music or performance tickets). + - `extra.naverUseCfm` : Expiration date (string in yyyyMMdd format, must be same as the date of payment or later). + - Specify if contract between Naver Pay and merchant requires this value for the specified product type (such as music or performance tickets). -```json title="sample json" -{ - "customer_uid": "gildong_0001_1234", - "schedules": [ + ```json title="sample json" { - "merchant_uid": "order_monthly_0003", // Cannot be reused - "schedule_at": 1519862400, - "amount": 10000, - "extra": { - "naverUseCfm": "20201001" - } + "customer_uid": "gildong_0001_1234", + "schedules": [ + { + "merchant_uid": "order_monthly_0003", // Cannot be reused + "schedule_at": 1519862400, + "amount": 10000, + "extra": { + "naverUseCfm": "20201001" + } + } + ] } - ] -} -``` + ``` -```title="form-urlencoded" -customer_uid={Unique key to identify the customer}&schedules[0][merchant_uid]={Oder number}&schedules[0][schedule_at]={Scheduled time of payment UNIX timestamp}&schedules[0][amount]=10000&schedules[0][extra][naverUseCfm]=20201001 -``` - - + ```txt title="form-urlencoded" + customer_uid={Unique key to identify the customer}&schedules[0][merchant_uid]={Oder number}&schedules[0][schedule_at]={Scheduled time of payment UNIX timestamp}&schedules[0][amount]=10000&schedules[0][extra][naverUseCfm]=20201001 + ``` + -### Note - -#### Must return error message as-is + ### Note -After calling the payment window (IMP.request_pay), if the payment process is interrupted by clicking the “Cancel” button at the bottom of the payment window, or if payment fails due to reasons such as insufficient balance, exceeding the limit, or less than 100 won, the reason for failure (error_msg) is included in the payment result (response object/query parameter) returned via callback (popup mode) or m_redirect_url (redirect mode). This error message must be returned to the user as it is without processing. If you do not comply with this rule, Naver Pay will request for correction during inspection. + #### Must return error message as-is -Example: Assuming that error_msg is “Insufficient balance”, it should not be returned to the user as “Payment failed. Reason for failure:" + "Insufficient balance". + After calling the payment window (IMP.request\_pay), + if the payment process is interrupted by clicking the “Cancel” button at the bottom of the payment window, + or if payment fails due to reasons such as insufficient balance, exceeding the limit, + or less than 100 won, the reason for failure (error\_msg) is included in the payment result (response object/query parameter) + returned via callback (popup mode) or m\_redirect\_url (redirect mode). + This error message must be returned to the user as it is without processing. + If you do not comply with this rule, Naver Pay will request for correction during inspection. -**Must implement exception handling for payment amount under 100 won** + Example: Assuming that error\_msg is “Insufficient balance”, + it should not be returned to the user as “Payment failed. Reason for failure:" + "Insufficient balance". -You must implement exception handling for payment amount less than 100 won, the minimum amount for Naver Pay. + **Must implement exception handling for payment amount under 100 won** -Example: Must return a 'less than minimum amount (100 won)' error message to the user. + You must implement exception handling for payment amount less than 100 won, + the minimum amount for Naver Pay. + Example: Must return a 'less than minimum amount (100 won)' error message to the user.
-

Payment cancellation

+

Payment cancellation

-To call the i'mport cancel payment API `POST` [**`/payments/cancel`**](../../api/payment-api/cancel-payment-api) , you must specify the following parameters. (**If omitted, Naver Pay's inspection will fail**) + To call the i'mport cancel payment API `POST` [**`/payments/cancel`**](../../api/payment-api/cancel-payment-api) , you must specify the following parameters. (**If omitted, Naver Pay's inspection will fail**) -- **`extra.requester`** : API requestor - - **`customer`** - - **`admin`**(default) -- **`reason`**: reason for cancellation + - **`extra.requester`** : API requestor + - **`customer`** + - **`admin`**(default) -**Example (json)** + - **`reason`**: reason for cancellation -```javascript -{ - "imp_uid" : "imp_123412341234", // i'mport transaction ID - "amount" : 3000, // Refund amount - "reason": "Reson for cancellation", // Must be the actual reason - "extra" : { - "requester" : "customer" - } -} -``` + **Example (json)** -**Example (form-urlencoded)** + ```json + { + "imp_uid": "imp_123412341234", // i'mport transaction ID + "amount": 3000, // Refund amount + "reason": "Reson for cancellation", // Must be the actual reason + "extra": { + "requester": "customer" + } + } + ``` -``` -imp_uid=imp_123412341234&amount=3000&extra[requester]=customer -``` + **Example (form-urlencoded)** + ```txt + imp_uid=imp_123412341234&amount=3000&extra[requester]=customer + ```
diff --git a/src/content/docs/en/payment-integration-by-pg/simple/payco.mdx b/src/content/docs/en/payment-integration-by-pg/simple/payco.mdx index 715a9a48f..6ebd63241 100644 --- a/src/content/docs/en/payment-integration-by-pg/simple/payco.mdx +++ b/src/content/docs/en/payment-integration-by-pg/simple/payco.mdx @@ -5,157 +5,158 @@ description: PAYCO simple payment integration guide import Codepen from "~/components/gitbook/Codepen.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure PAYCO simple payment PG settings +## 1. Configure PAYCO simple payment PG settings -Refer to the [**PAYCO settings**](../../ready/2.-pg/pg/undefined-3) page to configure the PG settings. +Refer to the [**PAYCO settings**](../../ready/2.-pg/pg/undefined-3) page +to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment -To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'payco', - merchant_uid: '{Merchant created Order ID}', //Example: order_no_0001 - name : 'Order name: Test payment', - amount : 14000, - buyer_email : 'iamport@siot.do', - buyer_name : 'Customer name', - buyer_tel : '010-1234-5678', - buyer_addr : 'Samseong-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456' -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` - -#### - -### Key parameter description - -**`pg`** **\***\*\* ****s****tring\*\* - -**PG code** - -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`payco`**. - -**`pay_method`** **s****tring** + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "payco", + merchant_uid: "{Merchant created Order ID}", //Example: order_no_0001 + name: "Order name: Test payment", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "Customer name", + buyer_tel: "010-1234-5678", + buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -**Payment method code** + ### Key parameter description -
-

Payment method codes

+ **`pg`** **\*** **string** -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) + **PG code** -
+ - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`payco`**. -**`merchant_uid`** **\***\*\* ****s****tring\*\* + **`pay_method`** **string** -**Order ID** + **Payment method code** -Must be unique for each request. +
+

Payment method codes

-**`buyer_tel`****`*`****`string`** + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) +
-**Customer phone number** + **`merchant_uid`** **\*** **string** -Required + **Order ID** -**`amount`** **\***\*\* ****integer\*\* + Must be unique for each request. -**Payment amount** + **`buyer_tel`****`*`****`string`** -Must be an integer (not string) + **Customer phone number** - + Required -
+ **`amount`** **\*** **integer** - -To open subscription payment window, specify the **customer\_uid** parameter. + **Payment amount** - -**amount** + Must be an integer (not string) -- For display purpose only. No payment approval. + + - + + To open subscription payment window, specify the **customer\_uid** parameter. -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "payco", - merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 - name: "Order name: Billing key request test", - amount: 0, // For display purpose only - customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) - buyer_email: "johndoe@gmail.com", - buyer_name: "John Doe", - buyer_tel: "02-1234-1234", - }, - function (rsp) { - if (rsp.success) { - alert("Success"); - } else { - alert("Failed"); - } - } -); -``` + + **amount** -### Key parameter description + - For display purpose only. No payment approval. + -**`pg`** **\***\*\* ****s****tring\*\* + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "payco", + merchant_uid: "{Merchant created Order ID}", // Example: issue_billingkey_monthly_0001 + name: "Order name: Billing key request test", + amount: 0, // For display purpose only + customer_uid: "{Unique ID for the card (billing key)}", // Required (Example: gildong_0001_1234) + buyer_email: "johndoe@gmail.com", + buyer_name: "John Doe", + buyer_tel: "02-1234-1234", + }, + function (rsp) { + if (rsp.success) { + alert("Success"); + } else { + alert("Failed"); + } + }, + ); + ``` -**PG code** + ### Key parameter description -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`payco`**. + **`pg`** **\*** **string** -**`customer_uid`** **\***\*\* ****string\*\* + **PG code** -**Credit card billing key** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`payco`**. -Billing key to be mapped 1:1 with the user-entered credit card information. + **`customer_uid`** **\*** **string** -**`amount`** **\***\*\* ****Integer\*\* + **Credit card billing key** -**Payment amount** + Billing key to be mapped 1:1 with the user-entered credit card information. -For display purpose only. No payment approval. + **`amount`** **\*** **Integer** -### Request payment with billing key (customer_uid) + **Payment amount** -After successfully getting the billing key, the billing key is **stored on the i'mport server** mapped 1:1 with the specified `customer_uid`. For security reasons, the server cannot directly access the billing key. Subsequent payments can be requested by calling the [**non-authenticated payment request REST API**](../../api/api/api) with the `customer_uid` as follows: + For display purpose only. No payment approval. -```title="sever-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + ### Request payment with billing key (customer\_uid) - + After successfully getting the billing key, the billing key is **stored on the i'mport server** + mapped 1:1 with the specified `customer_uid`. + For security reasons, the server cannot directly access the billing key. + Subsequent payments can be requested by calling + the [**non-authenticated payment request REST API**](../../api/api/api) + with the `customer_uid` as follows: - -**Not supported.** + ```sh title="sever-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` + -
+ + **Not supported.** +
diff --git a/src/content/docs/en/payment-integration-by-pg/simple/readme.mdx b/src/content/docs/en/payment-integration-by-pg/simple/readme.mdx index 873d7591f..09cc87ea4 100644 --- a/src/content/docs/en/payment-integration-by-pg/simple/readme.mdx +++ b/src/content/docs/en/payment-integration-by-pg/simple/readme.mdx @@ -3,4 +3,4 @@ title: Simple payments description: Learn how to integrate simple payments. --- -### Learn how to integrate simple payments. +Learn how to integrate simple payments. diff --git a/src/content/docs/en/payment-integration-by-pg/simple/toss.mdx b/src/content/docs/en/payment-integration-by-pg/simple/toss.mdx index d12e0814d..61a94bd2f 100644 --- a/src/content/docs/en/payment-integration-by-pg/simple/toss.mdx +++ b/src/content/docs/en/payment-integration-by-pg/simple/toss.mdx @@ -4,86 +4,85 @@ description: Toss simple payment integration guide --- import Codepen from "~/components/gitbook/Codepen.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### 1. Configure Toss simple payment PG settings +## 1. Configure Toss simple payment PG settings -Refer to the [**Toss simple pay settings**](../../ready/2.-pg/pg/undefined-1) page to configure the PG settings. +Refer to the [**Toss simple pay settings**](../../ready/2.-pg/pg/undefined-1) page +to configure the PG settings. ![]() -### 2. Request payment +## 2. Request payment -To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) IMP.**request_pay**(param, callback). +To open the payment window, call [JavaScript SDK](../../sdk/javascript-sdk/) +IMP.**request\_pay**(param, callback). -In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. In mobile browsers, the page is redirected to **m_redirect_url**. +In PC browsers, **callback** is invoked after calling `IMP.request_pay(param, callback)`. +In mobile browsers, the page is redirected to **m\_redirect\_url**. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg : 'tosspay', - pay_method : 'card', - merchant_uid: '{Merchant created Order ID}', //Example: order_no_0001 - name : 'Order name: Test payment', - amount : 14000, - buyer_email : 'iamport@siot.do', - buyer_name : 'Customer name', - buyer_tel : '010-1234-5678', - buyer_addr : 'Samseong-dong, Gangnam-gu, Seoul', - buyer_postcode : '123-456', - m_redirect_url : "{URL to redirect to after payment approval}" //Example: http://yourservice.com/payments/complete -}, function(rsp) { // callback logic - //* ...Omitted... *// -}); -``` + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "tosspay", + pay_method: "card", + merchant_uid: "{Merchant created Order ID}", //Example: order_no_0001 + name: "Order name: Test payment", + amount: 14000, + buyer_email: "iamport@siot.do", + buyer_name: "Customer name", + buyer_tel: "010-1234-5678", + buyer_addr: "Samseong-dong, Gangnam-gu, Seoul", + buyer_postcode: "123-456", + m_redirect_url: "{URL to redirect to after payment approval}", //Example: http://yourservice.com/payments/complete + }, + function (rsp) { + // callback logic + //* ...Omitted... *// + }, + ); + ``` -#### + ### Key parameter description -### Key parameter description + **`pg`** **\*** **string** -**`pg`** **\***\*\* ****s****tring\*\* + **PG code** -**PG code** + - If not specified and this is the only PG setting that exists, `default PG` is automatically set. + - If there are multiple PG settings, set to **`tosspay`**. -- If not specified and this is the only PG setting that exists, `default PG` is automatically set. -- If there are multiple PG settings, set to **`tosspay`**. + **`pay_method`** **string** -**`pay_method`** **s****tring** + **Payment method code** -**Payment method code** + - `card` (credit card) + - `trans` (instant account transfer) -- `card` (credit card) -- `trans` (instant account transfer) + **`name`** **\*** **string** -**`name`** **\***\*\* ****s****tring\*\* + **Product name** -**Product name** + **`merchant_uid`** **\*** **string** -**`merchant_uid`** **\***\*\* ****s****tring\*\* + **Order ID** -**Order ID** + Must be unique for each request. -Must be unique for each request. + **`amount`** **\*** **integer** -**`amount`** **\***\*\* ****integer\*\* + **Payment amount** -**Payment amount** + Must be an integer (not string) -Must be an integer (not string) - - - - + + -**Toss simple payment is processed in mobile Toss App.** - + **Toss simple payment is processed in mobile Toss App.** diff --git a/src/content/docs/en/readme.mdx b/src/content/docs/en/readme.mdx index e0af29e95..d0c269c5f 100644 --- a/src/content/docs/en/readme.mdx +++ b/src/content/docs/en/readme.mdx @@ -14,7 +14,7 @@ import Hint from "~/components/Hint.astro"; Read the [Setup](ready/) guide for payment integration guide before proceeding with payment integration. -### Payment window integration +## Payment window integration You can easily integrate your payment window by following these guides. @@ -24,13 +24,13 @@ You can easily integrate your payment window by following these guides. -### Ensuring payment result notification +## Ensuring payment result notification Learn how to use i'mport webhook, a stable and reliable method for receiving payment results. -### Other service integrations +## Other service integrations Learn how to integrate other useful services to your site. @@ -44,7 +44,7 @@ Learn how to integrate other useful services to your site. -### Tips +## Tips Make sure to check these useful tips about payment integration. @@ -62,29 +62,29 @@ Make sure to check these useful tips about payment integration. -### Admin console +## Admin console Learn how to use the Admin console. -### API +## API i'mport API specification -### SDK +## SDK Payment integration JS SDK specification -### FAQ +## FAQ -### **Payment integration guides by PG** +## **Payment integration guides by PG** diff --git a/src/content/docs/en/readme/get-started.mdx b/src/content/docs/en/readme/get-started.mdx index dc0739b90..920dbe61b 100644 --- a/src/content/docs/en/readme/get-started.mdx +++ b/src/content/docs/en/readme/get-started.mdx @@ -5,20 +5,23 @@ description: Learn about i'mport online payments. import Figure from "~/components/Figure.astro"; -### i'mport provides payment window integration through JavaScript SDK so that anyone can easily implement complex PG payment integration specifications. +## i'mport provides payment window integration through JavaScript SDK so that anyone can easily implement complex PG payment integration specifications. - Simply add the library with 2 lines of code to complete the setup for payment window integration. -- Easily integrate the payment window using the JavaScript SDK that most developers are familiar with. + +- Easily integrate the payment window using the JavaScript SDK + that most developers are familiar with.
-### Changes to PGs and payment methods are also processed simply by changing the relevant parameter values. +## Changes to PGs and payment methods are also processed simply by changing the relevant parameter values. -- You can easily add and change payment methods and PGs by modifying the JavaScript input parameters. +- You can easily add and change payment methods and PGs + by modifying the JavaScript input parameters.
-### We provide all payment references and integration samples and guides for various programming languages in sync with the latest trends. +## We provide all payment references and integration samples and guides for various programming languages in sync with the latest trends. - JAVA - PHP @@ -28,12 +31,9 @@ import Figure from "~/components/Figure.astro"; - Golang - ... -
+
-### All payment data is protected in real time through monitoring so that you can use it with confidence. +## All payment data is protected in real time through monitoring so that you can use it with confidence. - Encryption of all payment data - Blocking of any attempts to forge/falsify payment data @@ -41,18 +41,22 @@ import Figure from "~/components/Figure.astro"; ![]() -### By storing payment progress cycles in real time, you can accurately analyze the reason and cause of payment failures. +## By storing payment progress cycles in real time, you can accurately analyze the reason and cause of payment failures. - When payment widow is active - When payment window is closed by the user - When payment is complete -### You can easily cancel payments for any PG payment method. +## You can easily cancel payments for any PG payment method. + +- Regardless of the payment method, you can use the same cancellation API + to cancel any PG payment transaction. -- Regardless of the payment method, you can use the same cancellation API to cancel any PG payment transaction. - We support full and partial cancellations. -- You no longer have to waste development resources for implementing specific cancellation integration for each payment method. -### i'mport offers three value propositions. +- You no longer have to waste development resources + for implementing specific cancellation integration for each payment method. + +## i'mport offers three value propositions. ![](/gitbook-assets/en/spaces_hTv8JEzyM5h4cYcL5StH_uploads_Lpr4komSQxZ7IYGwpmqG_image.png) diff --git a/src/content/docs/en/ready/1.mdx b/src/content/docs/en/ready/1.mdx index 87ed30712..24df062d2 100644 --- a/src/content/docs/en/ready/1.mdx +++ b/src/content/docs/en/ready/1.mdx @@ -7,19 +7,17 @@ import Details from "~/components/gitbook/Details.astro"; import Hint from "~/components/Hint.astro"; -For payment integration, you must first create an account from the i'mport Admin [**Sign Up**](https://admin.iamport.kr) page. - -You can sign up for **free without a contract**. + For payment integration, you must first create an account from the i'mport Admin [**Sign Up**](https://admin.iamport.kr) page. + You can sign up for **free without a contract**.
-

Create an i'mport account now

- -Just need to provide your "**email address"**. +

Create an i'mport account now

-Use a “**strong password**" to protect it from unauthorized access. + Just need to provide your "**email address"**. + Use a “**strong password**" to protect it from unauthorized access.
Click **Sign up** from the pages below to create an account. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/daou.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/daou.mdx index eede8a162..979e5d012 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/daou.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/daou.mdx @@ -4,141 +4,127 @@ description: Learn how to set up Daou. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## Authenticated payment - -### **Test environment setup** + + ### **Test environment setup** -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**PAYJOA**) → **PAYJOA** -> **Add** -2. Check the auto-generated Merchant ID/Key/MID values and click **Save** + 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**PAYJOA**) → **PAYJOA** -> **Add** + 2. Check the auto-generated Merchant ID/Key/MID values and click **Save** -
+
-
+
+ - + + ### Live environment setup - -### Live environment setup + 1. **Payment integration -> Live settings** + 2. Select PG (**PAYJOA**) → **PAYJOA** -> **Add** + 3. Enter merchant info issued by Daou upon contract signing. -1. **Payment integration -> Live settings** -2. Select PG (**PAYJOA**) → **PAYJOA** -> **Add** -3. Enter merchant info issued by Daou upon contract signing. +
-
+
-
+
-
+ + ### **Checklist** - -### **Checklist** + - Must request MID for the correct **product type** (physical/digital). + - **Payment integration key** is required for payment cancellation. + -- Must request MID for the correct **product type** (physical/digital). -- **Payment integration key** is required for payment cancellation. + ### \[PAYJOA Admin console settings] - + Configure the following settings to **successfully receive payment result**. -### + 1. Log in to the [PAYJOA Admin page](https://agent.kiwoompay.co.kr/) -### \[PAYJOA Admin console settings] + 2. At the top of the page, click **Customer support** > **Integration settings** -Configure the following settings to **successfully receive payment result**. + ![]() -1. Log in to the [PAYJOA Admin page](https://agent.kiwoompay.co.kr/) -2. At the top of the page, click **Customer support** > **Integration settings** + 3. In the integration settings page, select the **CPID** at the bottom and then click **Edit** -![]() +
-3\. In the integration settings page, select the **CPID** at the bottom and then click **Edit** + 4. For each contracted payment method, set the **Notification URL** -
+ > [https://service.iamport.kr/daou\_payments/result](https://service.iamport.kr/daou_payments/result) -4\. For each contracted payment method, set the **Notification URL** - -> [https://service.iamport.kr/daou_payments/result](https://service.iamport.kr/daou_payments/result) - -![]() - - + ![]() + ## Non-authenticated payment - -### Subscription test environment setup - -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**PAYJOA**) → **PAYJOA API** -> **Add** -2. **Select 'Subscription** test CTS17266' **Edit -> Save** - -
- -
- -### - -### Key-in (one-time) test environment setup - -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**PAYJOA**) → **PAYJOA API** -> **Add** -2. **Select 'Key-in** test CTS16629' **Edit -> Save** - -
- -
+ + ### Subscription test environment setup - -### **Test key-in payment with different required parameters** + 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**PAYJOA**) → **PAYJOA API** -> **Add** + 2. **Select 'Subscription** test CTS17266' **Edit -> Save** -You can test by setting different required parameters by CPID. +
-- **Credit card number + password + expiration date + date of birth** +
- \- CPID : **CTS16629** + ### Key-in (one-time) test environment setup - \- Secret : 7f59ab6239259b191e2806111734c17c4650301ae0f241d2939c747176b4f6aa + 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**PAYJOA**) → **PAYJOA API** -> **Add** + 2. **Select 'Key-in** test CTS16629' **Edit -> Save** -- **Credit card number + expiration date** +
- \- CPID : **CTS16628** +
- \- Secret : 9e810e78e4d8ac765f8f04f1f3132da0c4891a2c04f6ee5a142bc333070b68a9 + + ### **Test key-in payment with different required parameters** - + You can test by setting different required parameters by CPID. - -### **Checklist** + - **Credit card number + password + expiration date + date of birth** -- PAYJOA's subscription payment supports only the REST API method. -- In test mode, actual withdrawal occurs but is automatically cancelled daily between 23:00 and 23:50. -- Note that the test Merchant ID for **key-in** (one-time) and **subscription** payments are different. -- Must request MID for the correct **product type** (physical/digital). + - CPID : **CTS16629** + - Secret : 7f59ab6239259b191e2806111734c17c4650301ae0f241d2939c747176b4f6aa - + - **Credit card number + expiration date** -### + - CPID : **CTS16628** + - Secret : 9e810e78e4d8ac765f8f04f1f3132da0c4891a2c04f6ee5a142bc333070b68a9 + -### Subscription/key-in payment production environment setup + + ### **Checklist** -1. **Payment integration -> Live settings** -2. Select PG (**PAYJOA**) → **PAYJOA API** -> **Add** -3. Enter merchant info issued by Daou upon contract signing + - PAYJOA's subscription payment supports only the REST API method. + - In test mode, actual withdrawal occurs but is automatically cancelled daily between 23:00 and 23:50. + - Note that the test Merchant ID for **key-in** (one-time) and **subscription** payments are different. + - Must request MID for the correct **product type** (physical/digital). + -
+ ### Subscription/key-in payment production environment setup -
+ 1. **Payment integration -> Live settings** + 2. Select PG (**PAYJOA**) → **PAYJOA API** -> **Add** + 3. Enter merchant info issued by Daou upon contract signing -
+
- +
- -**Not supported** +
+ - + + **Not supported** + diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/jtnet.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/jtnet.mdx index 687e58788..a9572c2a5 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/jtnet.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/jtnet.mdx @@ -3,117 +3,108 @@ title: JTNET 설정 description: JTNET PG사 설정 방법을 확인합니다. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 인증결제 - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 JTNet(tPay) 선택 → 테스트모드 \[ON] → \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 JTNet(tPay) 선택 → 테스트모드 \[ON] → \[전체 저장] 클릭 - -**테스트MID 정보** + + **테스트MID 정보** -- MID : tpaytest0m -- Secret 키 : VXFVMIZGqUJx29I/k52vMM8XG4hizkNfiapAkHHFxq0RwFzPit55D3J3sAeFSrLuOnLNVCIsXXkcBfYK1wv8kQ== -- 취소비밀번호 : 123456 + - MID : tpaytest0m + - Secret 키 : VXFVMIZGqUJx29I/k52vMM8XG4hizkNfiapAkHHFxq0RwFzPit55D3J3sAeFSrLuOnLNVCIsXXkcBfYK1wv8kQ== + - 취소비밀번호 : 123456 + - + ![]() + -![]() + + ### **실** 환경 구성방법 - + 카드사 심사 완료 후 JTNet에서 발급받은 실상점 정보를 \*\*테스트모드 \*\***OFF** 처리 이후 설정합니다. - -### **실** 환경 구성방법 - -카드사 심사 완료 후 JTNet에서 발급받은 실상점 정보를 **테스트모드 ****OFF** 처리 이후 설정합니다. - -![]() - - + ![]() + ## 비 인증 결제 - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 JTNet(tPay) 선택 → **테스트모드 \[OFF]** → 아래의 상점정보 직접 입력 → \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 JTNet(tPay) 선택 → **테스트모드 \[OFF]** → 아래의 상점정보 직접 입력 → \[전체 저장] 클릭 - -**테스트MID 정보** + + **테스트MID 정보** -- PG상점아이디(MID) : tpaytest2m -- PG상점 Secret : coqTx/Taxu9W6dlKPhFuciagoVXr/14ezgoK9+qJCf4bBuo23iRGGWHS4rHIuOSgZ6I/uizX39W/NygDplUYOA== -- 결제취소 비밀번호 : 1234 + - PG상점아이디(MID) : tpaytest2m + - PG상점 Secret : coqTx/Taxu9W6dlKPhFuciagoVXr/14ezgoK9+qJCf4bBuo23iRGGWHS4rHIuOSgZ6I/uizX39W/NygDplUYOA== + - 결제취소 비밀번호 : 1234 + - + ![]() -![]() + ### **실** 환경 구성방법 -### **실** 환경 구성방법 + 카드사 심사 완료 후 JTNet에서 발급받은 실상점 정보를 **설정합니다.** -카드사 심사 완료 후 JTNet에서 발급받은 실상점 정보를 **설정합니다.** + ![]() + -![]() + + ### 테스트 환경 구성방법(키인결제) - + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**정기결제 및 키인결제**) → PG사 JTNet(tPay) 선택 → **카드사 심사 전 개발용 계정 설정** 선택-> \[전체 저장] 클릭 - -### 테스트 환경 구성방법(키인결제) + + **테스트MID 정보(키인결제용도)** -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**정기결제 및 키인결제**) → PG사 JTNet(tPay) 선택 → **카드사 심사 전 개발용 계정 설정** 선택-> \[전체 저장] 클릭 + - MID : tpaytest1m + - Secret 키 : hgEY70BdDgoJYVOwj5CHsRDQt5a6IieQLQv+Q2rA6nnW+wXP57fH2ZkvUBJW0c9/eF1Rp5QRZ+qjzJ+Knc8r1A== + - 취소비밀번호 : 123456 + - -**테스트MID 정보(키인결제용도)** - -- MID : tpaytest1m -- Secret 키 : hgEY70BdDgoJYVOwj5CHsRDQt5a6IieQLQv+Q2rA6nnW+wXP57fH2ZkvUBJW0c9/eF1Rp5QRZ+qjzJ+Knc8r1A== -- 취소비밀번호 : 123456 - - - -![]() + ![]() -### 실 환경 구성방법(키인결제) + ### 실 환경 구성방법(키인결제) -카드사 심사 완료 후 JTNet 에서 발급받은 실상점 정보를 설정합니다. + 카드사 심사 완료 후 JTNet 에서 발급받은 실상점 정보를 설정합니다. -![]() + ![]() -### 테스트 환경 구성방법(**정기결제**) + ### 테스트 환경 구성방법(**정기결제**) -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**정기결제 및 키인결제**) → PG사 JTNet(tPay키인결제) 선택 → 아래의 상점정보 직접 입력 → \[저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**정기결제 및 키인결제**) → PG사 JTNet(tPay키인결제) 선택 → 아래의 상점정보 직접 입력 → \[저장] 클릭 - -**테스트MID 정보(정기결)** - -- PG상점아이디 : tpaytest2m -- PG상점 Secret : coqTx/Taxu9W6dlKPhFuciagoVXr/14ezgoK9+qJCf4bBuo23iRGGWHS4rHIuOSgZ6I/uizX39W/NygDplUYOA== -- 결제취소비밀번호 : 1234 + + **테스트MID 정보(정기결)** - + - PG상점아이디 : tpaytest2m + - PG상점 Secret : coqTx/Taxu9W6dlKPhFuciagoVXr/14ezgoK9+qJCf4bBuo23iRGGWHS4rHIuOSgZ6I/uizX39W/NygDplUYOA== + - 결제취소비밀번호 : 1234 + -![]() + ![]() -### 실 환경 구성방법(정기결제) + ### 실 환경 구성방법(정기결제) -카드사 심사 완료 후 JTNet 에서 발급받은 실상점 정보를 설정합니다. + 카드사 심사 완료 후 JTNet 에서 발급받은 실상점 정보를 설정합니다. -![]() - - + ![]() + -### **체크사항** - -JTNet 테스트 모드의 경우 실제 출금 되지만 매일 23:00\~23:50분 사이 자동 취소됩니다. + ### **체크사항** + JTNet 테스트 모드의 경우 실제 출금 되지만 매일 23:00\~23:50분 사이 자동 취소됩니다. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/kg.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/kg.mdx index 4485d09ef..7d452bd4f 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/kg.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/kg.mdx @@ -4,30 +4,28 @@ description: KG모빌리언스 설정방법을 안내합니다. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 인증결제 - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/) → 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 모빌리언스 선택 → **테스트모드 \[ON]** → **서비스 ID** 에 **170622040674** 입력 → \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/) → 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 모빌리언스 선택 → **테스트모드 \[ON]** → **서비스 ID** 에 **170622040674** 입력 → \[전체 저장] 클릭 -
+
+ - + + ### **실** 환경 구성방법 - -### **실** 환경 구성방법 + PG사 심사 완료 후 KG모빌리언스에서 발급받은 실상점 정보를 **테스트모드 OFF** 이후 설정합니다. -PG사 심사 완료 후 KG모빌리언스에서 발급받은 실상점 정보를 **테스트모드 OFF** 이후 설정합니다. - -
- - +
+ ## 비 인증 결제 @@ -35,17 +33,15 @@ PG사 심사 완료 후 KG모빌리언스에서 발급받은 실상점 정보를 > **KG모빌리언스 비 인증 결제는 휴대폰 결제만 지원합니다.** - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 모빌리언스 선택 → **테스트모드 \[ON]** → **서비스 ID** 에 '**170622040674**' 입력 → \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 모빌리언스 선택 → **테스트모드 \[ON]** → **서비스 ID** 에 '**170622040674**' 입력 → \[전체 저장] 클릭 -
- - +
+ -**KG모빌리언스 테스트 모드의 경우 실제 출금 되지만 매일 23:00\~23:50분 사이 자동 취소됩니다.** - + **KG모빌리언스 테스트 모드의 경우 실제 출금 되지만 매일 23:00\~23:50분 사이 자동 취소됩니다.** diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/kicc.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/kicc.mdx index aaa226e0f..78d156d69 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/kicc.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/kicc.mdx @@ -4,77 +4,72 @@ description: Learn how to set up KICC. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## Authenticated payment - -### **Test environment setup** - -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**KICC**) → **KICC** -> **Add** -2. Check the auto-generated test MID value and click **Save** + + ### **Test environment setup** -
+ 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**KICC**) → **KICC** -> **Add** + 2. Check the auto-generated test MID value and click **Save** -
+
- +
+ - -### Live environment setup + + ### Live environment setup -1. **Payment integration -> Live settings** -2. Select PG (**KICC**) → **KICC** -> **Add** -3. Enter merchant info issued by KICC upon approval by the credit card company. + 1. **Payment integration -> Live settings** + 2. Select PG (**KICC**) → **KICC** -> **Add** + 3. Enter merchant info issued by KICC upon approval by the credit card company. -
+
-
+
-
- - +
+ ## Non-authenticated payment - -### Test environment setup - -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**KICC**) → **KICC** -> **Add** -2. Check the auto-generated MID value and then click **Save**. + + ### Test environment setup -
+ 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**KICC**) → **KICC** -> **Add** + 2. Check the auto-generated MID value and then click **Save**. -
+
-### Live environment setup +
-1. **Payment integration -> Live settings** -2. **KICC -> KICC -> Add** -3. Enter **MID** issued at contract signing -> **Save** + ### Live environment setup -
+ 1. **Payment integration -> Live settings** + 2. **KICC -> KICC -> Add** + 3. Enter **MID** issued at contract signing -> **Save** -
+
-
+
- +
+ - -**Not supported.** - - + + **Not supported.** + -**Note** - -In KICC test mode, no money is actually withdrawn. + **Note** + In KICC test mode, no money is actually withdrawn. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/nhn-kcp-1.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/nhn-kcp-1.mdx index 45a63ca2a..3cd706083 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/nhn-kcp-1.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/nhn-kcp-1.mdx @@ -4,101 +4,93 @@ description: Learn how to set up KG INICIS. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## Authenticated payment - -### **Test environment setup** + + ### **Test environment setup** -1. [i'mport Admin console](https://admin.iamport.kr) → **Payment integration** → **Test settings** → Select PG (**KG INICIS**) → **KG INICIS** -> **Add** -2. Select **General payment test INIpayTest Settings** -> **Save** + 1. [i'mport Admin console](https://admin.iamport.kr) → **Payment integration** → **Test settings** → Select PG (**KG INICIS**) → **KG INICIS** -> **Add** + 2. Select **General payment test INIpayTest Settings** -> **Save** -> A payment is made on the i'mport test account. + > A payment is made on the i'mport test account. -
+
-
+
- -**KG INICIS PG Merchant ID (MID) : INIpayTest** - - + + **KG INICIS PG Merchant ID (MID) : INIpayTest** + + - + + ### Live environment setup - -### Live environment setup + 1. **Payment integration -> Live settings** + 2. **KG INICIS -> KG INICIS -> Add** + 3. Enter **MID** issued at contract signing. -1. **Payment integration -> Live settings** -2. **KG INICIS -> KG INICIS -> Add** -3. Enter **MID** issued at contract signing. +
-
+
-
- -
- - +
+ ## Non-authenticated payment -- To get a KG INICIS **API billing key**, you must first check service entry possibility through the PG. In most cases, **'payment window method'** is supported but '**API method**' service entry conditions are stringent due to PG's policy. -- **Foreign credit cards are not supported.** - + - To get a KG INICIS **API billing key**, you must first check service entry possibility through the PG. In most cases, **'payment window method'** is supported but '**API method**' service entry conditions are stringent due to PG's policy. + - **Foreign credit cards are not supported.** - -### Test environment setup - -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**KG INICIS**) → **KG INICIS** -> **Add** -2. **Subscription payment test `INIBillTst` Settings ->** **Save** - -
- -
+ + ### Test environment setup -### Live environment setup + 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**KG INICIS**) → **KG INICIS** -> **Add** + 2. **Subscription payment test `INIBillTst` Settings -> Save** -1. **Payment integration -> Live settings** -2. **KG INICIS -> KG INICIS -> Add** -3. Enter **MID** issued at contract signing. (**MID for billing is required)** +
-
+
-
+ ### Live environment setup -
+ 1. **Payment integration -> Live settings** + 2. **KG INICIS -> KG INICIS -> Add** + 3. Enter **MID** issued at contract signing. (**MID for billing is required)** - +
- -### Test environment setup +
-[i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**KG INICIS**) → **KG INICIS API** -> **Add** +
+ -
+ + ### Test environment setup -### + [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**KG INICIS**) → **KG INICIS API** -> **Add** -### Live environment setup +
-1. **Payment integration -> Live settings** -2. **KG INICIS -> ****KG INICIS API**** -> Add** -3. Enter **MID** issued at contract signing. + ### Live environment setup -
+ 1. **Payment integration -> Live settings** + 2. **KG INICIS -> ****KG INICIS API**** -> Add** + 3. Enter **MID** issued at contract signing. -
+
-
+
- +
+ diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/nhn-kcp.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/nhn-kcp.mdx index 91a7b17a7..022eb2cae 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/nhn-kcp.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/nhn-kcp.mdx @@ -4,35 +4,35 @@ description: Learn how to set up NHN KCP. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## Authenticated payment - -### **Test environment setup** + + ### **Test environment setup** -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NHN KCP**) → **NHN KCP** -> **Add** -2. Select **General payment test T0000 Settings** -> **Save** + 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NHN KCP**) → **NHN KCP** -> **Add** + 2. Select **General payment test T0000 Settings** -> **Save** -> A payment is made on the i'mport test account. + > A payment is made on the i'mport test account. -
+
-
+
+ - + + ### Live environment setup - -### Live environment setup + Enter the **Site Code** and **Site Key** issued by KCP using the **Add** button and then click **Save**. -Enter the **Site Code** and **Site Key** issued by KCP using the **Add** button and then click **Save**. +
-
- - +
+ ## Non-authenticated payment @@ -41,84 +41,78 @@ Since non-authenticated payment has more stringent conditions for service entry payment, you must first check service entry possibility with KCP. - -### Test environment setup + + ### Test environment setup -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NHN KCP**) → **NHN KCP (Subscription)** -> **Add** -2. Check the auto-generated MID value and then click **Save**. + 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NHN KCP**) → **NHN KCP (Subscription)** -> **Add** + 2. Check the auto-generated MID value and then click **Save**. -
+
-
+
-### Live environment setup + ### Live environment setup -Enter the live **Site Code** issued by KCP at contract signing as follows: + Enter the live **Site Code** issued by KCP at contract signing as follows: -1. **Payment integration -> Live settings** -2. **NHN KCP -> NHN KCP(Subscription) -> Add** -3. **Enter Site Code, Site Key, and Batch Payment Group ID -> Save** + 1. **Payment integration -> Live settings** + 2. **NHN KCP -> NHN KCP(Subscription) -> Add** + 3. **Enter Site Code, Site Key, and Batch Payment Group ID -> Save** - -**How to get a Batch Payment Group ID** \ -Log in to the KCP merchant admin page with the **site code issued by KCP for subscription payments**, enter a desired user name and a password to get a private certificate.\ - \- To get a certificate: [https://admin8.kcp.co.kr](https://admin8.kcp.co.kr/) > Log in with subscription payment ID > Customer service > Certificate issuance > KCP private certificate > Click Request NHN KCP certificate > Confirm Username (random input)\ - \- To get a group ID: [https://admin8.kcp.co.kr](https://admin8.kcp.co.kr/) > Log in with subscription payment ID > Payments > **General payment > Credit card** **> Batch payment ID >** Get group ID + + **How to get a Batch Payment Group ID** \ + Log in to the KCP merchant admin page with the **site code issued by KCP for subscription payments**, enter a desired user name and a password to get a private certificate.\ + \- To get a certificate: [https://admin8.kcp.co.kr](https://admin8.kcp.co.kr/) > Log in with subscription payment ID > Customer service > Certificate issuance > KCP private certificate > Click Request NHN KCP certificate > Confirm Username (random input)\ + \- To get a group ID: [https://admin8.kcp.co.kr](https://admin8.kcp.co.kr/) > Log in with subscription payment ID > Payments > **General payment > Credit card > Batch payment ID >** Get group ID + - +
-
+
-
+
+ -
+ + ### Test environment setup - + 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NHN KCP**) → **NHN KCP API** -> **Add** + 2. Check the auto-generated MID value and then click **Save**. - -### Test environment setup +
-1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NHN KCP**) → **NHN KCP API** -> **Add** -2. Check the auto-generated MID value and then click **Save**. +
-
+ ### Live environment setup -
+ Enter the **Site Code** and **Site Key** issued by KCP at contract signing as follows: -### Live environment setup + 1. **Payment integration -> Live settings** + 2. **NHN KCP -> NHN KCP API -> Add** + 3. **Enter Site Code (PG Merchant ID) and Site Key (PG Merchant Secret), and then enter Batch Payment Group ID -> Save** -Enter the **Site Code** and **Site Key** issued by KCP at contract signing as follows: + + **How to get a Batch Payment Group ID** \ + Log in to the KCP merchant admin page with the **site code issued by KCP for recurring payments**, and then enter a desired user name and a password to get a private certificate.\ + \- To get a certificate: [https://admin8.kcp.co.kr](https://admin8.kcp.co.kr/) > Log in with recurring payment ID > Customer service > Certificate issuance > KCP private certificate > Click Request NHN KCP certificate > Confirm Username (random input)\ + \- To get a group ID: [https://admin8.kcp.co.kr](https://admin8.kcp.co.kr/) > Log in with recurring payment ID > Payments > **General payment > Credit card > Batch payment ID >** Get group ID + -1. **Payment integration -> Live settings** -2. **NHN KCP -> NHN KCP API -> Add** -3. **Enter Site Code (PG Merchant ID) and Site Key (PG Merchant Secret), and then enter Batch Payment Group ID -> Save** +
- -**How to get a Batch Payment Group ID** \ -Log in to the KCP merchant admin page with the **site code issued by KCP for recurring payments**, and then enter a desired user name and a password to get a private certificate.\ - \- To get a certificate: [https://admin8.kcp.co.kr](https://admin8.kcp.co.kr/) > Log in with recurring payment ID > Customer service > Certificate issuance > KCP private certificate > Click Request NHN KCP certificate > Confirm Username (random input)\ - \- To get a group ID: [https://admin8.kcp.co.kr](https://admin8.kcp.co.kr/) > Log in with recurring payment ID > Payments > **General payment > Credit card** **> Batch payment ID >** Get group ID +
- - -
- -
- -
- - +
+ -**Since non-authenticated payment has more stringent conditions for service entry than general payment, you must first check service entry possibility with KCP.** - + **Since non-authenticated payment has more stringent conditions for service entry than general payment, you must first check service entry possibility with KCP.** -## Checklist - -- In test mode, no money withdrawl occurs for a payment. -- Hub-type Kakao Pay and Naver Pay do not support test mode. (Service is available after contract signing with KCP) + ## Checklist + - In test mode, no money withdrawl occurs for a payment. + - Hub-type Kakao Pay and Naver Pay do not support test mode. (Service is available after contract signing with KCP) diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/nice-payments.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/nice-payments.mdx index 9f97c19ae..92e33e997 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/nice-payments.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/nice-payments.mdx @@ -4,60 +4,56 @@ description: Learn how to set up NICE Payments. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## Authenticated payment - -### **Test environment setup** - -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NICE Payments**) → **NICE Payments** -> **Add** -2. Check the auto-generated test MID value and click **Save** - -> A payment is made on the i'mport test MID account. + + ### **Test environment setup** -
+ 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NICE Payments**) → **NICE Payments** -> **Add** + 2. Check the auto-generated test MID value and click **Save** -
+ > A payment is made on the i'mport test MID account. -In NICE Payments test mode, the following payment methods are **not supported**. +
-- Credit card: NH card, KB Kookmin card -- Mobile micropayments: KT +
- -**Payments made in NICE Payments test mode are cancelled daily between 23:00\~23:50.** + In NICE Payments test mode, the following payment methods are **not supported**. -Since cancelled transactions are not automatically reflected in i'mport, it is recommended that you submit a cancellation request after testing. + - Credit card: NH card, KB Kookmin card + - Mobile micropayments: KT - + + **Payments made in NICE Payments test mode are cancelled daily between 23:00\~23:50.** - + Since cancelled transactions are not automatically reflected in i'mport, it is recommended that you submit a cancellation request after testing. + + - -### Live environment setup + + ### Live environment setup -1. **Payment integration -> Live settings** -2. Select PG (**NICE Payments**) → **NICE Payments** -> **Add** -3. Enter merchant info issued by NICE Payments upon approval by the credit card company. + 1. **Payment integration -> Live settings** + 2. Select PG (**NICE Payments**) → **NICE Payments** -> **Add** + 3. Enter merchant info issued by NICE Payments upon approval by the credit card company. -
+
-
+
-
+
- -**Precautions when using virtual accounts** + + **Precautions when using virtual accounts** -You must log in to the NICE Payments Admin page and set the **virtual account deposit notification URL**. (If omitted, deposit will not be applied.) - - - - + You must log in to the NICE Payments Admin page and set the **virtual account deposit notification URL**. (If omitted, deposit will not be applied.) + + ## Non-authenticated payment @@ -65,30 +61,26 @@ You must log in to the NICE Payments Admin page and set the **virtual account de i'mport currently **only supports API method** for NICE Payments non-authenticated payments. - -### **Test environment setup** - -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NICE Payments**) → **NICE Payments API** -> **Add** -2. Check the auto-generated test MID value and click **Save** + + ### **Test environment setup** -
+ 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**NICE Payments**) → **NICE Payments API** -> **Add** + 2. Check the auto-generated test MID value and click **Save** -
+
-### +
-### Live environment setup + ### Live environment setup -- **Payment integration -> Live settings** -- Select PG (**NICE Payments**) → **NICE Payments API** -> **Add** -- Enter merchant info issued by NICE Payments upon approval by the credit card company + - **Payment integration -> Live settings** + - Select PG (**NICE Payments**) → **NICE Payments API** -> **Add** + - Enter merchant info issued by NICE Payments upon approval by the credit card company -
+
-
+
-
- - +
+ - diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/readme.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/readme.mdx index 674272698..04babc744 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/readme.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/readme.mdx @@ -5,7 +5,7 @@ description: Learn how to configure settings for each PG supported by i'mport. import ContentRef from "~/components/gitbook/ContentRef.astro"; -### Use the following instructions to set up each PG for payment integration from the i'mport Admin page. +## Use the following instructions to set up each PG for payment integration from the i'mport Admin page. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-1.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-1.mdx index ff4a3663b..159881e02 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-1.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-1.mdx @@ -4,9 +4,9 @@ description: Learn how to set up Paymentwall. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; import image3 from "./_assets/paymentwall/paymentwall.pingback.country_code.png"; import image1 from "./_assets/paymentwall/paymentwall.tab.widget.png"; @@ -101,7 +101,7 @@ as a pingback parameter. You can check this result by adding the `extension=true` query parameter when querying payment. -```jsx +```http GET http://api.iamport.kr/payments/{imp_uid}?extension=true ``` @@ -111,8 +111,8 @@ GET http://api.iamport.kr/payments/{imp_uid}?extension=true "vbank_name": null, "vbank_num": null, "extension": { - "country_code": "KR", // User Country Code(alpha-2) - // ... + "country_code": "KR", // User Country Code(alpha-2) + // ... } } ``` diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-2.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-2.mdx index dc88c3621..ae278f08f 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-2.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-2.mdx @@ -4,217 +4,146 @@ description: 다날 PG사 설정 방법을 안내합니다. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 인증**결제** - -**테스트 환경 구성방법** - -1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동** → **테스트 연동 관리** → **다날** → **다날** 선택 → **추가** -2. 자동으로 기재되는 CPID 정보 확인 후 **저장** + + **테스트 환경 구성방법** -
+ 1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동** → **테스트 연동 관리** → **다날** → **다날** 선택 → **추가** + 2. 자동으로 기재되는 CPID 정보 확인 후 **저장** -
+
- +
+ - -**실 환경 구성방법** + + **실 환경 구성방법** -1. [포트원 관리자 콘솔](https://admin.portone.io/)→ **결제 연동 → 실 연동 관리 선택** -2. **다날 → ****다날**** 선택 → 추가** -3. 카드사 심사 완료 후 다날에서 발급받은 실상점 정보 기재 후 저장 + 1. [포트원 관리자 콘솔](https://admin.portone.io/)→ **결제 연동 → 실 연동 관리 선택** + 2. **다날 → ****다날**** 선택 → 추가** + 3. 카드사 심사 완료 후 다날에서 발급받은 실상점 정보 기재 후 저장 -
+
-
+
-
- - +
+ ## 비 인증 결제 - -**테스트 환경 구성방법** - -1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동** → **테스트 연동 관리** → **다날** → **다날** 선택 → **추가** -2. 자동으로 기재되는 CPID 정보 확인 후 **저장** + + **테스트 환경 구성방법** -
+ 1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동** → **테스트 연동 관리** → **다날** → **다날** 선택 → **추가** + 2. 자동으로 기재되는 CPID 정보 확인 후 **저장** -
+
-**실 환경 구성방법** +
-1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동 → 실 연동 관리 선택** -2. **다날 → ****다날**** 선택 → 추가** -3. 카드사 심사 완료 후 다날에서 발급받은 실상점 정보 기재 후 저장 + **실 환경 구성방법** -
+ 1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동 → 실 연동 관리 선택** + 2. **다날 → ****다날**** 선택 → 추가** + 3. 카드사 심사 완료 후 다날에서 발급받은 실상점 정보 기재 후 저장 -
+
-
+
- +
+ - -**다날은 ****API**** 를 통한 비인증 결제를 지원하지 않습니다.** :cry: - - + + **다날은 ****API**** 를 통한 비인증 결제를 지원하지 않습니다.** :cry: + ## 휴대폰 소액결제 - -**테스트 환경 구성방법** - -- [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동** → **테스트 연동 관리** → **다날** → **다날** **휴대폰결제** 선택 → **추가** -- 자동으로 기재되는 CPID 정보 확인 후 **저장** + + **테스트 환경 구성방법** - -**다날 휴대폰결제 테스트용 CPID : A010002002** + - [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동** → **테스트 연동 관리** → **다날** → **다날** **휴대폰결제** 선택 → **추가** + - 자동으로 기재되는 CPID 정보 확인 후 **저장** - - -
- -
+ + **다날 휴대폰결제 테스트용 CPID : A010002002** + - +
- -**실 환경 구성방법** +
+ -1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동 → 실 연동 관리 선택** -2. **다날** → **다날** **휴대폰결제** 선택 → **추가** -3. 카드사 심사 완료 후 다날에서 발급받은 실상점 정보로 기재후 저장 + + **실 환경 구성방법** -
+ 1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동 → 실 연동 관리 선택** + 2. **다날** → **다날** **휴대폰결제** 선택 → **추가** + 3. 카드사 심사 완료 후 다날에서 발급받은 실상점 정보로 기재후 저장 -
+
-
+
- +
+ ## SMS 본인인증 - -**테스트 환경 구성방법** + + **테스트 환경 구성방법** -- [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동** → **테스트 연동 관리** → **다날** → **다날** **SMS 본인인증** 선택 → **추가** -- 다날 계약 후 발급받은 CPID 정보를 기재 후 **저장** + - [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동** → **테스트 연동 관리** → **다날** → **다날** **SMS 본인인증** 선택 → **추가** + - 다날 계약 후 발급받은 CPID 정보를 기재 후 **저장** - -**다날 SMS 본인인증** + + **다날 SMS 본인인증** -휴대폰 SMS 본인인증은 테스트는 별도의 테스트 전용 CPID 정보를 제공하지 않습니다. + 휴대폰 SMS 본인인증은 테스트는 별도의 테스트 전용 CPID 정보를 제공하지 않습니다. -테스트 진행을 위해서는 다날 계약이후 발급받은 정보로만 가능합니다. + 테스트 진행을 위해서는 다날 계약이후 발급받은 정보로만 가능합니다. + - +
-
+
+ -
+ + **실 환경 구성방법** - + 1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동 → 실 연동 관리 선택** + 2. **다날** → **다날** **휴대폰결제** 선택 → **추가** + 3. 카드사 심사 완료 후 다날에서 발급받은 실상점 정보로 기재후 저장 - -**실 환경 구성방법** +
-1. [포트원 관리자 콘솔](https://admin.portone.io/) → **결제 연동 → 실 연동 관리 선택** -2. **다날** → **다날** **휴대폰결제** 선택 → **추가** -3. 카드사 심사 완료 후 다날에서 발급받은 실상점 정보로 기재후 저장 +
-
- -
- -
- - +
+ -**특이사항** - -- 다날은 하나의 상점ID(CPID)에 인증/비 인증 결제 셋팅이 가능합니다. -- 테스트 모드의 경우 실제로 결제승인이 이루어지지만, PG사에서 일괄적으로 매일 자정이전 자동 취소가 이루어집니다. -- 다날 정책상 계좌이체/가상계좌는 테스트 결제가 제공되지 않습니다. 계약 후 실제 상점아이디로 테스트를 해야 합니다 -- SMS 본인인증은 통신사 정책으로 인하여 테스트 모드 이용이 불가합니다. (실 계약 후 이용가능) -- 테스트 모드에서 부분취소 테스트는 불가합니다. + **특이사항** + - 다날은 하나의 상점ID(CPID)에 인증/비 인증 결제 셋팅이 가능합니다. + - 테스트 모드의 경우 실제로 결제승인이 이루어지지만, PG사에서 일괄적으로 매일 자정이전 자동 취소가 이루어집니다. + - 다날 정책상 계좌이체/가상계좌는 테스트 결제가 제공되지 않습니다. 계약 후 실제 상점아이디로 테스트를 해야 합니다 + - SMS 본인인증은 통신사 정책으로 인하여 테스트 모드 이용이 불가합니다. (실 계약 후 이용가능) + - 테스트 모드에서 부분취소 테스트는 불가합니다. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-3.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-3.mdx index 1ca542ff9..3d5947e70 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-3.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-3.mdx @@ -3,66 +3,61 @@ title: 세틀뱅크 설정 description: 세틀뱅크 설정방법을 안내합니다. --- -import ContentRef from "~/components/gitbook/ContentRef.astro"; import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import ContentRef from "~/components/gitbook/ContentRef.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 인증결제 - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 세틀뱅크 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 세틀뱅크 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭 -
+
+ - + + ### **실** 환경 구성방법 - -### **실** 환경 구성방법 + 카드사 심사 완료 후 세틀뱅크에서 발급받은 실상점 정보를 **테스트모드 OFF** 처리 이후 설정합니다. -카드사 심사 완료 후 세틀뱅크에서 발급받은 실상점 정보를 **테스트모드 OFF** 처리 이후 설정합니다. - -
- - +
+ ## 비 인증 결제 - -#### **세틀뱅크의 정기결제는 ****REST API 방식****만 지원합니다.** - - + + 세틀뱅크의 정기결제는 **REST API 방식**만 지원합니다. + - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**정기결제 및 키인결제**) → PG사 세틀뱅크 선택 → \[**카드사 심사 전 개발용 계정 설정**] 클릭 → \[저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**정기결제 및 키인결제**) → PG사 세틀뱅크 선택 → \[**카드사 심사 전 개발용 계정 설정**] 클릭 → \[저장] 클릭 -
+
-### **실** 환경 구성방법 + ### **실** 환경 구성방법 -카드사 심사 완료 후 세틀뱅크에서 발급받은 실상점 정보를 설정합니다. + 카드사 심사 완료 후 세틀뱅크에서 발급받은 실상점 정보를 설정합니다. -### 가상계좌 연동 방법 + ### 가상계좌 연동 방법 -아래 링크를 참조하여 가상계좌 발급 및 취소 API 를 연동합니다. + 아래 링크를 참조하여 가상계좌 발급 및 취소 API 를 연동합니다. - - - + + -### **체크사항** - -- 세틀뱅크 테스트 모드의 경우 실제 출금 되지만 매일 23:00\~23:50분 사이 자동 취소됩니다. -- 세틀뱅크는 가상계좌 발급을 API방식으로 지원합니다. + ### **체크사항** + - 세틀뱅크 테스트 모드의 경우 실제 출금 되지만 매일 23:00\~23:50분 사이 자동 취소됩니다. + - 세틀뱅크는 가상계좌 발급을 API방식으로 지원합니다. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-4.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-4.mdx index 4789aa1d2..ed24baf62 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-4.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-4.mdx @@ -4,35 +4,32 @@ description: 스마트로 설정 방법을 안내합니다. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 인증결제 - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 스마트로 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 스마트로 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭 -
+
+ - + + ### **실** 환경 구성방법 - -### **실** 환경 구성방법 + 카드사 심사 완료 후 스마트로에서 발급받은 실상점 정보를 설정 합니다. -카드사 심사 완료 후 스마트로에서 발급받은 실상점 정보를 설정 합니다. - -
- - +
+ -**비 인증 결제** - -아임포트는 스마트로 비 인증 결제를 지원하지 않습니다. + **비 인증 결제** + 아임포트는 스마트로 비 인증 결제를 지원하지 않습니다. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-5.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-5.mdx index e4b07129b..a7387af17 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-5.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-5.mdx @@ -4,98 +4,94 @@ description: 페이팔 설정 방법을 안내합니다. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 인증결제 - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -> - 페이팔 테스트 환경 구성을 위해서는 **아임포트 관리자 페이지 설정**과 **페이팔 관리자페이지 설정**이 각각 적용되어야 합니다. -> - 페이팔은 별도의 계약없이 판매자 계정만 생성하면 바로 서비스 이용이 가능합니다. + > - 페이팔 테스트 환경 구성을 위해서는 **아임포트 관리자 페이지 설정**과 **페이팔 관리자페이지 설정**이 각각 적용되어야 합니다. + > - 페이팔은 별도의 계약없이 판매자 계정만 생성하면 바로 서비스 이용이 가능합니다. -### **아임포트 관리자 콘솔 설정** + ### **아임포트 관리자 콘솔 설정** -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 페이팔-Express Checkout 선택 → **테스트모드 \[ON]** → API 사용자 정보 입력 → \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 페이팔-Express Checkout 선택 → **테스트모드 \[ON]** → API 사용자 정보 입력 → \[전체 저장] 클릭 -![]() + ![]() - -**Email 계정주소 설정시 주의사항** + + **Email 계정주소 설정시 주의사항** -자동완성된 Email 주소가 **실제 페이팔 계정 ID와 상이한 경우** **실 계정 ID 로 수정**하여 저장해야 합니다. + 자동완성된 Email 주소가 **실제 페이팔 계정 ID와 상이한 경우** **실 계정 ID 로 수정**하여 저장해야 합니다. + - + ### **페이팔 관리자 콘솔 설정** -### **페이팔 관리자 콘솔 설정** + #### **판매자 Sandbox 계정 설정** -#### **판매자 Sandbox 계정 설정** + 1. [https://developer.paypal.com/developer/accounts/](https://developer.paypal.com/developer/accounts/) 로그인 > **SANDBOX** > **Accounts** > DEFAULT Business 계정의 \[**View/edit account**] 클릭 -1. [https://developer.paypal.com/developer/accounts/](https://developer.paypal.com/developer/accounts/) 로그인 > **SANDBOX** > **Accounts** > DEFAULT Business 계정의 \[**View/edit account**] 클릭 +
-
+ **2. Account details 팝업창** -**2. Account details 팝업창** + API Credentials 탭의 Username, Password, 및 Signature 값을 아임포트 관리자 콘솔 페이팔 설정 항목에 아래와 같이 맵핑합니다. -API Credentials 탭의 Username, Password, 및 Signature 값을 아임포트 관리자 콘솔 페이팔 설정 항목에 아래와 같이 맵핑합니다. + - Username = API 사용자 이름 + - Password = API 암호 + - Signature = 서명 -- Username = API 사용자 이름 -- Password = API 암호 -- Signature = 서명 +
-
+ **구매자 Sandbox 계정 설정** -**구매자 Sandbox 계정 설정** + 1. [https://developer.paypal.com/developer/accounts/](https://developer.paypal.com/developer/accounts/) 로그인 > **SANDBOX** > **Accounts** > DEFAULT Personal 계정의 \[**View/edit account**] 클릭 -1. [https://developer.paypal.com/developer/accounts/](https://developer.paypal.com/developer/accounts/) 로그인 > **SANDBOX** > **Accounts** > DEFAULT Personal 계정의 \[**View/edit account**] 클릭 +
-
+ **2. Account details 팝업창** -**2. Account details 팝업창** + Profile 탭의 **Email ID** 및 **Password** 값을 페이팔 결제시 구매자 로그인 계정정보로 사용합니다. -Profile 탭의 **Email ID** 및 **Password** 값을 페이팔 결제시 구매자 로그인 계정정보로 사용합니다. + ![]() + -![]() + + ### **실** 환경 구성방법 - + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 페이팔-Express Checkout 선택 → **테스트모드 \[OFF]** → API 사용자 정보 입력 → \[전체 저장] 클릭 - -### **실** 환경 구성방법 + ![]() -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 페이팔-Express Checkout 선택 → **테스트모드 \[OFF]** → API 사용자 정보 입력 → \[전체 저장] 클릭 + > **각 항목별 실 운영 정보 값은 페이팔 관리자 페이지에서 아래 절차를 통해 확인합니다.** -![]() + 1. [https://www.paypal.com/](https://www.paypal.com/) 로그인 > 계정 클릭 > 계정 설정 클릭 > "계정 엑세스" 클릭 > "**API 엑세스**"의 업데이트 클릭 -> **각 항목별 실 운영 정보 값은 페이팔 관리자 페이지에서 아래 절차를 통해 확인합니다.** + ![]() -1. [https://www.paypal.com/](https://www.paypal.com/) 로그인 > 계정 클릭 > 계정 설정 클릭 > "계정 엑세스" 클릭 > "**API 엑세스**"의 업데이트 클릭 + **2) NVP/SOAP API 통합(클래식) 의 API 자격증명 관리 클릭** -![]() + \- 참고 : 휴대폰본인인증 절차 필요 -**2) NVP/SOAP API 통합(클래식) 의 API 자격증명 관리 클릭** + ![]() -\- 참고 : 휴대폰본인인증 절차 필요 + **3) API 서명보기 "표시" 클릭** -![]() - -**3) API 서명보기 "표시" 클릭** - -- API 사용자 이름 -- API 비밀번호 -- 서명 - - + - API 사용자 이름 + - API 비밀번호 + - 서명 + -### **참고사항** - -- Business 계정이 Sandbox이면 구매자 계정도 Sandbox Accounts 목록에 존재하는 Personal 계정으로 결제(사용)해야 합니다. -- Sandbox Accounts 의 Country 가 "US"인 Personal 계정으로 테스트해야 합니다. **판매자와 구매자 계정 국가가 "한국"인 경우 페이팔 정책상 결제가 불가**하며, **판매자는 한국이고 구매자가 미국인 경우는 가능**합니다. -- 판매자와 구매자 계정 국가가 "한국"인 경우 페이팔 정책상 결제가 불가합니다. 판매자와 구매자 중 최소 한사람의 국가가 해외여야 합니다 -- 아임포트는 페이팔 정기결제를 지원하지 않습니다. + ### **참고사항** + - Business 계정이 Sandbox이면 구매자 계정도 Sandbox Accounts 목록에 존재하는 Personal 계정으로 결제(사용)해야 합니다. + - Sandbox Accounts 의 Country 가 "US"인 Personal 계정으로 테스트해야 합니다. **판매자와 구매자 계정 국가가 "한국"인 경우 페이팔 정책상 결제가 불가**하며, **판매자는 한국이고 구매자가 미국인 경우는 가능**합니다. + - 판매자와 구매자 계정 국가가 "한국"인 경우 페이팔 정책상 결제가 불가합니다. 판매자와 구매자 중 최소 한사람의 국가가 해외여야 합니다 + - 아임포트는 페이팔 정기결제를 지원하지 않습니다. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-6.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-6.mdx index cdb092c0d..d84f82dee 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-6.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-6.mdx @@ -4,39 +4,36 @@ description: 엑심베이 설정 방법을 안내합니다. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 인증결제 - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 엑심베이 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 엑심베이 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭 -> - 엑심베이 테스트 모드의 경우 결제시 실제 출금이 이루어지지 않습니다. -> - 테스트모드의 경우 테스트용 카드를 사용해주셔야 하며 해외에서 발급받으신 실제 카드를 사용하실 경우 오류가 발생됩니다. -> - [엑심베이에서 제공하는 해외결제용 테스트 카드 확인하기](https://support.eximbay.com/hc/ko/articles/360059014854-%EA%B2%B0%EC%A0%9C%ED%85%8C%EC%8A%A4%ED%8A%B8%EB%A5%BC-%EC%A7%84%ED%96%89%ED%95%B4%EB%B3%B4%EA%B3%A0-%EC%8B%B6%EC%9D%80%EB%8D%B0-%ED%95%B4%EC%99%B8%EC%B9%B4%EB%93%9C%EA%B0%80-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%A0-%EC%88%98-%EC%9E%88%EB%82%98%EC%9A%94-) + > - 엑심베이 테스트 모드의 경우 결제시 실제 출금이 이루어지지 않습니다. + > - 테스트모드의 경우 테스트용 카드를 사용해주셔야 하며 해외에서 발급받으신 실제 카드를 사용하실 경우 오류가 발생됩니다. + > - [엑심베이에서 제공하는 해외결제용 테스트 카드 확인하기](https://support.eximbay.com/hc/ko/articles/360059014854-%EA%B2%B0%EC%A0%9C%ED%85%8C%EC%8A%A4%ED%8A%B8%EB%A5%BC-%EC%A7%84%ED%96%89%ED%95%B4%EB%B3%B4%EA%B3%A0-%EC%8B%B6%EC%9D%80%EB%8D%B0-%ED%95%B4%EC%99%B8%EC%B9%B4%EB%93%9C%EA%B0%80-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%A0-%EC%88%98-%EC%9E%88%EB%82%98%EC%9A%94-) -
+
+ - + + ### **실** 환경 구성방법 - -### **실** 환경 구성방법 + 카드사 심사 완료 후 엑심베이에서 발급받은 실 상점 정보를 **테스트 모드 OFF** 설정후 해당 값을 입력합니다. -카드사 심사 완료 후 엑심베이에서 발급받은 실 상점 정보를 **테스트 모드 OFF** 설정후 해당 값을 입력합니다. - -![]() - - + ![]() + -### **참고사항** - -아임포트는 엑심베이 비 인증 결제 방식을 지원하지 않습니다. + ### **참고사항** + 아임포트는 엑심베이 비 인증 결제 방식을 지원하지 않습니다. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-7.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-7.mdx index 493962b0d..ab61c3943 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-7.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined-7.mdx @@ -4,35 +4,32 @@ description: 블루월넛 설정방법을 확인합니다. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 인증결제 - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 블루월넛 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭\ + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 블루월넛 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭\\ -
+
+ - + + ### **실** 환경 구성방법 - -### **실** 환경 구성방법 + 카드사 심사 완료 후 블루월넛에서 발급받은 실 상점 정보를 **테스트 모드 OFF** 설정후 해당 값을 입력합니다. -카드사 심사 완료 후 블루월넛에서 발급받은 실 상점 정보를 **테스트 모드 OFF** 설정후 해당 값을 입력합니다. - -
- - +
+ -### 참고사항 - -아임포트는 블루월넛 비 인증 결제를 지원하지 않습니다. + ### 참고사항 + 아임포트는 블루월넛 비 인증 결제를 지원하지 않습니다. diff --git a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined.mdx b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined.mdx index c2548d2d1..6a89dd00d 100644 --- a/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined.mdx +++ b/src/content/docs/en/ready/2-pg/payment-gateway-settings/undefined.mdx @@ -4,58 +4,53 @@ description: Learn how to set up Toss Payments. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## Authenticated payment - -### **Test environment setup** - -1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**Toss Payments**) → **(Prev) Toss Payments** -> **Add** -2. Check the auto-generated test MID value and click **Save** - -
+ + ### **Test environment setup** -
+ 1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**Toss Payments**) → **(Prev) Toss Payments** -> **Add** + 2. Check the auto-generated test MID value and click **Save** - -**Note - Authenticated payment module information** - -The Toss Payments authenticated payment method provided by i'mport uses the **previous module** integration method and is planned for upgrade to the new module. From merchants' perspective, there is no difference in terms of service between the old and new modules. - - +
- +
- -### Live environment setup + + **Note - Authenticated payment module information** -- **Payment integration -> Live settings** -- Select PG (**Toss Payments**) → **Toss Payments** -> **Add** -- Enter merchant info (MID/MertKey) issued by Toss Payments upon contract signing. + The Toss Payments authenticated payment method provided by i'mport uses the **previous module** integration method and is planned for upgrade to the new module. From merchants' perspective, there is no difference in terms of service between the old and new modules. + + - -Request MID for the previous module + + ### Live environment setup -For Toss Payments authenticated payment through i'mport, you must request for the **previous authenticated payment module method** when requesting for authenticated payment MID to obtain the correct MID. + - **Payment integration -> Live settings** + - Select PG (**Toss Payments**) → **Toss Payments** -> **Add** + - Enter merchant info (MID/MertKey) issued by Toss Payments upon contract signing. - + + Request MID for the previous module -
+ For Toss Payments authenticated payment through i'mport, you must request for the **previous authenticated payment module method** when requesting for authenticated payment MID to obtain the correct MID. + -
+
-
+
- +
+ -**Note - How to apply for non-authenticated payment** - -To use Toss Payments non-authenticated payment, [**sing up from the i'mport Admin**](https://admin.iamport.kr) and request for the service by sending your **account ID** (email address) to cs@iamport.kr. + **Note - How to apply for non-authenticated payment** + To use Toss Payments non-authenticated payment, [**sing up from the i'mport Admin**](https://admin.iamport.kr) and request for the service by sending your **account ID** (email address) to [cs@iamport.kr](mailto:cs@iamport.kr). diff --git a/src/content/docs/en/ready/2-pg/pg/undefined-1.mdx b/src/content/docs/en/ready/2-pg/pg/undefined-1.mdx index ba5b15edb..92920b448 100644 --- a/src/content/docs/en/ready/2-pg/pg/undefined-1.mdx +++ b/src/content/docs/en/ready/2-pg/pg/undefined-1.mdx @@ -4,36 +4,33 @@ description: 토스 간편결제 설정 방법을 안내합니다. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 일반**결제** - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]토스 선택 → **테스트모드 \[ON]** → 테스트 apikey 입력 > \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]토스 선택 → **테스트모드 \[ON]** → 테스트 apikey 입력 > \[전체 저장] 클릭 -> - 테스트 상점아이디 : **tosstest** -> - 테스트 apiKey : **sk\_test\_w5lNQylNqa5lNQe013Nq** + > - 테스트 상점아이디 : **tosstest** + > - 테스트 apiKey : **sk\_test\_w5lNQylNqa5lNQe013Nq** -
+
+ - + + ### **실** 환경 구성방법 - -### **실** 환경 구성방법 + \*\*테스트모드 \*\***OFF** 처리 이후 카드사 심사 완료 후 토스페이에서 발급받은 실상점 정보로 설정 해야 합니다. -**테스트모드 ****OFF** 처리 이후 카드사 심사 완료 후 토스페이에서 발급받은 실상점 정보로 설정 해야 합니다. - -
- - +
+ -**아임포트는 토스 간편결제 정기결제를 지원하지 않습니다.** - + **아임포트는 토스 간편결제 정기결제를 지원하지 않습니다.** diff --git a/src/content/docs/en/ready/2-pg/pg/undefined-2.mdx b/src/content/docs/en/ready/2-pg/pg/undefined-2.mdx index fcab7667d..55f31d9be 100644 --- a/src/content/docs/en/ready/2-pg/pg/undefined-2.mdx +++ b/src/content/docs/en/ready/2-pg/pg/undefined-2.mdx @@ -4,37 +4,34 @@ description: 네이버페이(결제형) PG설정 방법을 안내합니다. --- import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -**네이버페이는 테스트 연동정보를 별도로 제공하지 않습니다. 가입신청 후 연동정보를 받아서 테스트 모드로 연동/개발 할 수 있습니다.** - + **네이버페이는 테스트 연동정보를 별도로 제공하지 않습니다. 가입신청 후 연동정보를 받아서 테스트 모드로 연동/개발 할 수 있습니다.** ## 일반**결제** - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제네이버페이(결제) 선택 → 테스트모드 \[ON] → **발급받은 상점정보 입력** → \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제네이버페이(결제) 선택 → 테스트모드 \[ON] → **발급받은 상점정보 입력** → \[전체 저장] 클릭 -- **파트너아이디** : 네이버페이 결제형 파트너ID 입력 -- **클라이언트 ID** : 네이버페이측에서 카드사 심사 완료시 고객사로 직접 안내됨 -- **클라이언트 SECRET** : 네이버페이측에서 카드사 심사 완료시 고객사로 직접 안내됨 + - **파트너아이디** : 네이버페이 결제형 파트너ID 입력 + - **클라이언트 ID** : 네이버페이측에서 카드사 심사 완료시 고객사로 직접 안내됨 + - **클라이언트 SECRET** : 네이버페이측에서 카드사 심사 완료시 고객사로 직접 안내됨 -![]() + ![]() + - + + ### **실** 환경 구성방법 - -### **실** 환경 구성방법 - -**테스트모드 OFF** 설정(네이버페이 실 검수가 시작되면 OFF 설정) - - + **테스트모드 OFF** 설정(네이버페이 실 검수가 시작되면 OFF 설정) + ## 정기결제 @@ -42,71 +39,68 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; ### 네이버페 정기결제는 결제창 방식만 지원합니다. - -### 테스트 환경 구성방법 - -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제네이버페이(결제) 선택 → 테스트모드 \[ON] → **발급받은 상점정보 입력** → \[전체 저장] 클릭 + + ### 테스트 환경 구성방법 -- **파트너아이디** : 네이버페이 결제형 파트너ID 입력 -- **클라이언트 ID** : 네이버페이측에서 카드사 심사 완료시 고객사로 직접 안내됨 -- **클라이언트 SECRET** : 네이버페이측에서 카드사 심사 완료시 고객사로 직접 안내됨 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제네이버페이(결제) 선택 → 테스트모드 \[ON] → **발급받은 상점정보 입력** → \[전체 저장] 클릭 -![]() + - **파트너아이디** : 네이버페이 결제형 파트너ID 입력 + - **클라이언트 ID** : 네이버페이측에서 카드사 심사 완료시 고객사로 직접 안내됨 + - **클라이언트 SECRET** : 네이버페이측에서 카드사 심사 완료시 고객사로 직접 안내됨 -### 실 환경 구성방법 + ![]() -**테스트모드 OFF** 설정(네이버페이 실 검수가 시작되면 OFF 설정) + ### 실 환경 구성방법 - + **테스트모드 OFF** 설정(네이버페이 실 검수가 시작되면 OFF 설정) + -#### **네이버페이 검수란?** - -네이버페이 결제형 오픈을 위해서는 네이버페이 검수팀으로 부터 기술검수 통과가 진행되어야 합니다. 해당 검수는 **필수**적으로 진행되어야 하며 해당 검수는 모든 연동이 완료된 이후 당사로 검수요청을 주시면 아임포트 1차 검토 이후 이상이 없는 경우 네이버페이로 실 검수 요청하는 프로세스로 진행됩니다. + #### **네이버페이 검수란?** + 네이버페이 결제형 오픈을 위해서는 네이버페이 검수팀으로 부터 기술검수 통과가 진행되어야 합니다. 해당 검수는 **필수**적으로 진행되어야 하며 해당 검수는 모든 연동이 완료된 이후 당사로 검수요청을 주시면 아임포트 1차 검토 이후 이상이 없는 경우 네이버페이로 실 검수 요청하는 프로세스로 진행됩니다.
-

네이버페이 기술검수 요청 방법

- -네이버페이 기술검수를 위해서는 아래 질문리스트를 작성하여 아래 이메일 주소로 검수요청을 주시면 됩니다. - -``` -<사업자 및 계약정보>   -    - 상호명 :  -    - 사업자번호 :  -    - 아임포트계정 :  -    - 네이버페이 결제형 파트너ID : 단건/반복(정기) 이용하실 방식 구분하여 전달 주시기 바랍니다. -    - 검수 진행가능한 URL :  -    - 테스트 가능한 로그인계정 : - - 네이버페이 결제형 연동 개발자 정보(이름/이메일/전화번호): +

네이버페이 기술검수 요청 방법

+ + 네이버페이 기술검수를 위해서는 아래 질문리스트를 작성하여 아래 이메일 주소로 검수요청을 주시면 됩니다. + + ```md + <사업자 및 계약정보> + - 상호명 : + - 사업자번호 : + - 아임포트계정 : + - 네이버페이 결제형 파트너ID : 단건/반복(정기) 이용하실 방식 구분하여 전달 주시기 바랍니다. + - 검수 진행가능한 URL : + - 테스트 가능한 로그인계정 : + - 네이버페이 결제형 연동 개발자 정보(이름/이메일/전화번호): - 네이버페이 결제형 연동 검수 담당자 정보(이름/이메일/전화번호): - - 판매상품 과/면세 여부: ​ - - 에스크로 사용여부: ​ - - 모바일앱 보유 여부: - - 부분취소 제공여부: ​ + - 판매상품 과/면세 여부: + - 에스크로 사용여부: + - 모바일앱 보유 여부: + - 부분취소 제공여부: - IMP.request_pay 함수 호출 시 naverProducts 파라미터 설정여부 및 셋팅 예시: -<질의사항> -1. 일반결제만 연동하는 경우 -    1) 지원하는 PC 웹 브라우저 종류와 최소 버전: -    2) 지원하는 모바일 웹 브라우저 종류와 최소 버전: -    (앱으로만 연동하시는 경우, 지원하는 모바일 OS 종류와 최소 버전: (ex. iOS 12.0.1, Android 8.0)) -    3) 네이버페이 계약 시, 현금영수증 발급을 누가 하도록 결정하셨나요? -    4) 네이버페이 계약 시, 포인트 적립 방식은 자동지급방식으로 계약하셨나요? 직접 건별로 지급하기로 계약하셨나요? - -2. 일반 + 정기결제 모두 연동하는 경우 -   1) 지원하는 PC 웹 브라우저 종류와 최소 버전: -   2) 지원하는 모바일 웹 브라우저 종류와 최소 버전: -  (앱으로만 연동하시는 경우, 지원하는 모바일 OS 종류와 최소 버전: (ex. iOS 12.0.1, Android 8.0)) -   3) 네이버페이 계약 시, 현금영수증 발급을 누가 하도록 결정하셨나요? -   4) 네이버페이 계약 시, 포인트 적립 방식은 자동지급방식으로 계약하셨나요? 직접 건별로 지급하기로 계약하셨나요? -   5) 정기결제 등록 내역 조회를 어떤 방식으로 구현하시고 계신가요? 예) 관리자페이지 반복결제내역 조회 시 / 자체주문 생성 시 정보조회 -   6) 결제 내역 조회를 어떤 방식으로 구현하시고 계신가요? 예) 관리자페이지 결제내역 조회 시 / 자체주문 생성 시 정보조회 / 정산 대사 작업 배치 -   7) 어떤 경우에 정기결제가 해제되나요? 예) 등록생성 실패 시 / 등록된 반복결제항목 해제 시 / 관리자 반복결제 등록항목 해제 -``` - -**email : support@iamport.kr** - + <질의사항> + 1. 일반결제만 연동하는 경우 + 1) 지원하는 PC 웹 브라우저 종류와 최소 버전: + 2) 지원하는 모바일 웹 브라우저 종류와 최소 버전: + (앱으로만 연동하시는 경우, 지원하는 모바일 OS 종류와 최소 버전: (ex. iOS 12.0.1, Android 8.0)) + 3) 네이버페이 계약 시, 현금영수증 발급을 누가 하도록 결정하셨나요? + 4) 네이버페이 계약 시, 포인트 적립 방식은 자동지급방식으로 계약하셨나요? 직접 건별로 지급하기로 계약하셨나요? + + 2. 일반 + 정기결제 모두 연동하는 경우 + 1) 지원하는 PC 웹 브라우저 종류와 최소 버전: + 2) 지원하는 모바일 웹 브라우저 종류와 최소 버전: + (앱으로만 연동하시는 경우, 지원하는 모바일 OS 종류와 최소 버전: (ex. iOS 12.0.1, Android 8.0)) + 3) 네이버페이 계약 시, 현금영수증 발급을 누가 하도록 결정하셨나요? + 4) 네이버페이 계약 시, 포인트 적립 방식은 자동지급방식으로 계약하셨나요? 직접 건별로 지급하기로 계약하셨나요? + 5) 정기결제 등록 내역 조회를 어떤 방식으로 구현하시고 계신가요? 예) 관리자페이지 반복결제내역 조회 시 / 자체주문 생성 시 정보조회 + 6) 결제 내역 조회를 어떤 방식으로 구현하시고 계신가요? 예) 관리자페이지 결제내역 조회 시 / 자체주문 생성 시 정보조회 / 정산 대사 작업 배치 + 7) 어떤 경우에 정기결제가 해제되나요? 예) 등록생성 실패 시 / 등록된 반복결제항목 해제 시 / 관리자 반복결제 등록항목 해제 + ``` + + **email : [support@iamport.kr](mailto:support@iamport.kr)**
diff --git a/src/content/docs/en/ready/2-pg/pg/undefined-3.mdx b/src/content/docs/en/ready/2-pg/pg/undefined-3.mdx index 6469daffc..7690ba2f3 100644 --- a/src/content/docs/en/ready/2-pg/pg/undefined-3.mdx +++ b/src/content/docs/en/ready/2-pg/pg/undefined-3.mdx @@ -4,11 +4,11 @@ description: 페이코 설정 방법을 안내합니다. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -#### 페이코 결제 테스트를 위해서는 아래 애플리케이션을 다운로드 받으셔야 합니다. +**페이코 결제 테스트를 위해서는 아래 애플리케이션을 다운로드 받으셔야 합니다.** > - URL : [https://devcenter.payco.com](https://devcenter.payco.com/) > - 로그인(ID/PW) : payco / payco1234 @@ -17,54 +17,49 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; ## 인증결제 - -### 테스트 환경 구성방법 - -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]페이코 선택 → **테스트모드\[ON]** 클릭 → \[전체 저장] 클릭 + + ### 테스트 환경 구성방법 -
+ [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]페이코 선택 → **테스트모드\[ON]** 클릭 → \[전체 저장] 클릭 - +
+ - -### **실** 환경 구성방법 + + ### **실** 환경 구성방법 -카드사 심사 완료 후 페이코에서 발급받은 실상점 정보를 설정합니다. + 카드사 심사 완료 후 페이코에서 발급받은 실상점 정보를 설정합니다. -
- - +
+ ## 정기 결제 - -### 테스트 환경 구성방법 - -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]페이코 선택 → 테스트모드 \[ON] → '**PAYCO정기결제(자동결제) 테스트용도인가요?**' 체크박스 선택 > \[전체 저장] 클릭 + + ### 테스트 환경 구성방법 -
+ [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]페이코 선택 → 테스트모드 \[ON] → '**PAYCO정기결제(자동결제) 테스트용도인가요?**' 체크박스 선택 > \[전체 저장] 클릭 -### **실** 환경 구성방법 +
-카드사 심사 완료 후 페이코에서 발급받은 실상점 정보를 **테스트모드 OFF** 처리후 설정합니다. + ### **실** 환경 구성방법 -
+ 카드사 심사 완료 후 페이코에서 발급받은 실상점 정보를 **테스트모드 OFF** 처리후 설정합니다. - +
+ - -#### **페이코 정기결제는 ****결제창 방식****만 지원합니다.** - - + + #### 페이코 정기결제는 **결제창 방식**만 지원합니다. + -### **확인사항** - -- 페이코 테스트 모드의 경우 실 결제가 이루어지지 않습니다. -- 테스트 환경에서는 결제한도 등의 테스트는 불가합니다. -- 페이코 테스트는 상용앱을 지운 후 테스트 앱으로 진행해야 합니다. + ### **확인사항** + - 페이코 테스트 모드의 경우 실 결제가 이루어지지 않습니다. + - 테스트 환경에서는 결제한도 등의 테스트는 불가합니다. + - 페이코 테스트는 상용앱을 지운 후 테스트 앱으로 진행해야 합니다. diff --git a/src/content/docs/en/ready/2-pg/pg/undefined-4.mdx b/src/content/docs/en/ready/2-pg/pg/undefined-4.mdx index ab2b64e7a..b031fbbf6 100644 --- a/src/content/docs/en/ready/2-pg/pg/undefined-4.mdx +++ b/src/content/docs/en/ready/2-pg/pg/undefined-4.mdx @@ -4,15 +4,15 @@ description: 차이 간편결제 설정 방법을 안내합니다. --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -#### 차이 결제 테스트를 위해서는 아래 애플리케이션을 다운로드 받으셔야 합니다. +차이 결제 테스트를 위해서는 아래 애플리케이션을 다운로드 받으셔야 합니다. > - Android : [https://appdistribution.firebase.dev/i/8fef29de1f667252](https://appdistribution.firebase.dev/i/8fef29de1f667252)◦ > -> \- **staging 앱**을 설치 +> \- **staging 앱**을 설치 > > - iOS : [https://testflight.apple.com/join/ZgQIFce5](https://testflight.apple.com/join/ZgQIFce5) > @@ -21,73 +21,67 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; > \- 앱의 오른쪽 엣지에서 왼쪽으로 swipe 후 **staging 설정** -**테스트 계좌 안내** - -**정상 응답 계좌** + **테스트 계좌 안내** -- 국민은행 : 201602181111 -- 우리은행 : 201602182222 -- 경남은행 : 201602183333 + **정상 응답 계좌** -**잔액 부족 계좌** + - 국민은행 : 201602181111 + - 우리은행 : 201602182222 + - 경남은행 : 201602183333 -- 국민은행 : 772210258507 -- 신한은행 : 110438106449 -- 경남은행 : 629220095451 + **잔액 부족 계좌** + - 국민은행 : 772210258507 + - 신한은행 : 110438106449 + - 경남은행 : 629220095451 ## 일반 결제 - -### 테스트 환경 구성방법 + + ### 테스트 환경 구성방법 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제] 차이 선택 → **테스트모드 \[ON]** → public_api_key 및 private_api_key에 발급받은 키 정보 입력 > \[전체 저장] 클릭 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제] 차이 선택 → **테스트모드 \[ON]** → public\_api\_key 및 private\_api\_key에 발급받은 키 정보 입력 > \[전체 저장] 클릭 -> **차이간편결제 테스트를 진행하기 위해서는 차이 가입 이후 발급된 정보로만 테스트가 가능합니다.** + > **차이간편결제 테스트를 진행하기 위해서는 차이 가입 이후 발급된 정보로만 테스트가 가능합니다.** -
+
+ - + + ### **실** 환경 구성방법 - -### **실** 환경 구성방법 + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제] 차이 선택 → **테스트모드 \[OFF]** → public\_api\_key 및 private\_api\_key 에 발급받은 키 정보 입력 > \[전체 저장] 클릭 -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제] 차이 선택 → **테스트모드 \[OFF]** → public_api_key 및 private_api_key 에 발급받은 키 정보 입력 > \[전체 저장] 클릭 - -
- - +
+ ## 정기 결제 - -### 테스트 환경 구성방법 - -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제] 차이 선택 → **테스트모드 \[ON]** → public_api_key 및 private_api_key 에 발급받은 키 정보 입력 > \[전체 저장] 클릭 + + ### 테스트 환경 구성방법 -
+ [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제] 차이 선택 → **테스트모드 \[ON]** → public\_api\_key 및 private\_api\_key 에 발급받은 키 정보 입력 > \[전체 저장] 클릭 -### **실** 환경 구성방법 +
-[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제] 차이 선택 → **테스트모드 \[OFF]** → public_api_key 및 private_api_key 에 발급받은 키 정보 입력 > \[전체 저장] 클릭 + ### **실** 환경 구성방법 -
+ [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제] 차이 선택 → **테스트모드 \[OFF]** → public\_api\_key 및 private\_api\_key 에 발급받은 키 정보 입력 > \[전체 저장] 클릭 - +
+ - -**차이 간편결제는 API 방식을 통한 정기결제는 지원하지 않습니다.** - - + + **차이 간편결제는 API 방식을 통한 정기결제는 지원하지 않습니다.** + -#### **확인사항** - -차이 테스트 모드의 경우 실제 출금 되지만 매일 23:00\~23:50분 사이 자동 취소됩니다. + #### **확인사항** + 차이 테스트 모드의 경우 실제 출금 되지만 매일 23:00\~23:50분 사이 자동 취소됩니다. diff --git a/src/content/docs/en/ready/2-pg/pg/undefined-5.mdx b/src/content/docs/en/ready/2-pg/pg/undefined-5.mdx index 7976b2f8b..639f8a229 100644 --- a/src/content/docs/en/ready/2-pg/pg/undefined-5.mdx +++ b/src/content/docs/en/ready/2-pg/pg/undefined-5.mdx @@ -4,27 +4,25 @@ description: 알리페이 설정 방법을 안내합니다. --- import Figure from "~/components/Figure.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -### 아임포트를 통한 알리페이 결제는 나이스페이먼츠 서비스를 이용합니다. +아임포트를 통한 알리페이 결제는 나이스페이먼츠 서비스를 이용합니다. - -### 테스트 환경 구성방법 - -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 알리페이(Alipay) 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭\ - -
+ + ## 테스트 환경 구성방법 - + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 알리페이(Alipay) 선택 → **테스트모드 \[ON]** → \[전체 저장] 클릭\\ - -### **실** 환경 구성방법 +
+ -카드사 심사 완료 후 NICE페이먼츠 에서 발급받은 실상점 정보를 **테스트 모드 OFF** 이후 설정합니다. + + ## **실** 환경 구성방법 -
+ 카드사 심사 완료 후 NICE페이먼츠 에서 발급받은 실상점 정보를 **테스트 모드 OFF** 이후 설정합니다. - +
+ diff --git a/src/content/docs/en/ready/2-pg/pg/undefined.mdx b/src/content/docs/en/ready/2-pg/pg/undefined.mdx index e1354f2d6..4a411c5ca 100644 --- a/src/content/docs/en/ready/2-pg/pg/undefined.mdx +++ b/src/content/docs/en/ready/2-pg/pg/undefined.mdx @@ -3,29 +3,27 @@ title: 카카오페이 설정 description: 카카오페이 간편결제 설정 방법을 확인합니다. --- -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## 일반**결제** - -### 테스트 환경 구성방법 - -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]카카오페이 선택 → 테스트모드 \[ON] → 고객사코드(CID)에 **TC0ONETIME** 입력 > \[전체 저장] 클릭 + + ### 테스트 환경 구성방법 -![]() + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]카카오페이 선택 → 테스트모드 \[ON] → 고객사코드(CID)에 **TC0ONETIME** 입력 > \[전체 저장] 클릭 - + ![]() + - -### **실** 환경 구성방법 + + ### **실** 환경 구성방법 -**테스트모드 OFF** 처리 이후 카드사 심사 완료 후 카카오페이에서 발급받은 실상점 정보를 설정합니다. + **테스트모드 OFF** 처리 이후 카드사 심사 완료 후 카카오페이에서 발급받은 실상점 정보를 설정합니다. -![]() - - + ![]() + ## 정기결제 @@ -33,17 +31,15 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; ### 카카오페이의 정기결제는 결제창 방식만 지원합니다. - -### 테스트 환경 구성방법 - -[아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]카카오페이 선택 → 테스트모드 \[ON] → 고객사코드(CID)에 '**TCSUBSCRIP**' 입력 > \[전체 저장] 클릭 + + ### 테스트 환경 구성방법 -![]() + [아임포트 관리자 콘솔](https://admin.iamport.kr/)→ 시스템설정 → PG설정(**일반결제 및 정기결제**) → PG사 \[간편결제]카카오페이 선택 → 테스트모드 \[ON] → 고객사코드(CID)에 '**TCSUBSCRIP**' 입력 > \[전체 저장] 클릭 -### 실 환경 구성방법 + ![]() -**테스트모드 OFF** 처리 이후 카드사 심사 완료 후 카카오페이에서 발급받은 실상점 정보를 설정합니다. + ### 실 환경 구성방법 - + **테스트모드 OFF** 처리 이후 카드사 심사 완료 후 카카오페이에서 발급받은 실상점 정보를 설정합니다. + - diff --git a/src/content/docs/en/ready/2-pg/readme.mdx b/src/content/docs/en/ready/2-pg/readme.mdx index 8ee2848fe..66f91702f 100644 --- a/src/content/docs/en/ready/2-pg/readme.mdx +++ b/src/content/docs/en/ready/2-pg/readme.mdx @@ -7,7 +7,7 @@ description: >- import Figure from "~/components/Figure.astro"; -After creating an i'mport account, go to the Admin page and click **Payment integration** **->** +After creating an i'mport account, go to the Admin page and click **Payment integration ->** **Test settings** tab and select the target PG. You can configure PG-specific test settings from the **Test settings** tab. diff --git a/src/content/docs/en/ready/3.mdx b/src/content/docs/en/ready/3.mdx index 0c0846de4..8219b24a7 100644 --- a/src/content/docs/en/ready/3.mdx +++ b/src/content/docs/en/ready/3.mdx @@ -4,9 +4,9 @@ description: Learn how to check information needed to integrate your payment win --- import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; Check information required for payment window integration and API call as follows: @@ -16,8 +16,7 @@ Check information required for payment window integration and API call as follow 2. Check your **Merchant ID/REST API Key/ REST API Secret** -Since this is **sensitive information** that can be used to **manipulate payment details**, take caution to protect it from unauthorized access. - + Since this is **sensitive information** that can be used to **manipulate payment details**, take caution to protect it from unauthorized access.
@@ -25,23 +24,20 @@ Since this is **sensitive information** that can be used to **manipulate payment
- -- A **unique value assigned to each ChaiPort admin console account**. -- A unique code used to **initialize the object** when calling the payment window. -- Provide this ID when making a **technical inquiry** for a faster response. - - - - -- A value required to request an **access token** for an API call. -- Take **special care to protect it from unauthorized access**. - - - - -- A value required to request an **access token** for an API call. -- The value can be reissued, and periodic reissuance is recommended for enhanced security. -- Take **special care to protect it from unauthorized access**. - - + + - A **unique value assigned to each ChaiPort admin console account**. + - A unique code used to **initialize the object** when calling the payment window. + - Provide this ID when making a **technical inquiry** for a faster response. + + + + - A value required to request an **access token** for an API call. + - Take **special care to protect it from unauthorized access**. + + + + - A value required to request an **access token** for an API call. + - The value can be reissued, and periodic reissuance is recommended for enhanced security. + - Take **special care to protect it from unauthorized access**. + diff --git a/src/content/docs/en/ready/readme.mdx b/src/content/docs/en/ready/readme.mdx index 125ecc0a3..f8bab3a5d 100644 --- a/src/content/docs/en/ready/readme.mdx +++ b/src/content/docs/en/ready/readme.mdx @@ -5,28 +5,26 @@ description: >- i'mport. --- -import Details from "~/components/gitbook/Details.astro"; import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Details from "~/components/gitbook/Details.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 1. Create an i'mport account -For payment integration, you must first create an account from the i'mport Admin [**Sign Up**](https://admin.iamport.kr) page. - -You can sign up for **free without a contract**. + For payment integration, you must first create an account from the i'mport Admin [**Sign Up**](https://admin.iamport.kr) page. + You can sign up for **free without a contract**.
-

Create an i'mport account now

- -Just need to provide your "**email address"**. +

Create an i'mport account now

-Use a “**strong password**" to protect it from unauthorized access. + Just need to provide your "**email address"**. + Use a “**strong password**" to protect it from unauthorized access.
Click **Sign up** from the pages below to create an account. @@ -35,7 +33,7 @@ Click **Sign up** from the pages below to create an account. ## 2. Set up PG -After creating an i'mport account, go to the Admin page and click **Payment integration** **->** +After creating an i'mport account, go to the Admin page and click **Payment integration ->** **Test settings** tab and select the target PG. You can configure PG-specific test settings from the **Test settings** tab. @@ -43,8 +41,7 @@ You can configure PG-specific test settings from the **Test settings** tab.
-**Test settings and live account settings** for each PG are **different.** For detailed information about each PG settings, go to [**Set up PG**](2.-pg/). - + **Test settings and live account settings** for each PG are **different.** For detailed information about each PG settings, go to [**Set up PG**](2.-pg/). ## 3. Check integration settings @@ -52,13 +49,12 @@ You can configure PG-specific test settings from the **Test settings** tab. You can check the integration settings required for payment window integration and API calls. 1. Log in to [**i'mport Admin Console**](https://admin.iamport.kr) -> **Merchant account** - -> Select **My ID - API Keys** + -> Select **My ID - API Keys** 2. Check your **Merchant ID/REST API Key/REST API Secret**. -Since this is **sensitive data** that can be used to **manipulate payment details**, be sure to protect it from unauthorized access. - + Since this is **sensitive data** that can be used to **manipulate payment details**, be sure to protect it from unauthorized access.
@@ -66,23 +62,20 @@ Since this is **sensitive data** that can be used to **manipulate payment detail
- -- A **unique value assigned to each ChaiPort Admin console account**. -- A unique code used to **initialize the object** when calling the payment window. -- Provide this ID when making a **technical inquiry** for a faster response. - - - - -- A value required to request an **access token** for an API call. -- Take **special care to protect it from unauthorized access**. - - - - -- A value required to request an **access token** for an API call. -- The value can be reissued, and periodic reissuance is recommended for enhanced security. -- Take **special care to protect it from unauthorized access**. - - + + - A **unique value assigned to each ChaiPort Admin console account**. + - A unique code used to **initialize the object** when calling the payment window. + - Provide this ID when making a **technical inquiry** for a faster response. + + + + - A value required to request an **access token** for an API call. + - Take **special care to protect it from unauthorized access**. + + + + - A value required to request an **access token** for an API call. + - The value can be reissued, and periodic reissuance is recommended for enhanced security. + - Take **special care to protect it from unauthorized access**. + diff --git a/src/content/docs/en/result/webhook.mdx b/src/content/docs/en/result/webhook.mdx index 0843aa4bc..4988c82d7 100644 --- a/src/content/docs/en/result/webhook.mdx +++ b/src/content/docs/en/result/webhook.mdx @@ -3,32 +3,31 @@ title: Set up a webhook description: Set up a webhook to handle the payment result in a reliable way. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -#### Use the i'mport webhook to synchronize payment information on the i'mport server with the merchant server to compensate for data loss due to device or network instability. +**Use the i'mport webhook to synchronize payment information on the i'mport server +with the merchant server to compensate for data loss due to device or network instability.** -![]() +![](/gitbook-assets/en/webhook-service.png) -**What is a webhook?** - -A webhook is a mechanism for sending notifications to other services or applications when a specific event occurs. -The webhook provider sends event information to the callback URL (endpoint) by creating an `HTTP POST` request -when the event occurs. Webhooks are much more efficient in terms of resources and communication -as they can only receive information related to desired events without polling data periodically. -Using webhooks, you can extend functionality by integrating with custom functions or other applications. + **What is a webhook?** + A webhook is a mechanism for sending notifications to other services or applications when a specific event occurs. + The webhook provider sends event information to the callback URL (endpoint) by creating an `HTTP POST` request + when the event occurs. Webhooks are much more efficient in terms of resources and communication + as they can only receive information related to desired events without polling data periodically. + Using webhooks, you can extend functionality by integrating with custom functions or other applications. -**Is webhook integration required?** - -When the i'mport server sends a response to the client, the client may not receive the response -after the payment process is complete for reasons, such as Wi-Fi disconnection or automatic browser reload. -In this case, the i'mport server sends a webhook event to the server so that the payment information can be synchronized. + **Is webhook integration required?** + When the i'mport server sends a response to the client, the client may not receive the response + after the payment process is complete for reasons, such as Wi-Fi disconnection or automatic browser reload. + In this case, the i'mport server sends a webhook event to the server so that the payment information can be synchronized. i'mport webhook is called when: @@ -40,60 +39,60 @@ i'mport webhook is called when: > - **Refund is processed from Admin console** (status : `cancelled`) -**A webhook is not invoked when payment fails!** - + **A webhook is not invoked when payment fails!** Webhook URL can be set in the following two ways: - -![]() - -To set the webhook's notification URL to send the payment information to, log in to the **Admin console** and then go to [**Payments->Live Settings**](https://admin.iamport.kr/integration?tab=production) tab and set the URL in the **Endpoint URL** field to receive the webhook data. - -**Content-Type** can be specified as `application/json` or `application/x-www-form-urlencoded`. To test the URL, click the **Test Webhook** button to the right of the Notification URL field. - - - - -Set the **notice\_url** parameter when calling the JavaScript SDK **request\_pay** function to receive a webhook notification. Use this method to specify a different webhook URL for each payment request. - -(If this parameter is specified, the Admin console's **webhook setting is ignored**.) - -```javascript title="client-side" -function requestPay() { - // IMP.request_pay(param, callback) call payment window - IMP.request_pay({ - ... // Omitted - notice_url : 'https://Webhook URL', // Set Webhook URL - ... // Omitted - }, function (rsp) { // callback - if (rsp.success) { + + ![]() + + To set the webhook's notification URL to send the payment information to, log in to the **Admin console** and then go to [**Payments->Live Settings**](https://admin.iamport.kr/integration?tab=production) tab and set the URL in the **Endpoint URL** field to receive the webhook data. + + **Content-Type** can be specified as `application/json` or `application/x-www-form-urlencoded`. To test the URL, click the **Test Webhook** button to the right of the Notification URL field. + + + + Set the **notice\_url** parameter when calling the JavaScript SDK **request\_pay** function to receive a webhook notification. Use this method to specify a different webhook URL for each payment request. + + (If this parameter is specified, the Admin console's **webhook setting is ignored**.) + + ```ts title="client-side" + function requestPay() { + // IMP.request_pay(param, callback) call payment window + IMP.request_pay( + { + // ...Omitted + notice_url: "https://Webhook URL", // Set Webhook URL + // ...Omitted + }, + function (rsp) { + // callback + if (rsp.success) { console.log(rsp); - } else { + } else { console.log(rsp); - } - }); -} -``` - - + } + }, + ); + } + ``` + -**About webhooks** - -**You cannot set multiple webhook URLs.** + **About webhooks** -Webhooks can be sent via initial or resend, each with different timeouts. + **You cannot set multiple webhook URLs.** -1. For the initial webhook, the **Connection TimeOut is set to 10 seconds** and the **Read TimeOut waiting for the response is 30 seconds**. -2. For the Resend Webhook, the **Overall TimeOut for the request is 15 seconds**. + Webhooks can be sent via initial or resend, each with different timeouts. + 1. For the initial webhook, the **Connection TimeOut is set to 10 seconds** and the **Read TimeOut waiting for the response is 30 seconds**. + 2. For the Resend Webhook, the **Overall TimeOut for the request is 15 seconds**. -### Verify webhook request +## Verify webhook request When a Webhook event is triggered, a `POST` request is generated to the configured URL endpoint as follows. @@ -115,12 +114,11 @@ have set up the webhook retry feature. It is recommended to handle potential mul the same webhook content without issues. - -```url -curl -H "Content-Type: application/json" -X POST -d '{ "imp_uid": "imp_1234567890", "merchant_uid": "order_id_8237352", "status": "paid" }' { NotificationURL } -``` - - + + ```url + curl -H "Content-Type: application/json" -X POST -d '{ "imp_uid": "imp_1234567890", "merchant_uid": "order_id_8237352", "status": "paid" }' { NotificationURL } + ``` + > The body of the webhook `POST` request contains the following information. The server can get the @@ -134,65 +132,73 @@ curl -H "Content-Type: application/json" -X POST -d '{ "imp_uid": "imp_123456789 Sample code of receiving a POST request to webhook endpoint URL - -Create an endpoint to receive the webhook event's `POST` request as follows and then parse, verify, and save the payment information. - -```javascript title="server-side" -app.use(bodyParser.json()); - ... - // Route POST request to "/iamport-webhook" - app.post("/iamport-webhook", async (req, res) => { - try { + + Create an endpoint to receive the webhook event's `POST` request as follows and then parse, verify, and save the payment information. + + ```ts title="server-side" + app.use(bodyParser.json()); + // Route POST request to "/iamport-webhook" + app.post("/iamport-webhook", async (req, res) => { + try { const { imp_uid, merchant_uid } = req.body; // Get imp_uid and merchant_uid from req.body // Get access token /* ...Omitted... */ // Get payment info from i'mport server using imp_uid /* ...Omitted... */ const paymentData = getPaymentData.data.response; // Save payment info - ... + // ... // Query for original requested amount from the database const order = await Orders.findById(paymentData.merchant_uid); const amountToBePaid = order.amount; // Original requested amount - ... + // ... // Verify payment amount const { amount, status } = paymentData; - if (amount === amountToBePaid) { // Amounts match. Processed amount === Original requested amount + if (amount === amountToBePaid) { + // Amounts match. Processed amount === Original requested amount await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Save payment info in DB switch (status) { case "ready": // Issue virtual account // Save virtual account info in DB const { vbank_num, vbank_date, vbank_name } = paymentData; - await Users.findByIdAndUpdate("/* customer id */", { $set: { vbank_num, vbank_date, vbank_name }}); + await Users.findByIdAndUpdate("/* customer id */", { + $set: { vbank_num, vbank_date, vbank_name }, + }); // Send virtual account issuance text message - SMS.send({ text: \`Virtual account has been issued. Account information \${vbank_num} \${vbank_date} \${vbank_name}\`}); - res.send({ status: "vbankIssued", message: "Virtual account issued successfully" }); + SMS.send({ + text: `Virtual account has been issued. Account information ${vbank_num} ${vbank_date} ${vbank_name}`, + }); + res.send({ + status: "vbankIssued", + message: "Virtual account issued successfully", + }); break; case "paid": // Payment complete res.send({ status: "success", message: "Payment successful." }); break; } - } else { // Amount mismatch. Forged/falsified payment. - throw { status: "forgery", message: "Forged/falsified payment attempted" }; + } else { + // Amount mismatch. Forged/falsified payment. + throw { + status: "forgery", + message: "Forged/falsified payment attempted", + }; } - } catch (e) { - res.status(400).send(e); - } - }); -``` - - + } catch (e) { + res.status(400).send(e); + } + }); + ``` + -**i'mport does not guarantee the order of payment information delivery** - -In general, after i'mport server calls webhook, it does not guarantee the order in which the payment information arrives at the server. This is because i'mport sends a 302 redirect response to the client without waiting for a webhook response from the server. However, you can submit a special request to configure i'mport to wait for a webhook response before sending a 302 redirect or callback response to the client so that the server always receives payment information from i'mport first. To make a request to guarantee the prioritized delivery of webhooks, contact [support@iamport.kr](mailto:support@iamport.kr) with the merchant ID. + **i'mport does not guarantee the order of payment information delivery** + In general, after i'mport server calls webhook, it does not guarantee the order in which the payment information arrives at the server. This is because i'mport sends a 302 redirect response to the client without waiting for a webhook response from the server. However, you can submit a special request to configure i'mport to wait for a webhook response before sending a 302 redirect or callback response to the client so that the server always receives payment information from i'mport first. To make a request to guarantee the prioritized delivery of webhooks, contact [support@iamport.kr](mailto:support@iamport.kr) with the merchant ID. -**Can you re-send a webhook?** - -By default, a webhook can only be sent once. However, it can be re-sent up to 5 times as per merchant's request. Webhooks are re-sent every 1 minute until a successful response is received from the merchant (**up to 5 times**). + **Can you re-send a webhook?** + By default, a webhook can only be sent once. However, it can be re-sent up to 5 times as per merchant's request. Webhooks are re-sent every 1 minute until a successful response is received from the merchant (**up to 5 times**). diff --git a/src/content/docs/en/sdk/javascript-sdk/identity-verification-request-parameters.mdx b/src/content/docs/en/sdk/javascript-sdk/identity-verification-request-parameters.mdx index e62b6b4dd..6c09e5d7e 100644 --- a/src/content/docs/en/sdk/javascript-sdk/identity-verification-request-parameters.mdx +++ b/src/content/docs/en/sdk/javascript-sdk/identity-verification-request-parameters.mdx @@ -3,7 +3,7 @@ title: Identity verification request parameters description: '' --- -### certification(param, callback) +## certification(param, callback) > **`merchant_uid`** **\*** **string** > @@ -13,7 +13,7 @@ description: '' > **`min_age`** ******integer** > -> **Minimum age allowed** **for verification** +> **Minimum age allowed for verification** > > Only supported by Danal PG verification diff --git a/src/content/docs/en/sdk/javascript-sdk/identity-verification-response-parameters.mdx b/src/content/docs/en/sdk/javascript-sdk/identity-verification-response-parameters.mdx index c64ec29ea..28557edef 100644 --- a/src/content/docs/en/sdk/javascript-sdk/identity-verification-response-parameters.mdx +++ b/src/content/docs/en/sdk/javascript-sdk/identity-verification-response-parameters.mdx @@ -3,7 +3,7 @@ title: Identity verification response parameters description: '' --- -### rsp (Object) +## rsp (Object) > **`success`** **\*** **boolean** > diff --git a/src/content/docs/en/sdk/javascript-sdk/readme.mdx b/src/content/docs/en/sdk/javascript-sdk/readme.mdx index 5e11d96d5..b2c982f41 100644 --- a/src/content/docs/en/sdk/javascript-sdk/readme.mdx +++ b/src/content/docs/en/sdk/javascript-sdk/readme.mdx @@ -7,11 +7,11 @@ import Hint from "~/components/Hint.astro"; You can use the **i'mport JavaScript SDK** to open the payment or identity verification window from your website or app. For **version history** and notable changes in each version, refer to the -[**Release Notes**](sdk-release-note).\ +[**Release Notes**](sdk-release-note). -### Loading SDK Library +## Loading SDK Library -To use the **i'mport JavaScript SDK**, you must first load the library on the page as shown below. It is recommended to load it from the CDN (**https://cdn.iamport.kr/js/iamport.payment-{SDK-latest-version}.js**). When the library is loaded, you can call **IMP** functions by accessing the **IMP** global object as a property of the **window** object. +To use the **i'mport JavaScript SDK**, you must first load the library on the page as shown below. It is recommended to load it from the CDN (**[https://cdn.iamport.kr/js/iamport.payment-\{SDK-latest-version}.js](https://cdn.iamport.kr/js/iamport.payment-\{SDK-latest-version}.js)**). When the library is loaded, you can call **IMP** functions by accessing the **IMP** global object as a property of the **window** object. ```html title="HTML" @@ -27,8 +27,7 @@ To use the **i'mport JavaScript SDK**, you must first load the library on the pa ``` -You **must install jQuery 1.0 or later version**. - + You **must install jQuery 1.0 or later version**. -> #### **If you cannot use CDN**, use the following: [https://service.iamport.kr/js/iamport.payment-](https://service.iamport.kr/js/iamport.payment-1.2.0.js)\{SDK-latest-version}[.js](https://service.iamport.kr/js/iamport.payment-1.2.0.js) +> **If you cannot use CDN**, use the following: [https://service.iamport.kr/js/iamport.payment-](https://service.iamport.kr/js/iamport.payment-1.2.0.js)\{SDK-latest-version}[.js](https://service.iamport.kr/js/iamport.payment-1.2.0.js) diff --git a/src/content/docs/en/sdk/javascript-sdk/rps.mdx b/src/content/docs/en/sdk/javascript-sdk/rps.mdx index 4b38f190f..3aece5d8c 100644 --- a/src/content/docs/en/sdk/javascript-sdk/rps.mdx +++ b/src/content/docs/en/sdk/javascript-sdk/rps.mdx @@ -5,13 +5,13 @@ description: "" import Codepen from "~/components/gitbook/Codepen.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## Parameters -> **`pg`** **\***\*\* ****string\*\* +> **`pg`** **\*** **string** > > **PG code** > @@ -19,7 +19,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; > > [**PG codes**](../../tips/pg-codes) -> **`pay_method`** **\***\*\* ****string\*\* +> **`pay_method`** **\*** **string** > > **Payment method code** > @@ -28,29 +28,28 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; > [**Payment integration by PG**](../../payment-integration-by-pg/payment-gateways/readme)
-

Payment method codes

- -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `phone`(mobile micropayment) -- `samsung`(Samsung Pay) -- `kpay` (KPay app) -- `kakaopay`(Kakao Pay) -- `payco` ( PAYCO) -- `lpay` (LPAY) -- `ssgpay`(SSG Pay) -- `tosspay`(Toss simple pay) -- `cultureland`(Cultureland) -- `smartculture`(Smart Culture) -- `happymoney`(Happy Money) -- `booknlife`(Book culture gift certificate) -- `point`(points, e.g., Benepia) -- `wechat`(WeChat Pay) -- `alipay`(Alipay) -- `unionpay`(UnionPay) -- `tenpay`(TenPay) - +

Payment method codes

+ + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `phone`(mobile micropayment) + - `samsung`(Samsung Pay) + - `kpay` (KPay app) + - `kakaopay`(Kakao Pay) + - `payco` ( PAYCO) + - `lpay` (LPAY) + - `ssgpay`(SSG Pay) + - `tosspay`(Toss simple pay) + - `cultureland`(Cultureland) + - `smartculture`(Smart Culture) + - `happymoney`(Happy Money) + - `booknlife`(Book culture gift certificate) + - `point`(points, e.g., Benepia) + - `wechat`(WeChat Pay) + - `alipay`(Alipay) + - `unionpay`(UnionPay) + - `tenpay`(TenPay)
> **`escrow`** **boolean** @@ -61,7 +60,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; > > - [x] Requires pre-approval from PG -> **`merchant_uid`** **\***\*\* ****string\*\* +> **`merchant_uid`** **\*** **string** > > **Merchant order ID** > @@ -75,7 +74,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; > > - Max 16 bytes -> **`amount`** **\***\*\* ** **number\*\* +> **`amount`** **\*** **number** > > **Amount** > @@ -103,13 +102,12 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; > - [PayPal Supported Currencies](https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/%20target=)
-

Currency codes

- -1. KRW -2. USD -3. EUR -4. JPY +

Currency codes

+ 1. KRW + 2. USD + 3. EUR + 4. JPY
> **`language`** **string** @@ -117,11 +115,10 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; > **Language for payment window** (Supported by only some PGs.)
-

Language codes

- -- en (English) -- ko (Korean) +

Language codes

+ - en (English) + - ko (Korean)
> **`buyer_name`** **\*** **string** @@ -150,9 +147,9 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; > **`confirm_url`** **string** > -> **Merchant endpoint url when using** [**confirm_process**](../../tips/confirm-process) +> **Merchant endpoint url when using** [**confirm\_process**](../../tips/confirm-process) > -> - Must request for use to support@iamport.kr. +> - Must request for use to [support@iamport.kr](mailto:support@iamport.kr). > **`notice_url`** **string** > @@ -208,78 +205,78 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; ## Additional functions - -```javascript title="javascript" -display: { - card_quota: [6] // Display up to 6 months installment plans -} -``` - -**Parameters** - -- **card_quota :** - - `[]`: Only immediate pay - - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans\ + + ```json title="javascript" + { + "display": { + "card_quota": [6] // Display up to 6 months installment plans + } + } + ``` - -Installment plan option is available only for **KRW 50,000 or more**. + **Parameters** - + - **card\_quota :** + - `[]`: Only immediate pay + - `2,3,4,5,6`: immediate, 2, 3, 4, 5, 6 month installment plans -Example of allowing up to **3 months**** installment plans** + + Installment plan option is available only for **KRW 50,000 or more**. + - + Example of allowing up to **3 months** installment plans - + + - -```javascript title="javascript" -card: { - direct: { - code: "367", - quota: 3 + + ```json title="javascript" + { + "card": { + "direct": { + "code": "367", + "quota": 3 + } + } } -} -``` - -**Parameters** + ``` -- **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) -- **quota**: Installment plan. For immediate, set to 0. (**integer**) + **Parameters** - -**Precautions** + - **code**: [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string**) + - **quota**: Installment plan. For immediate, set to 0. (**integer**) -- Currently, direct call to the credit card company's payment window is only supported by 6 PGs: **KG Inicis, KCP, Toss Payments, Nice Payments, KICC, and Danal**. -- Some PGs do not support direct call to credit card company's payment windows for all Merchant IDs. You must check your Merchant ID with each PG for direct call support. + + **Precautions** - + - Currently, direct call to the credit card company's payment window is only supported by 6 PGs: **KG Inicis, KCP, Toss Payments, Nice Payments, KICC, and Danal**. + - Some PGs do not support direct call to credit card company's payment windows for all Merchant IDs. You must check your Merchant ID with each PG for direct call support. + -\ -Example of direct call to **Hyundai Card** module + Example of direct call to **Hyundai Card** module - + + - - - -```javascript title="javascript" -card : { - detail : [ - {card_code:"*", enabled:false}, // Disable all credit cards - {card_code:'366', enabled:true} // Enable specific credit card - ] -} -``` - -**Parameters** + + ```json title="javascript" + { + "card": { + "detail": [ + { "card_code": "*", "enabled": false }, // Disable all credit cards + { "card_code": "366", "enabled": true } // Enable specific credit card + ] + } + } + ``` -- **card_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** -- **enabled:** Option to enable the credit card (**boolean)** + **Parameters** -**Example of enabling only ****Shinhan Card**** payment window** + - **card\_code:** [**Credit card code**](https://chaifinance.notion.site/53589280bbc94fab938d93257d452216?v=eb405baf52134b3f90d438e3bf763630) (**string)** + - **enabled:** Option to enable the credit card (**boolean)** - + **Example of enabling only ****Shinhan Card**** payment window** - + + diff --git a/src/content/docs/en/sdk/javascript-sdk/sdk-release-note.mdx b/src/content/docs/en/sdk/javascript-sdk/sdk-release-note.mdx index f37723511..a994b18e1 100644 --- a/src/content/docs/en/sdk/javascript-sdk/sdk-release-note.mdx +++ b/src/content/docs/en/sdk/javascript-sdk/sdk-release-note.mdx @@ -7,240 +7,243 @@ description: >- import Details from "~/components/gitbook/Details.astro"; -### Version 1.2.0 +## Version 1.2.0
-

TBU

- +

TBU

-### Version 1.1.8 +## Version 1.1.8
-

Details

+

Details

-**Changed Kakao Pay mobile payment to use redirection mode** + **Changed Kakao Pay mobile payment to use redirection mode** -In compliance with the iframe non-support policy of Kakao Pay SDK, Kakao Pay mobile payment is processed now via page redirection instead of iframe.In the previous version, when the Kakao Pay mobile payment process is completed after calling `IMP.request_pay`, the specified callback is invoked as in PC web. In mobile, Kakao Pay is now processed via redirection mode.\ + In compliance with the iframe non-support policy of Kakao Pay SDK, Kakao Pay mobile payment is processed now via page redirection instead of iframe.In the previous version, when the Kakao Pay mobile payment process is completed after calling `IMP.request_pay`, the specified callback is invoked as in PC web. In mobile, Kakao Pay is now processed via redirection mode.\\ -**Added Naver Pay (Checkout) pop-up mode (redirection as default mode)** + **Added Naver Pay (Checkout) pop-up mode (redirection as default mode)** -To open the Naver Pay (Checkout) window as pop-up, set `popup: true` when calling `IMP.request_pay`. The callback mode is used by default.To avoid issues, such as browser pop-up blocking, Naver Pay recommends page redirection in both PC and mobile. + To open the Naver Pay (Checkout) window as pop-up, set `popup: true` when calling `IMP.request_pay`. The callback mode is used by default.To avoid issues, such as browser pop-up blocking, Naver Pay recommends page redirection in both PC and mobile. -- **1.1.8 and later versions** - - PC/mobile: redirection is default, set to `popup : true` to enable popup mode. -- **1.1.7 and earlier versions (`popup` not supported)** - - PC: pop-up (new tab) mode - - Mobile: redirection mode + - **1.1.8 and later versions** + - PC/mobile: redirection is default, set to `popup : true` to enable popup mode. -**Added redirection mode for Eximbay** + - **1.1.7 and earlier versions (`popup` not supported)** + - PC: pop-up (new tab) mode + - Mobile: redirection mode -To redirect to a page after payment process is completed, set `popup : false` when calling `IMP.request_pay`. To avoid pop-up blocking issues in mobile app WebView, use the redirection mode. + **Added redirection mode for Eximbay** -- **1.1.8 and later versions** - - PC/mobile: popup is default, set to `popup : false` to enable redirection mode. -- **1.1.7 and earlier versions (`popup` not supported)** - - PC/mobile: popup mode + To redirect to a page after payment process is completed, set `popup : false` when calling `IMP.request_pay`. To avoid pop-up blocking issues in mobile app WebView, use the redirection mode. -**Multiple PG support for identity verification** + - **1.1.8 and later versions** + - PC/mobile: popup is default, set to `popup : false` to enable redirection mode. -Added support for multiple PG modules in identity verification due to the addition of the `INICIS-Credit card identity verification` method to the existing `Danal-Mobile identity verification` method. You can also get multiple CPIDs, one for each website, for 'Danal-Mobile identity verification', and specify a module via `pg: danal.{Danal CPID}`. + - **1.1.7 and earlier versions (`popup` not supported)** + - PC/mobile: popup mode -```javascript title="Danal-mobile identity verification" - IMP.certification({ - pg: "danal", // danal or danal.{Danal CPID}, other parameters omitted - ... - ... - }, function(rsp) { - if ( rsp.success ) { - // Verification successful, return imp_uid, merchant_uid (rsp.imp_uid, rsp.merchant_uid) - } else { - // Verification failed, terminate - } - }); -``` + **Multiple PG support for identity verification** + + Added support for multiple PG modules in identity verification due to the addition of the `INICIS-Credit card identity verification` method to the existing `Danal-Mobile identity verification` method. You can also get multiple CPIDs, one for each website, for 'Danal-Mobile identity verification', and specify a module via `pg: danal.{Danal CPID}`. + + ```ts title="Danal-mobile identity verification" + IMP.certification( + { + pg: "danal", // danal or danal.{Danal CPID}, other parameters omitted + // ... + }, + function (rsp) { + if (rsp.success) { + // Verification successful, return imp_uid, merchant_uid (rsp.imp_uid, rsp.merchant_uid) + } else { + // Verification failed, terminate + } + }, + ); + ``` -```javascript title="Inicis-credit card identity verification" -// popup : true by default in both PC/mobile -// PC : applies popup mode regardless of popup parameter setting (INICIS policy) -// Mobile : for redirection mode, set popup : false and m_redirect_url is required -IMP.certification({ + ```ts title="Inicis-credit card identity verification" + // popup : true by default in both PC/mobile + // PC : applies popup mode regardless of popup parameter setting (INICIS policy) + // Mobile : for redirection mode, set popup : false and m_redirect_url is required + IMP.certification({ pg: "inicis", //inicis or inicis.{Inicis MID}, other parameters omitted m_redirect_url: "https://shop.yourservice.com/user-certificates/complete", - ... - ... -}); -``` - -#### Bug Fixes
+ // ... + }); + ``` -**The issue of white screen being displayed when the browser's Back button is pressed while processing payment in redirection mode in Safari on iPhone** + ### Bug Fixes -This is caused by the page being rendered by restoring the DOM element in the state before the page redirection when you return to the previous page with the Back button of the Safari browser (applicable to all PGs that use the redirection mode). The white screen issue is now resolved. + **The issue of white screen being displayed when the browser's Back button is pressed while processing payment in redirection mode in Safari on iPhone** + This is caused by the page being rendered by restoring the DOM element in the state before the page redirection when you return to the previous page with the Back button of the Safari browser (applicable to all PGs that use the redirection mode). The white screen issue is now resolved.
-### Version 1.1.7 +## Version 1.1.7
-

Details

+

Details

-**Added popup mode for PayPal** + **Added popup mode for PayPal** -To open the payment window as pop-up, set `popup: true` when calling `IMP.request_pay(param, callback)`. The `callback` function is called after the payment process is completed. Previous versions only support the page redirection mode. + To open the payment window as pop-up, set `popup: true` when calling `IMP.request_pay(param, callback)`. The `callback` function is called after the payment process is completed. Previous versions only support the page redirection mode. -```javascript title="javascript popup mode" + ```ts title="javascript popup mode" // Set popup : true and callback, other parameters omitted - IMP.request_pay({ - pg: "paypal", - popup: true, - ... - ... - }, function(rsp) { - if ( rsp.success ) { - //Paypal payment successful, execute validation logic - } else { - //Paypal payment terminated or failed - } - }); -``` - -```javascript title="javascript redirect mode" - // Set m_redirect_url (popup : false by default, not set explicitly) + IMP.request_pay( + { + pg: "paypal", + popup: true, + // ... + }, + function (rsp) { + if (rsp.success) { + //Paypal payment successful, execute validation logic + } else { + //Paypal payment terminated or failed + } + }, + ); + ``` + + ```ts title="javascript redirect mode" + // Set m_redirect_url (popup : false by default, not set explicitly) IMP.request_pay({ pg: "paypal", m_redirect_url: "https://shop.yourservice.com/payments/complete", - ... - ... + // ... }); -``` + ``` -**Added redirection mode for Danal identity verification** + **Added redirection mode for Danal identity verification** -To redirect to a page after identity verification, set the target page's URL in `m_redirect_url` when calling `IMP.certification`. Previous versions only support the callback mode. For more information about using the redirection mode, refer to the [Mobile identity verification](../../etc/phone/) page. + To redirect to a page after identity verification, set the target page's URL in `m_redirect_url` when calling `IMP.certification`. Previous versions only support the callback mode. For more information about using the redirection mode, refer to the [Mobile identity verification](../../etc/phone/) page. -```javascript title="javascript (popup mode)" + ```ts title="javascript (popup mode)" // Set popup : true - IMP.certification({ - merchant_uid : "verification transaction ID", - popup: true - }, function(rsp) { - if ( rsp.success ) { - // Verification successful - } else { - // Verification failed or terminated (popup closed or Cancel button clicked) - } - }); -``` - -```javascript title="javascript redirect mode" + IMP.certification( + { + merchant_uid: "verification transaction ID", + popup: true, + }, + function (rsp) { + if (rsp.success) { + // Verification successful + } else { + // Verification failed or terminated (popup closed or Cancel button clicked) + } + }, + ); + ``` + + ```ts title="javascript redirect mode" // Set m_redirect_url (popup : false by default, not set explicitly) IMP.certification({ - merchant_uid : "verification transaction ID" + merchant_uid: "verification transaction ID", m_redirect_url: "https://shop.yourservice.com/payments/complete", }); -``` + ``` -#### Bug Fixes
+ ### Bug Fixes -**The issue of callback not being invoked when you click the close button (X button) in the identity verification (Danal) pop-up** + **The issue of callback not being invoked when you click the close button (X button) in the identity verification (Danal) pop-up** -When you close the identity verification pop-up window or click the Cancel button on the page in the pop-up mode, the callback (handler) of `IMP.certification(param, handler)` is invoked. This fix implements the same behavior for when the X button is clicked. - - + When you close the identity verification pop-up window or click the Cancel button on the page in the pop-up mode, the callback (handler) of `IMP.certification(param, handler)` is invoked. This fix implements the same behavior for when the X button is clicked. +
-### Version 1.1.5 and earlier versions +## Version 1.1.5 and earlier versions
-

Details

- -#### iamport.payment-1.1.5.js
+

Details

-```html - -``` + ### iamport.payment-1.1.5.js -**Deployed on 2017-04-03** + ```html + + ``` -- Added function to redirect to `m_redirect_url` when error occurs before starting the payment process after calling `IMP.request_pay(param)` in mobile. + **Deployed on 2017-04-03** -**Reasons for failure before starting payment process** + - Added function to redirect to `m_redirect_url` when error occurs before starting the payment process after calling `IMP.request_pay(param)` in mobile. -- Reusing an already used `merchant_uid` (Order ID) for payment. -- Invalid payment request parameter. + **Reasons for failure before starting payment process** -**Reasons for failure after starting payment process** + - Reusing an already used `merchant_uid` (Order ID) for payment. + - Invalid payment request parameter. -- Credit card suspended or limit exceeded. -- Exceeded number of password errors. + **Reasons for failure after starting payment process** -#### iamport.payment-1.1.4.js + - Credit card suspended or limit exceeded. + - Exceeded number of password errors. -```html - -``` + ### iamport.payment-1.1.4.js -**Deployed on 2016-11-14** + ```html + + ``` -- Added Agency-tier feature: `IMP.agency(Merchant ID, Tier Code)` function -- Added SMS mobile identity verification feature: `IMP.certification()` function + **Deployed on 2016-11-14** -#### iamport.payment-1.1.3.js + - Added Agency-tier feature: `IMP.agency(Merchant ID, Tier Code)` function + - Added SMS mobile identity verification feature: `IMP.certification()` function -```html - -``` + ### iamport.payment-1.1.3.js -**Deployed on 2016-07-13** + ```html + + ``` -- Code refactored and performance enhanced version of 1.1.2 version. + **Deployed on 2016-07-13** -#### iamport.payment-1.1.2.js + - Code refactored and performance enhanced version of 1.1.2 version. -```html - -``` + ### iamport.payment-1.1.2.js -**Deployed on 2016-03-09** + ```html + + ``` -- Enhanced method of calling multiple PG settings. + **Deployed on 2016-03-09** -#### iamport.payment-1.1.1.js + - Enhanced method of calling multiple PG settings. -```html - -``` + ### iamport.payment-1.1.1.js -**Deployed on 2016-02-19** + ```html + + ``` -- Extended PG parameter value to allow for PG + MID combination (`pg : '{PG}.{MID}'`). + **Deployed on 2016-02-19** -#### iamport.payment-1.1.0.js + - Extended PG parameter value to allow for PG + MID combination (`pg : '{PG}.{MID}'`). -```html - -``` + ### iamport.payment-1.1.0.js -**Deployed on 2016-01-19** + ```html + + ``` -- Added `pg` parameter to allow an account to use multiple PG modules (`pg : '{PG}'`) + **Deployed on 2016-01-19** -#### iamport.payment-1.0.0.js + - Added `pg` parameter to allow an account to use multiple PG modules (`pg : '{PG}'`) -```html - -``` + ### iamport.payment-1.0.0.js -**Deployed on 2014-10-24** + ```html + + ``` -- Initial stable release (Unversioned release, same as iamport.payment-1.0.0.js) + **Deployed on 2014-10-24** -#### iamport.payment.js + - Initial stable release (Unversioned release, same as iamport.payment-1.0.0.js) -```html - -``` + ### iamport.payment.js + ```html + + ```
diff --git a/src/content/docs/en/sdk/javascript-sdk/undefined-1.mdx b/src/content/docs/en/sdk/javascript-sdk/undefined-1.mdx index 9c50589f5..54ee89ccc 100644 --- a/src/content/docs/en/sdk/javascript-sdk/undefined-1.mdx +++ b/src/content/docs/en/sdk/javascript-sdk/undefined-1.mdx @@ -9,8 +9,7 @@ import Hint from "~/components/Hint.astro"; ## Callback response data for payment request -Properties that are returned vary by PG or payment method. - + Properties that are returned vary by PG or payment method. > **`success`** **\*** **boolean** @@ -19,9 +18,7 @@ Properties that are returned vary by PG or payment method. > > True when payment is approved or virtual account is issued > -> -> (returned as`imp_success` for some PG/payment method) -> +> (returned as`imp_success` for some PG/payment method) > **`error_code`** **\*** **string** > @@ -50,29 +47,28 @@ Properties that are returned vary by PG or payment method. > **Payment method code**
-

Payment method codes

- -- `card` (credit card) -- `trans`(instant account transfer) -- `vbank`(virtual account) -- `phone`(mobile micropayment) -- `samsung`(Samsung Pay) -- `kpay` (KPay app) -- `kakaopay`(Kakao Pay) -- `payco` ( PAYCO) -- `lpay` (LPAY) -- `ssgpay`(SSG Pay) -- `tosspay`(Toss simple pay) -- `cultureland`(Cultureland) -- `smartculture`(Smart Culture) -- `happymoney`(Happy Money) -- `booknlife`(Book culture gift certificate) -- `point`(points, e.g., Benepia) -- `wechat`(WeChat Pay) -- `alipay`(Alipay) -- `unionpay`(UnionPay) -- `tenpay`(TenPay) - +

Payment method codes

+ + - `card` (credit card) + - `trans`(instant account transfer) + - `vbank`(virtual account) + - `phone`(mobile micropayment) + - `samsung`(Samsung Pay) + - `kpay` (KPay app) + - `kakaopay`(Kakao Pay) + - `payco` ( PAYCO) + - `lpay` (LPAY) + - `ssgpay`(SSG Pay) + - `tosspay`(Toss simple pay) + - `cultureland`(Cultureland) + - `smartculture`(Smart Culture) + - `happymoney`(Happy Money) + - `booknlife`(Book culture gift certificate) + - `point`(points, e.g., Benepia) + - `wechat`(WeChat Pay) + - `alipay`(Alipay) + - `unionpay`(UnionPay) + - `tenpay`(TenPay)
> **`paid_amount`** **\*** **number** @@ -84,8 +80,11 @@ Properties that are returned vary by PG or payment method. > **Status** > > - `ready` (payment in progress: payment window lost focus, virtual account issued) +> > - `paid` (payment complete) -> - `failed` (payment failed: credit card limit exceeded, insufficient check card balance, payment window closed or cancel button clicked) +> +> - `failed` (payment failed: credit card limit exceeded, insufficient check card balance, +> payment window closed or cancel button clicked) > **`name`** **\*** **string** > @@ -106,16 +105,15 @@ Properties that are returned vary by PG or payment method. > - [x] This is omitted for some PGs or when simple payment is not selected.
-

Simple pay codes

- -- naverpay -- kakopay -- payco -- samsungpay -- ssgpay -- lpay -- kpay - +

Simple pay codes

+ + - naverpay + - kakopay + - payco + - samsungpay + - ssgpay + - lpay + - kpay
> **`pg_tid`** **\*** **string** @@ -150,13 +148,12 @@ Properties that are returned vary by PG or payment method. > **`paid_at`** **\*** **string** > -> **Payment approved at** **(UNIX timestamp)** +> **Payment approved at (UNIX timestamp)** -**What is UNIX timestamp?** - -**Unix time** is a way of representing time. It is also called POSIX time or **Epoch time**. The time elapsed from 00:00:00 Coordinated Universal Time (UTC) on January 1, 1970 is converted into seconds and expressed as an integer. In Unix time, leap seconds are ignored. It is used by Unix-like operating systems and several other operating systems and file formats. Because of the leap second processing method, time cannot be expressed linearly, and leap seconds cannot be expressed in Coordinated Universal Time. + **What is UNIX timestamp?** + **Unix time** is a way of representing time. It is also called POSIX time or **Epoch time**. The time elapsed from 00:00:00 Coordinated Universal Time (UTC) on January 1, 1970 is converted into seconds and expressed as an integer. In Unix time, leap seconds are ignored. It is used by Unix-like operating systems and several other operating systems and file formats. Because of the leap second processing method, time cannot be expressed linearly, and leap seconds cannot be expressed in Coordinated Universal Time. > **`receipt_url`** **string** @@ -176,8 +173,7 @@ Properties that are returned vary by PG or payment method. > **Virtual account number** -As received from PG, may contain special characters (-). - + As received from PG, may contain special characters (-). > **`vbank_name`** **string** @@ -189,13 +185,12 @@ As received from PG, may contain special characters (-). > **Virtual account holder** -Shows business name on the contract. Some PGs may return null and requires additional processing. - + Shows business name on the contract. Some PGs may return null and requires additional processing. > **`vbank_date`** **string** > -> **Virtual account expiration** **(UNIX timestamp)** +> **Virtual account expiration (UNIX timestamp)** ```json title="Sample response object" { diff --git a/src/content/docs/en/tips/agency-and-tier.mdx b/src/content/docs/en/tips/agency-and-tier.mdx index c278e9aba..838c73ef1 100644 --- a/src/content/docs/en/tips/agency-and-tier.mdx +++ b/src/content/docs/en/tips/agency-and-tier.mdx @@ -6,7 +6,7 @@ description: Learn how to set up a main merchant and its sub-merchants. import Figure from "~/components/Figure.astro"; import Hint from "~/components/Hint.astro"; -### You can use the i'mport Agent service to set up PGs for sub-merchants (manage sub-merchants) with a single account. +## You can use the i'mport Agent service to set up PGs for sub-merchants (manage sub-merchants) with a single account. **If you apply for and register multiple sub-merchant codes (Tier codes) with the master account, you can register merchant information and view (cancel) payment details for each sub-merchant.** @@ -14,13 +14,12 @@ you can register merchant information and view (cancel) payment details for each (You can assign a 3-digit ID and a name for each sub-merchant) -To get access to this service, send your ChaiPort email account to the following: - -[**cs@iamport.kr**](mailto:cs@iamport.kr) + To get access to this service, send your ChaiPort email account to the following: + [**cs@iamport.kr**](mailto:cs@iamport.kr) -### Using Agent service +## Using Agent service Through i'mport Agent service, you can manage merchants more conveniently and efficiently. @@ -49,23 +48,21 @@ You can try out the sub-merchant settings and look up payment history with the d
-**Calling sub-merchant's payment window** - -When requesting payment for each sub-merchant, you can specify the target **Tier** with the **JavaScript SDK.** + **Calling sub-merchant's payment window** -**IMP.agency(Merchant ID, 3-digit Tier (unique) code)** + When requesting payment for each sub-merchant, you can specify the target **Tier** with the **JavaScript SDK.** -`Example: IMP.agency('imp12345678', '001')` + **IMP.agency(Merchant ID, 3-digit Tier (unique) code)** + `Example: IMP.agency('imp12345678', '001')` -**Calling REST API** - -When calling the REST API, you must include the Tier information in the header to request payment for the corresponding sub-merchant. + **Calling REST API** -Include the following parameter in the HTTP header. + When calling the REST API, you must include the Tier information in the header to request payment for the corresponding sub-merchant. -`"Tier" : "3-digit Tier code"` + Include the following parameter in the HTTP header. + `"Tier" : "3-digit Tier code"` diff --git a/src/content/docs/en/tips/bank-codes-by-pg.mdx b/src/content/docs/en/tips/bank-codes-by-pg.mdx index a777fc1bf..fcb95a853 100644 --- a/src/content/docs/en/tips/bank-codes-by-pg.mdx +++ b/src/content/docs/en/tips/bank-codes-by-pg.mdx @@ -6,118 +6,113 @@ description: '' import Details from "~/components/gitbook/Details.astro";
-

NHN KCP bank codes

- -- KB Kookmin Bank: BK04 -- SC First Bank: BK23 -- Kyongnam Bank: BK39 -- Gwangju Bank: BK34 -- Industrial Bank of Korea: BK03 -- Nonghyup: BK11 -- Daegu Bank: BK31 -- Busan Bank: BK32 -- Korea Development Bank: BK02 -- Saemaul Geumgo: BK45 -- Suhyup: BK07 -- Shinhan Bank: BK88 -- Credit union: BK48 -- Korea Exchange Bank: BK81 -- Woori Bank: BK20 -- Post Office: BK71 -- Jeonbuk Bank: BK37 -- Cooperative: BK12 -- Kakao Bank: BK90 -- K-Bank: BK89 -- Hana Bank: BK81 -- Citibank Korea: BK27 -- Toss Bank: BK92 +

NHN KCP bank codes

+ - KB Kookmin Bank: BK04 + - SC First Bank: BK23 + - Kyongnam Bank: BK39 + - Gwangju Bank: BK34 + - Industrial Bank of Korea: BK03 + - Nonghyup: BK11 + - Daegu Bank: BK31 + - Busan Bank: BK32 + - Korea Development Bank: BK02 + - Saemaul Geumgo: BK45 + - Suhyup: BK07 + - Shinhan Bank: BK88 + - Credit union: BK48 + - Korea Exchange Bank: BK81 + - Woori Bank: BK20 + - Post Office: BK71 + - Jeonbuk Bank: BK37 + - Cooperative: BK12 + - Kakao Bank: BK90 + - K-Bank: BK89 + - Hana Bank: BK81 + - Citibank Korea: BK27 + - Toss Bank: BK92
-

KG Inicis bank codes

- -- KB Kookmin Bank: 04 -- SC First Bank: 23 -- Kyongnam Bank: 39 -- Gwangju Bank: 34 -- Industrial Bank of Korea: 03 -- Nonghyup: 11 -- Daegu Bank: 31 -- Busan Bank: 32 -- Korea Development Bank: 02 -- Saemaul Geumgo: 45 -- Suhyup: 07 -- Shinhan Bank: 88 -- Credit union: 48 -- Korea Exchange Bank: 81 -- Woori Bank: 20 -- Post Office: 71 -- Jeonbuk Bank: 37 -- Cooperative: 12 -- Kakao Bank: 90 -- K-Bank: 89 -- Hana Bank: 81 -- Citibank Korea: 27 -- Toss Bank: 92 +

KG Inicis bank codes

+ - KB Kookmin Bank: 04 + - SC First Bank: 23 + - Kyongnam Bank: 39 + - Gwangju Bank: 34 + - Industrial Bank of Korea: 03 + - Nonghyup: 11 + - Daegu Bank: 31 + - Busan Bank: 32 + - Korea Development Bank: 02 + - Saemaul Geumgo: 45 + - Suhyup: 07 + - Shinhan Bank: 88 + - Credit union: 48 + - Korea Exchange Bank: 81 + - Woori Bank: 20 + - Post Office: 71 + - Jeonbuk Bank: 37 + - Cooperative: 12 + - Kakao Bank: 90 + - K-Bank: 89 + - Hana Bank: 81 + - Citibank Korea: 27 + - Toss Bank: 92
-

PAYJOA (Daou Data)

- -- KB Kookmin Bank: 04 -- SC Bank Korea: 11 -- Kyongnam Bank: - -- Gwangju Bank: - -- Industrial Bank of Korea: 03 -- Nonghyup: 08 -- Daegu Bank: - -- Busan Bank: 15 -- Korea Development Bank: - -- Saemaul Geumgo: - -- Suhyup: - -- Shinhan Bank: 10 -- Credit union: - -- Korea Exchange Bank: 05 -- Woori Bank: 09 -- Post Office: 31 -- Jeonbuk Bank: - -- Cooperative: - -- Kakao Bank: - -- K-Bank: - -- Hana Bank: 12 -- Citibank Korea: - -- Toss Bank: - +

PAYJOA (Daou Data)

+ - KB Kookmin Bank: 04 + - SC Bank Korea: 11 + - Kyongnam Bank: - + - Gwangju Bank: - + - Industrial Bank of Korea: 03 + - Nonghyup: 08 + - Daegu Bank: - + - Busan Bank: 15 + - Korea Development Bank: - + - Saemaul Geumgo: - + - Suhyup: - + - Shinhan Bank: 10 + - Credit union: - + - Korea Exchange Bank: 05 + - Woori Bank: 09 + - Post Office: 31 + - Jeonbuk Bank: - + - Cooperative: - + - Kakao Bank: - + - K-Bank: - + - Hana Bank: 12 + - Citibank Korea: - + - Toss Bank: -
-

Toss Payments/Danal/Nice Payments/JTNet/KICC/SMARTRO/Settlebank

- -- KB Kookmin Bank: 004 -- SC First Bank: 023 -- Kyongnam Bank: 039 -- Gwangju Bank: 034 -- Industrial Bank of Korea: 003 -- Nonghyup: 011 -- Daegu Bank: 031 -- Busan Bank: 032 -- Korea Development Bank: 002 -- Saemaul Geumgo: 045 -- Suhyup: 007 -- Shinhan Bank: 088 -- Credit union: 048 -- Korea Exchange Bank: 081 -- Woori Bank: 020 -- Post Office: 071 -- Jeonbuk Bank: 037 -- Cooperative: 012 -- Kakao Bank: 090 -- K-Bank: 089 -- Hana Bank: 081 -- Citibank Korea: 027 -- Toss Bank: 092 +

Toss Payments/Danal/Nice Payments/JTNet/KICC/SMARTRO/Settlebank

+ - KB Kookmin Bank: 004 + - SC First Bank: 023 + - Kyongnam Bank: 039 + - Gwangju Bank: 034 + - Industrial Bank of Korea: 003 + - Nonghyup: 011 + - Daegu Bank: 031 + - Busan Bank: 032 + - Korea Development Bank: 002 + - Saemaul Geumgo: 045 + - Suhyup: 007 + - Shinhan Bank: 088 + - Credit union: 048 + - Korea Exchange Bank: 081 + - Woori Bank: 020 + - Post Office: 071 + - Jeonbuk Bank: 037 + - Cooperative: 012 + - Kakao Bank: 090 + - K-Bank: 089 + - Hana Bank: 081 + - Citibank Korea: 027 + - Toss Bank: 092
- diff --git a/src/content/docs/en/tips/billing-key-issuance-by-pg.mdx b/src/content/docs/en/tips/billing-key-issuance-by-pg.mdx index 7eabd03ce..9cda9015f 100644 --- a/src/content/docs/en/tips/billing-key-issuance-by-pg.mdx +++ b/src/content/docs/en/tips/billing-key-issuance-by-pg.mdx @@ -3,19 +3,19 @@ title: Billing key issuance by PG description: '' --- -|PG |Payment window support|API support|Supports issuance + payment in a single request (payment window only)| +| PG |Payment window support|API support|Supports issuance + payment in a single request (payment window only)| |:-----------:|:--------------------:|:---------:|:-------------------------------------------------------------------:| -|KCP |O |O |X | -|KG Inicis |O |O |X | -|Danal |O |O |O | -|Danal Mobile |O |O |O | -|Kakao Pay |O |X |O | -|Naver Pay |O |X |X | -|NICE Payments|X |O |X | -|JTNET |O |O |O | -|Settlebank |X |O |X | -|CHAI |O |X |X | -|KICC |O |X |X | -|Daou Data |X |O |X | -|KG Mobilians |O |X |O | -|Payco |O |X |X | +| KCP | O | O | X | +| KG Inicis | O | O | X | +| Danal | O | O | O | +| Danal Mobile| O | O | O | +| Kakao Pay | O | X | O | +| Naver Pay | O | X | X | +|NICE Payments| X | O | X | +| JTNET | O | O | O | +| Settlebank | X | O | X | +| CHAI | O | X | X | +| KICC | O | X | X | +| Daou Data | X | O | X | +| KG Mobilians| O | X | O | +| Payco | O | X | X | diff --git a/src/content/docs/en/tips/chk.mdx b/src/content/docs/en/tips/chk.mdx index 741c43d9e..eb05f833a 100644 --- a/src/content/docs/en/tips/chk.mdx +++ b/src/content/docs/en/tips/chk.mdx @@ -77,11 +77,9 @@ production failures. ## 📱Mobile phone -- [ ] Pass all phone carrier reviews and complete approval and full/partial cancellation tests. +- [ ] Pass all phone carrier reviews and complete approval and full/partial cancellation tests. + (Partial cancellation is not supported except for Inicis and KCP (separate agreement required)) - ``` - (Partial cancellation is not supported except for Inicis and KCP (separate agreement required)) - ``` - [ ] Approved transactions can only be cancelled during the month when the transaction occurred. ## 🙋 Identity verification diff --git a/src/content/docs/en/tips/code.mdx b/src/content/docs/en/tips/code.mdx index e951a5aae..0528b9be7 100644 --- a/src/content/docs/en/tips/code.mdx +++ b/src/content/docs/en/tips/code.mdx @@ -3,7 +3,7 @@ title: Courier codes description: Courier codes required for escrow delivery registration. --- -### The following codes apply to all PGs. +## The following codes apply to all PGs. |Courier code|Courier name | |------------|---------------------------------------------------------| @@ -25,4 +25,3 @@ description: Courier codes required for escrow delivery registration. |HONAM |Woori Logis (Honam Logis) | |HDEXP |Hapdong Express | |ETC |Other (Code specified other than the above is set to ETC)| - diff --git a/src/content/docs/en/tips/confirm-process.mdx b/src/content/docs/en/tips/confirm-process.mdx index ad866b825..2ac3ce494 100644 --- a/src/content/docs/en/tips/confirm-process.mdx +++ b/src/content/docs/en/tips/confirm-process.mdx @@ -8,19 +8,18 @@ description: >- import Figure from "~/components/Figure.astro"; import Hint from "~/components/Hint.astro"; -### This service allows the merchant to confirm its intention to process a payment request before making the request. +## This service allows the merchant to confirm its intention to process a payment request before making the request. -![]() +![]()
-**A merchant must use this service:** - -- When there is a small quantity of the product in stock -- When payment is processed first-come-first-served -- When there is business logic that the merchant wants to execute just before making the payment request + **A merchant must use this service:** + - When there is a small quantity of the product in stock + - When payment is processed first-come-first-served + - When there is business logic that the merchant wants to execute just before making the payment request
@@ -33,7 +32,7 @@ on the inventory. If the confirm process is not configured, the purchased order scheduled due to lack of inventory or may be cancelled leading to poor customer satisfaction and experience. -![]() +![]() ### When payment is processed first-come-first-served @@ -42,20 +41,19 @@ marathon, ticketing for popular concerts, and special discount events such as OO a rush of concurrent payment requests at the scheduled time. In such a case, the merchant needs to perform a final inventory check on the server just before making the payment request. -![]() +![](/gitbook-assets/en/fcfs.png) ### When there is business logic that the merchant wants to execute just before making the payment request The service can also be used when the merchant needs to process some business logic just before payment for reasons, such as checking the health of the merchant server. -![]() +![](/gitbook-assets/en/server_health_check.png) -**How to request for Confirm Process** - -Send a technical support request email ([support@iamport.kr](mailto:support@iamport.kr)) with your **Merchant ID**. + **How to request for Confirm Process** + Send a technical support request email ([support@iamport.kr](mailto:support@iamport.kr)) with your **Merchant ID**.
@@ -65,10 +63,10 @@ Send a technical support request email ([support@iamport.kr](mailto:support@iamp To use Confirm Process, you must define the **confirm\_url** parameter and set it to the merchant endpoint URL when calling the request\_pay() function. -```jsx title="JavaScript SDK" -... -confirm_url : ‘Merchant EndPoint URL’, -... +```json title="JavaScript SDK" +{ + "confirm_url": "Merchant EndPoint URL", +} ``` If the confirm URL is set, the final confirm page before payment request is loaded via **HTTP** with diff --git a/src/content/docs/en/tips/flow.mdx b/src/content/docs/en/tips/flow.mdx index 1a029e8fe..937ddfcc6 100644 --- a/src/content/docs/en/tips/flow.mdx +++ b/src/content/docs/en/tips/flow.mdx @@ -9,23 +9,20 @@ import Figure from "~/components/Figure.astro"; ## 1. Direct PG integration payment flow -
+
> For direct PG integration, payment request processing generally involves **2 transactions**. > > 1. **Get authentication key** for payment request. > 2. **Request payment**. -> -> This requires covering several backend development points, and facing a **triple challenge** of complex integration modules and sample pages and comprehending complex and inconvenient integration manuals. + +> This requires covering several backend development points, +> and facing a **triple challenge** of complex integration modules +> and sample pages and comprehending complex and inconvenient integration manuals. ## 2. i'mport payment flow -
+
-> For i'mport payment integration, the complex PG integration module part is handled by i'mport so that you can easily process payment without additional effort. +> For i'mport payment integration, the complex PG integration module part is handled by i'mport +> so that you can easily process payment without additional effort. diff --git a/src/content/docs/en/tips/pg-codes.mdx b/src/content/docs/en/tips/pg-codes.mdx index ca107f243..f211f06f0 100644 --- a/src/content/docs/en/tips/pg-codes.mdx +++ b/src/content/docs/en/tips/pg-codes.mdx @@ -31,4 +31,3 @@ description: JavaScript SDK PG codes | Toss Simple Pay | `tosspay` | | Smartro | `smartro` | | Settlebank | `settle` | - diff --git a/src/content/docs/en/tips/redirect.mdx b/src/content/docs/en/tips/redirect.mdx index d5470f6a5..6fb5b9f36 100644 --- a/src/content/docs/en/tips/redirect.mdx +++ b/src/content/docs/en/tips/redirect.mdx @@ -3,22 +3,22 @@ title: What is redirection? description: Learn about page redirection. --- -### Redirecting the current page to a new page. +## Redirecting the current page to a new page. ![]() -### Why do you need redirection? +## Why do you need redirection? - To redirect to the new URL when a page's URL changes - To redirect an invalid subdomain to another domain - To redirect to another page for log-in or authentication purposes -### There are two types of redirections as follows: +## There are two types of redirections as follows: - **Redirection 301** - \- Redirect immediately without processing any server-side or client-side code + \- Redirect immediately without processing any server-side or client-side code - **Redirection 302** - \- Redirect temporarily using a script or html tag + \- Redirect temporarily using a script or html tag diff --git a/src/content/docs/en/tips/tax.mdx b/src/content/docs/en/tips/tax.mdx index 4ade80d7b..6f2e11c3d 100644 --- a/src/content/docs/en/tips/tax.mdx +++ b/src/content/docs/en/tips/tax.mdx @@ -5,13 +5,13 @@ description: Learn how to set the tax-free amount when requesting a payment. import Hint from "~/components/Hint.astro"; -This guide is intended for businesses who sell tax-free products and services as stipulated in [**Article 26 of the VAT Act (Supply of Tax-Free Goods or Services)**](https://txsi.hometax.go.kr/docs/customer/comment/comment_jomun_main_internet.jsp?node_id=null&lawid=001571&jomunkey=0026005&lawnm=%EB%B6%80%EA%B0%80%EA%B0%80%EC%B9%98%EC%84%B8%EB%B2%95&jomun_nm=%EC%A0%9C26%EC%A1%B0%E3%80%90%EC%9E%AC%ED%99%94%20%EB%98%90%EB%8A%94%20%EC%9A%A9%EC%97%AD%EC%9D%98%20%EA%B3%B5%EA%B8%89%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%A9%B4%EC%84%B8%E3%80%91&public_ilja=20161220&public_no=14387). +This guide is intended for businesses who sell tax-free products and services as stipulated in [**Article 26 of the VAT Act (Supply of Tax-Free Goods or Services)**](https://txsi.hometax.go.kr/docs/customer/comment/comment_jomun_main_internet.jsp?node_id=null\&lawid=001571\&jomunkey=0026005\&lawnm=%EB%B6%80%EA%B0%80%EA%B0%80%EC%B9%98%EC%84%B8%EB%B2%95\&jomun_nm=%EC%A0%9C26%EC%A1%B0%E3%80%90%EC%9E%AC%ED%99%94%20%EB%98%90%EB%8A%94%20%EC%9A%A9%EC%97%AD%EC%9D%98%20%EA%B3%B5%EA%B8%89%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%A9%B4%EC%84%B8%E3%80%91\&public_ilja=20161220\&public_no=14387). If you are a general business that does not sell the goods or services specified in this article, you may skip this guide. A 10% VAT is automatically applied through the PG or credit card company for such businesses. -### Getting Tax-free Merchant ID through PG Contract +## Getting Tax-free Merchant ID through PG Contract If you are a **tax-free business**, you can submit a business registration card to prove your tax-exempt status when signing a PG contract. You will receive a merchant ID that allows you to set the following tax-free related properties when requesting a payment using `IMP.`**`request_pay`**. @@ -23,13 +23,12 @@ and tax-free amounts. They set the `tax_free` property to indicate the tax-free order. -**Merchant ID** - -The name of the merchant ID issued after applying for and signing a PG contract varies by PG. For example, the merchant ID for KG INICIS is `Merchant ID (MID)`, Kakao Pay is `Member Code (CID)`, and Naver Pay is `Partner ID`. + **Merchant ID** + The name of the merchant ID issued after applying for and signing a PG contract varies by PG. For example, the merchant ID for KG INICIS is `Merchant ID (MID)`, Kakao Pay is `Member Code (CID)`, and Naver Pay is `Partner ID`. -#### Three types of merchant IDs can be issued according to your business's tax-exempt status. +### Three types of merchant IDs can be issued according to your business's tax-exempt status. > **Tax-free merchant ID** > @@ -54,15 +53,14 @@ The name of the merchant ID issued after applying for and signing a PG contract > property. -**`tax_free` is required** - -For transactions using combination merchant ID, you must set **both the `amount` and `tax_free` properties**. If the `tax_free` value is missing, an error may occur when you attempt to open the payment page for some PGs. + **`tax_free` is required** -Note that KG Inicis **processes all payments as tax-free**; if you change to a combination merchant ID while using a taxable merchant ID, all previous taxed payments are converted to tax-free payments. + For transactions using combination merchant ID, you must set **both the `amount` and `tax_free` properties**. If the `tax_free` value is missing, an error may occur when you attempt to open the payment page for some PGs. + Note that KG Inicis **processes all payments as tax-free**; if you change to a combination merchant ID while using a taxable merchant ID, all previous taxed payments are converted to tax-free payments. -### Applying tax_free setting +## Applying tax\_free setting The scenarios in this section show how to set the `amount` and `tax_free` properties when purchasing tax-free and/or taxable items. @@ -73,20 +71,22 @@ as follows: - Plant seedlings: **tax-free**, 11,000 won each - Vase: **subject to VAT**, 22,000 won each -### CASE 01. Purchasing only tax-free items +## CASE 01. Purchasing only tax-free items For a purchase of one seedling, set the total payment amount to 11,000 won, and the total tax-free amount to 11,000 won as follows: -```javascript title="JavaScript" - IMP.request_pay({ - amount: 11000, // total payment amount - tax_free: 11000, // total tax-free amount - ... - }, function (rsp) { - ... - }); - +```ts title="JavaScript" +IMP.request_pay( + { + amount: 11000, // total payment amount + tax_free: 11000, // total tax-free amount + // ... + }, + function (rsp) { + // ... + }, +); ``` In this case, the total amount of 11,000 won is tax-free, and the final payment is calculated as @@ -95,20 +95,22 @@ follows (terminology may vary by PG): - Total tax-free amount: 11,000 won - VAT: 0 won -### CASE 02. Purchasing only taxable items +## CASE 02. Purchasing only taxable items For a purchase of one vase, set the total payment amount to 22,000 won, and the total tax-free amount to 0 won as follows: -```javascript title="JavaScript" - IMP.request_pay({ - amount: 22000, // total payment amount - tax_free: 0, // total tax-free amount - ... - }, function (rsp) { - ... - }); - +```ts title="JavaScript" +IMP.request_pay( + { + amount: 22000, // total payment amount + tax_free: 0, // total tax-free amount + // ... + }, + function (rsp) { + // ... + }, +); ``` In this case, a 10% VAT is applied to the total amount of 22,000 won, and the final payment is @@ -117,19 +119,22 @@ calculated as follows: - Total item price: 20,000 won - VAT: 2,000 won -### CASE 03. Purchasing both tax-free and taxable items +## CASE 03. Purchasing both tax-free and taxable items For a purchase of 3 seedlings and 1 vase, set the total payment amount to 55,000 (33,000 + 22,000) won, and the total tax-free amount to 33,000 won (for seedlings) as follows: -```javascript title="JavaScript" - IMP.request_pay({ - amount: 55000, // total payment amount - tax_free: 33000, // total tax-free amount - ... - }, function (rsp) { - ... - }); +```ts title="JavaScript" +IMP.request_pay( + { + amount: 55000, // total payment amount + tax_free: 33000, // total tax-free amount + // ... + }, + function (rsp) { + // ... + }, +); ``` In this case, a 10% VAT is applied to the total taxable amount of 22,000 won, and the final payment diff --git a/src/content/docs/ko/api-v2/applications.mdx b/src/content/docs/ko/api-v2/applications.mdx index 7a420562c..b3a588ff1 100644 --- a/src/content/docs/ko/api-v2/applications.mdx +++ b/src/content/docs/ko/api-v2/applications.mdx @@ -8,1022 +8,952 @@ import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## ⌨ 하위상점의 전자결제 신청 정보를 가져오기 (호스팅사 > 포트원) - -하위상점 등록 API를 통해서 호스팅사의 사업자 정보를 포트원에 전달하면 전자결제 신청을 위해 하위상점의 전자결제 신청 정보, 계약 진행 상태 정보를 가져옵니다. - - - -### Parameters - -#### Header - - -jwt 토큰 헤더 - - - -#### Path - - -store의 id - - - -### Responses - - - - -**`applications`** **\*** **Array\[ApplicationPublic]** - -전자결제 신청내역 - -
-

ApplicationPublic

- -**`id`** **\*** **string** - -전자결제 신청 id - ---- - -**`store_id`** **string** - -전자결제 신청한 store id - ---- - -**`pg_company`** **\*** **PgCompany** - -PG사 - -`"UNIDENTIFIED"`, `"NICE"`, `"KCP"`, `"KICC"`, `"DANAL"`, `"SETTLE"`, `"JTNET"`, `"INICIS"`, `"SMARTRO"`, `"BLUEWALNUT"`, `"TOSSPAYMENTS"`, `"DAOU"`, `"KSNET"`, `"MOBILIANS"`, `"ALIPAY"`, `"EXIMBAY"`, `"PAYPAL"`, `"PAYMENTWALL"`, `"NAVERPAY"`, `"NAVERCO"`, `"KAKAOPAY"`, `"TOSSPAY"`, `"CHAI"`, `"PAYCO"`, `"SMILEPAY"` + + 하위상점 등록 API를 통해서 호스팅사의 사업자 정보를 포트원에 전달하면 전자결제 신청을 위해 하위상점의 전자결제 신청 정보, 계약 진행 상태 정보를 가져옵니다. + ---- + ### Parameters -**`methods`** **\*** **Array\[MethodAndType]** + #### Header -해당 PG사로 신청한 결제수단 및 방식 + + jwt 토큰 헤더 + -`"CARD_GENERAL"`, `"CARD_SUBSCRIBE"`, `"CARD_KEYIN"`, `"TRANS_GENERAL"`, `"VBANK_GENERAL"`, `"PHONE_GENERAL"`, `"PHONE_SUBSCRIBE"`, `"GIFT_CARD_GENERAL"`, `"ABROAD_GENERAL"`, `"MY_ACCOUNT_GENERAL"`, `"NAVERPAY_GENERAL"`, `"NAVERCO_GENERAL"`, `"KAKAOPAY_GENERAL"`, `"TOSSPAY_GENERAL"`, `"PAYCO_GENERAL"`, `"SMILEPAY_GENERAL"`, `"CERTIFICATION_PHONE"`, `"CERTIFICATION_UNIFIED"` + #### Path ---- + + store의 id + -**`status`** **\*** **ApplicationStatusClass** + ### Responses -신청 상태 대분류 + + + + **`applications`** **\*** **Array\[ApplicationPublic]** -`"RECEPTION_SCHEDULED"`, `"TRANSFER"`, `"RECEPTION_PENDING"`, `"RECEPTION_COMPLETED"`, `"APPLICATION_CANCELED"`, `"MERCHANT_REVIEWING"`, `"CONTRACT_PROCESSING"`, `"CONTRACT_COMPLETED"`, `"CONTRACT_CANCELED"`, `"CONTRACT_PENDING"`, `"CONTRACT_REJECTED"`, `"SERVICE_CLOSED"`, `"SERVICE_OPEN"` + 전자결제 신청내역 ---- +
+

ApplicationPublic

-**`pg_specific_info`** **\*** **PgSpecificInfo** + **`id`** **\*** **string** -PG사별 특수값 + 전자결제 신청 id ---- + --- -**`failed_reason`** **string** + **`store_id`** **string** -실패 사유 + 전자결제 신청한 store id ---- + --- -**`pg_credential`** **object** + **`pg_company`** **\*** **PgCompany** -결제 연동에 필요한 Credential + PG사 ---- + `"UNIDENTIFIED"`, `"NICE"`, `"KCP"`, `"KICC"`, `"DANAL"`, `"SETTLE"`, `"JTNET"`, `"INICIS"`, `"SMARTRO"`, `"BLUEWALNUT"`, `"TOSSPAYMENTS"`, `"DAOU"`, `"KSNET"`, `"MOBILIANS"`, `"ALIPAY"`, `"EXIMBAY"`, `"PAYPAL"`, `"PAYMENTWALL"`, `"NAVERPAY"`, `"NAVERCO"`, `"KAKAOPAY"`, `"TOSSPAY"`, `"CHAI"`, `"PAYCO"`, `"SMILEPAY"` -**`created`** **\*** **string** + --- -생성 시각 + **`methods`** **\*** **Array\[MethodAndType]** ---- + 해당 PG사로 신청한 결제수단 및 방식 -**`modified`** **\*** **string** + `"CARD_GENERAL"`, `"CARD_SUBSCRIBE"`, `"CARD_KEYIN"`, `"TRANS_GENERAL"`, `"VBANK_GENERAL"`, `"PHONE_GENERAL"`, `"PHONE_SUBSCRIBE"`, `"GIFT_CARD_GENERAL"`, `"ABROAD_GENERAL"`, `"MY_ACCOUNT_GENERAL"`, `"NAVERPAY_GENERAL"`, `"NAVERCO_GENERAL"`, `"KAKAOPAY_GENERAL"`, `"TOSSPAY_GENERAL"`, `"PAYCO_GENERAL"`, `"SMILEPAY_GENERAL"`, `"CERTIFICATION_PHONE"`, `"CERTIFICATION_UNIFIED"` -수정 시각 + --- ---- + **`status`** **\*** **ApplicationStatusClass** -
+ 신청 상태 대분류 ---- + `"RECEPTION_SCHEDULED"`, `"TRANSFER"`, `"RECEPTION_PENDING"`, `"RECEPTION_COMPLETED"`, `"APPLICATION_CANCELED"`, `"MERCHANT_REVIEWING"`, `"CONTRACT_PROCESSING"`, `"CONTRACT_COMPLETED"`, `"CONTRACT_CANCELED"`, `"CONTRACT_PENDING"`, `"CONTRACT_REJECTED"`, `"SERVICE_CLOSED"`, `"SERVICE_OPEN"` -
+ --- - -**`mid`** **\*** **string** + **`pg_specific_info`** **\*** **PgSpecificInfo** -mid + PG사별 특수값 ---- + --- -**`api_key`** **\*** **string** + **`failed_reason`** **string** -api key + 실패 사유 ---- + --- -**`client_key`** **\*** **string** + **`pg_credential`** **object** -client key + 결제 연동에 필요한 Credential ---- + --- -**`mert_key`** **\*** **string** + **`created`** **\*** **string** -mert key + 생성 시각 ---- + --- - + **`modified`** **\*** **string** - -**`delivery_or_service_period`** **string** + 수정 시각 -배송 및 서비스 기간 + --- +
---- + --- +
-**`development_method`** **string** + + **`mid`** **\*** **string** -개발 방식 + mid -`"SELF_DEVELOPMENT"`, `"WORDPRESS"` + --- ---- + **`api_key`** **\*** **string** -**`supporting_countries`** **Array\[string]** + api key -결제 제공 국가 (ISO 3166-1 alpha-2) + --- ---- + **`client_key`** **\*** **string** -**`payco_id`** **string** + client key -페이코 ID + --- ---- + **`mert_key`** **\*** **string** -**`bank_name`** **BankName** + mert key -은행 + --- + -`"BANK_OF_KOREA"`, `"KDB"`, `"IBK"`, `"KB"`, `"HANA"`, `"SH"`, `"KOREA_EXIMBANK"`, `"NH"`, `"WOORI"`, `"SHINHAN"`, `"SC"`, `"CITY"`, `"DGB"`, `"BOOSAN_BANK"`, `"KJ_BANK"`, `"JEJU_BANK"`, `"JB_BANK"`, `"KN_BANK"`, `"MG"`, `"CU"`, `"SB"`, `"BOA"`, `"MORGAN_STANLEY"`, `"HSBC"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN"`, `"BNP_PARISBAS"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"SJ"`, `"CHINA_CONSTRUCTION_BANK"`, `"POST_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"` + + **`delivery_or_service_period`** **string** ---- + 배송 및 서비스 기간 -**`account_number`** **string** + --- -계좌번호 + **`development_method`** **string** ---- + 개발 방식 -**`account_holder_name`** **string** + `"SELF_DEVELOPMENT"`, `"WORDPRESS"` -예금주명 + --- ---- + **`supporting_countries`** **Array\[string]** -**`homepage_name`** **string** + 결제 제공 국가 (ISO 3166-1 alpha-2) -홈페이지 명 (서비스 명) + --- ---- + **`payco_id`** **string** -**`nicepay_terms_agreed`** **Array\[boolean]** + 페이코 ID -약관들 동의 여부 + --- ---- + **`bank_name`** **BankName** - -
+ 은행 -
+ `"BANK_OF_KOREA"`, `"KDB"`, `"IBK"`, `"KB"`, `"HANA"`, `"SH"`, `"KOREA_EXIMBANK"`, `"NH"`, `"WOORI"`, `"SHINHAN"`, `"SC"`, `"CITY"`, `"DGB"`, `"BOOSAN_BANK"`, `"KJ_BANK"`, `"JEJU_BANK"`, `"JB_BANK"`, `"KN_BANK"`, `"MG"`, `"CU"`, `"SB"`, `"BOA"`, `"MORGAN_STANLEY"`, `"HSBC"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN"`, `"BNP_PARISBAS"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"SJ"`, `"CHINA_CONSTRUCTION_BANK"`, `"POST_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"` - - - -**`code`** **\*** **string** + --- -에러 코드 + **`account_number`** **string** ---- + 계좌번호 -**`params`** **\*** **object** + --- -에러 세부사항 + **`account_holder_name`** **string** -
-

params

+ 예금주명 -**`message`** **string** + --- -에러 메시지 + **`homepage_name`** **string** ---- + 홈페이지 명 (서비스 명) -
+ --- ---- + **`nicepay_terms_agreed`** **Array\[boolean]** -
-
+ 약관들 동의 여부 -
+ --- + + + - - - -**`code`** **\*** **string** + + + + **`code`** **\*** **string** -에러 코드 + 에러 코드 ---- + --- -**`params`** **\*** **object** + **`params`** **\*** **object** -에러 세부사항 + 에러 세부사항 -
-

params

+
+

params

-**`message`** **string** + **`message`** **string** -에러 메시지 + 에러 메시지 ---- + --- +
-
+ --- +
+
+
---- + + + + **`code`** **\*** **string** - - + 에러 코드 - + --- - - - -**`code`** **\*** **string** + **`params`** **\*** **object** -에러 코드 + 에러 세부사항 ---- +
+

params

-**`params`** **\*** **object** + **`message`** **string** -에러 세부사항 + 에러 메시지 -
-

params

+ --- +
-**`message`** **string** + --- + + + -에러 메시지 + + + + **`code`** **\*** **string** ---- + 에러 코드 -
+ --- ---- + **`params`** **\*** **object** -
-
+ 에러 세부사항 -
+
+

params

- - - -**`code`** **\*** **string** + **`message`** **string** -에러 코드 + 에러 메시지 ---- + --- +
-**`params`** **\*** **object** + --- +
+
+
-에러 세부사항 + + + + **`code`** **\*** **string** -
-

params

+ 에러 코드 -**`message`** **string** + --- -에러 메시지 + **`params`** **\*** **object** ---- + 에러 세부사항 -
+
+

params

---- + **`message`** **string** - - + 에러 메시지 - + --- +
+ --- +
+
+
## ⌨ 온보딩 API 를 통해 전자결제 신청하기 (호스팅사 > 포트원 > 결제대행사) - -호스팅사 고객의 사업자 정보를 기반으로 생성된 스토어 식별코드로 전자 결제를 신청합니다. + + 호스팅사 고객의 사업자 정보를 기반으로 생성된 스토어 식별코드로 전자 결제를 신청합니다. + - + ### Parameters -### Parameters + #### Header -#### Header + + jwt 토큰 헤더 + - -jwt 토큰 헤더 + #### Path - + + store의 id + -#### Path + #### Body - -store의 id + + pg사 기준으로 묶은 application + - + + PG사별 특수값 + -#### Body + ### Responses - -pg사 기준으로 묶은 application + + + + **`applications`** **\*** **Array\[ApplicationPublic]** - - -PG사별 특수값 + 전자결제 신청내역 - +
+

ApplicationPublic

-### Responses + **`id`** **\*** **string** - - - -**`applications`** **\*** **Array\[ApplicationPublic]** + 전자결제 신청 id -전자결제 신청내역 + --- -
-

ApplicationPublic

+ **`store_id`** **string** -**`id`** **\*** **string** + 전자결제 신청한 store id -전자결제 신청 id + --- ---- + **`pg_company`** **\*** **PgCompany** -**`store_id`** **string** + PG사 -전자결제 신청한 store id + `"UNIDENTIFIED"`, `"NICE"`, `"KCP"`, `"KICC"`, `"DANAL"`, `"SETTLE"`, `"JTNET"`, `"INICIS"`, `"SMARTRO"`, `"BLUEWALNUT"`, `"TOSSPAYMENTS"`, `"DAOU"`, `"KSNET"`, `"MOBILIANS"`, `"ALIPAY"`, `"EXIMBAY"`, `"PAYPAL"`, `"PAYMENTWALL"`, `"NAVERPAY"`, `"NAVERCO"`, `"KAKAOPAY"`, `"TOSSPAY"`, `"CHAI"`, `"PAYCO"`, `"SMILEPAY"` ---- + --- -**`pg_company`** **\*** **PgCompany** + **`methods`** **\*** **Array\[MethodAndType]** -PG사 + 해당 PG사로 신청한 결제수단 및 방식 -`"UNIDENTIFIED"`, `"NICE"`, `"KCP"`, `"KICC"`, `"DANAL"`, `"SETTLE"`, `"JTNET"`, `"INICIS"`, `"SMARTRO"`, `"BLUEWALNUT"`, `"TOSSPAYMENTS"`, `"DAOU"`, `"KSNET"`, `"MOBILIANS"`, `"ALIPAY"`, `"EXIMBAY"`, `"PAYPAL"`, `"PAYMENTWALL"`, `"NAVERPAY"`, `"NAVERCO"`, `"KAKAOPAY"`, `"TOSSPAY"`, `"CHAI"`, `"PAYCO"`, `"SMILEPAY"` + `"CARD_GENERAL"`, `"CARD_SUBSCRIBE"`, `"CARD_KEYIN"`, `"TRANS_GENERAL"`, `"VBANK_GENERAL"`, `"PHONE_GENERAL"`, `"PHONE_SUBSCRIBE"`, `"GIFT_CARD_GENERAL"`, `"ABROAD_GENERAL"`, `"MY_ACCOUNT_GENERAL"`, `"NAVERPAY_GENERAL"`, `"NAVERCO_GENERAL"`, `"KAKAOPAY_GENERAL"`, `"TOSSPAY_GENERAL"`, `"PAYCO_GENERAL"`, `"SMILEPAY_GENERAL"`, `"CERTIFICATION_PHONE"`, `"CERTIFICATION_UNIFIED"` ---- + --- -**`methods`** **\*** **Array\[MethodAndType]** + **`status`** **\*** **ApplicationStatusClass** -해당 PG사로 신청한 결제수단 및 방식 + 신청 상태 대분류 -`"CARD_GENERAL"`, `"CARD_SUBSCRIBE"`, `"CARD_KEYIN"`, `"TRANS_GENERAL"`, `"VBANK_GENERAL"`, `"PHONE_GENERAL"`, `"PHONE_SUBSCRIBE"`, `"GIFT_CARD_GENERAL"`, `"ABROAD_GENERAL"`, `"MY_ACCOUNT_GENERAL"`, `"NAVERPAY_GENERAL"`, `"NAVERCO_GENERAL"`, `"KAKAOPAY_GENERAL"`, `"TOSSPAY_GENERAL"`, `"PAYCO_GENERAL"`, `"SMILEPAY_GENERAL"`, `"CERTIFICATION_PHONE"`, `"CERTIFICATION_UNIFIED"` + `"RECEPTION_SCHEDULED"`, `"TRANSFER"`, `"RECEPTION_PENDING"`, `"RECEPTION_COMPLETED"`, `"APPLICATION_CANCELED"`, `"MERCHANT_REVIEWING"`, `"CONTRACT_PROCESSING"`, `"CONTRACT_COMPLETED"`, `"CONTRACT_CANCELED"`, `"CONTRACT_PENDING"`, `"CONTRACT_REJECTED"`, `"SERVICE_CLOSED"`, `"SERVICE_OPEN"` ---- + --- -**`status`** **\*** **ApplicationStatusClass** + **`pg_specific_info`** **\*** **PgSpecificInfo** -신청 상태 대분류 + PG사별 특수값 -`"RECEPTION_SCHEDULED"`, `"TRANSFER"`, `"RECEPTION_PENDING"`, `"RECEPTION_COMPLETED"`, `"APPLICATION_CANCELED"`, `"MERCHANT_REVIEWING"`, `"CONTRACT_PROCESSING"`, `"CONTRACT_COMPLETED"`, `"CONTRACT_CANCELED"`, `"CONTRACT_PENDING"`, `"CONTRACT_REJECTED"`, `"SERVICE_CLOSED"`, `"SERVICE_OPEN"` + --- ---- + **`failed_reason`** **string** -**`pg_specific_info`** **\*** **PgSpecificInfo** + 실패 사유 -PG사별 특수값 + --- ---- + **`pg_credential`** **object** -**`failed_reason`** **string** + 결제 연동에 필요한 Credential -실패 사유 + --- ---- + **`created`** **\*** **string** -**`pg_credential`** **object** + 생성 시각 -결제 연동에 필요한 Credential + --- ---- + **`modified`** **\*** **string** -**`created`** **\*** **string** + 수정 시각 -생성 시각 + --- +
---- + --- +
-**`modified`** **\*** **string** + + **`mid`** **\*** **string** -수정 시각 + mid ---- + --- -
+ **`api_key`** **\*** **string** ---- + api key - + --- - -**`mid`** **\*** **string** + **`client_key`** **\*** **string** -mid + client key ---- + --- -**`api_key`** **\*** **string** + **`mert_key`** **\*** **string** -api key + mert key ---- + --- + -**`client_key`** **\*** **string** + + **`delivery_or_service_period`** **string** -client key + 배송 및 서비스 기간 ---- + --- -**`mert_key`** **\*** **string** + **`development_method`** **string** -mert key + 개발 방식 ---- + `"SELF_DEVELOPMENT"`, `"WORDPRESS"` - + --- - -**`delivery_or_service_period`** **string** + **`supporting_countries`** **Array\[string]** -배송 및 서비스 기간 + 결제 제공 국가 (ISO 3166-1 alpha-2) ---- + --- -**`development_method`** **string** + **`payco_id`** **string** -개발 방식 + 페이코 ID -`"SELF_DEVELOPMENT"`, `"WORDPRESS"` + --- ---- + **`bank_name`** **BankName** -**`supporting_countries`** **Array\[string]** + 은행 -결제 제공 국가 (ISO 3166-1 alpha-2) + `"BANK_OF_KOREA"`, `"KDB"`, `"IBK"`, `"KB"`, `"HANA"`, `"SH"`, `"KOREA_EXIMBANK"`, `"NH"`, `"WOORI"`, `"SHINHAN"`, `"SC"`, `"CITY"`, `"DGB"`, `"BOOSAN_BANK"`, `"KJ_BANK"`, `"JEJU_BANK"`, `"JB_BANK"`, `"KN_BANK"`, `"MG"`, `"CU"`, `"SB"`, `"BOA"`, `"MORGAN_STANLEY"`, `"HSBC"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN"`, `"BNP_PARISBAS"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"SJ"`, `"CHINA_CONSTRUCTION_BANK"`, `"POST_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"` ---- + --- -**`payco_id`** **string** + **`account_number`** **string** -페이코 ID + 계좌번호 ---- + --- -**`bank_name`** **BankName** + **`account_holder_name`** **string** -은행 + 예금주명 -`"BANK_OF_KOREA"`, `"KDB"`, `"IBK"`, `"KB"`, `"HANA"`, `"SH"`, `"KOREA_EXIMBANK"`, `"NH"`, `"WOORI"`, `"SHINHAN"`, `"SC"`, `"CITY"`, `"DGB"`, `"BOOSAN_BANK"`, `"KJ_BANK"`, `"JEJU_BANK"`, `"JB_BANK"`, `"KN_BANK"`, `"MG"`, `"CU"`, `"SB"`, `"BOA"`, `"MORGAN_STANLEY"`, `"HSBC"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN"`, `"BNP_PARISBAS"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"SJ"`, `"CHINA_CONSTRUCTION_BANK"`, `"POST_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"` + --- ---- + **`homepage_name`** **string** -**`account_number`** **string** + 홈페이지 명 (서비스 명) -계좌번호 + --- ---- + **`nicepay_terms_agreed`** **Array\[boolean]** -**`account_holder_name`** **string** + 약관들 동의 여부 -예금주명 + --- + + + ---- + + + + **`code`** **\*** **string** -**`homepage_name`** **string** + 에러 코드 -홈페이지 명 (서비스 명) + --- ---- + **`params`** **\*** **object** -**`nicepay_terms_agreed`** **Array\[boolean]** + 에러 세부사항 -약관들 동의 여부 +
+

params

---- + **`message`** **string** - - + 에러 메시지 - + --- +
- - - -**`code`** **\*** **string** + --- + + + -에러 코드 + + + + **`code`** **\*** **string** ---- + 에러 코드 -**`params`** **\*** **object** + --- -에러 세부사항 + **`params`** **\*** **object** -
-

params

+ 에러 세부사항 -**`message`** **string** +
+

params

-에러 메시지 + **`message`** **string** ---- + 에러 메시지 -
+ --- +
---- + --- +
+
+
-
-
+ + + + **`code`** **\*** **string** - + 에러 코드 - - - -**`code`** **\*** **string** + --- -에러 코드 + **`params`** **\*** **object** ---- + 에러 세부사항 -**`params`** **\*** **object** +
+

params

-에러 세부사항 + **`message`** **string** -
-

params

+ 에러 메시지 -**`message`** **string** + --- +
-에러 메시지 + --- + + + ---- + + + + **`code`** **\*** **string** -
+ 에러 코드 ---- + --- -
-
- -
- - - - -**`code`** **\*** **string** - -에러 코드 - ---- - -**`params`** **\*** **object** - -에러 세부사항 - -
-

params

- -**`message`** **string** - -에러 메시지 - ---- - -
- ---- - -
-
- -
- - - - -**`code`** **\*** **string** - -에러 코드 - ---- - -**`params`** **\*** **object** + **`params`** **\*** **object** -에러 세부사항 + 에러 세부사항 -
-

params

+
+

params

-**`message`** **string** + **`message`** **string** -에러 메시지 + 에러 메시지 ---- + --- +
-
+ --- +
+
+
---- + + + + **`code`** **\*** **string** - - + 에러 코드 - + --- - - - -**`code`** **\*** **string** - -에러 코드 - ---- + **`params`** **\*** **object** -**`params`** **\*** **object** - -에러 세부사항 - -
-

params

- -**`message`** **string** - -에러 메시지 - ---- + 에러 세부사항 -
+
+

params

---- + **`message`** **string** - - + 에러 메시지 - + --- +
+ --- +
+
+
- -**`pg_company`** **\*** **PublicPgCompany** + + **`pg_company`** **\*** **PublicPgCompany** -PG사 + PG사 -`"UNIDENTIFIED"`, `"TOSSPAYMENTS"` + `"UNIDENTIFIED"`, `"TOSSPAYMENTS"` ---- + --- -**`methods`** **\*** **Array\[PublicMethodAndType]** + **`methods`** **\*** **Array\[PublicMethodAndType]** -결제 수단 및 방식\ -`CARD_GENERAL`: 카드 일반결제\ -`CARD_SUBSCRIBE`: 카드 정기결제\ -`TRANS_GENERAL`: 계좌이체 일반결제\ -`VBANK_GENERAL`: 가상계좌 일반결제\ -`PHONE_GENERAL`: 휴대폰 일반결제\ -`GIFT_CARD_GENERAL`: 상품권 일반결제\ + 결제 수단 및 방식\ + `CARD_GENERAL`: 카드 일반결제\ + `CARD_SUBSCRIBE`: 카드 정기결제\ + `TRANS_GENERAL`: 계좌이체 일반결제\ + `VBANK_GENERAL`: 가상계좌 일반결제\ + `PHONE_GENERAL`: 휴대폰 일반결제\ + `GIFT_CARD_GENERAL`: 상품권 일반결제\\ -`"CARD_GENERAL"`, `"CARD_SUBSCRIBE"`, `"TRANS_GENERAL"`, `"VBANK_GENERAL"`, `"PHONE_GENERAL"`, `"GIFT_CARD_GENERAL"` + `"CARD_GENERAL"`, `"CARD_SUBSCRIBE"`, `"TRANS_GENERAL"`, `"VBANK_GENERAL"`, `"PHONE_GENERAL"`, `"GIFT_CARD_GENERAL"` ---- + --- + - + + 은행 - -은행 + `"BANK_OF_KOREA"`, `"KDB"`, `"IBK"`, `"KB"`, `"HANA"`, `"SH"`, `"KOREA_EXIMBANK"`, `"NH"`, `"WOORI"`, `"SHINHAN"`, `"SC"`, `"CITY"`, `"DGB"`, `"BOOSAN_BANK"`, `"KJ_BANK"`, `"JEJU_BANK"`, `"JB_BANK"`, `"KN_BANK"`, `"MG"`, `"CU"`, `"SB"`, `"BOA"`, `"MORGAN_STANLEY"`, `"HSBC"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN"`, `"BNP_PARISBAS"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"SJ"`, `"CHINA_CONSTRUCTION_BANK"`, `"POST_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"` + -`"BANK_OF_KOREA"`, `"KDB"`, `"IBK"`, `"KB"`, `"HANA"`, `"SH"`, `"KOREA_EXIMBANK"`, `"NH"`, `"WOORI"`, `"SHINHAN"`, `"SC"`, `"CITY"`, `"DGB"`, `"BOOSAN_BANK"`, `"KJ_BANK"`, `"JEJU_BANK"`, `"JB_BANK"`, `"KN_BANK"`, `"MG"`, `"CU"`, `"SB"`, `"BOA"`, `"MORGAN_STANLEY"`, `"HSBC"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN"`, `"BNP_PARISBAS"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"SJ"`, `"CHINA_CONSTRUCTION_BANK"`, `"POST_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"` + + **`delivery_or_service_period`** **string** - + 배송 및 서비스 기간 - -**`delivery_or_service_period`** **string** + --- -배송 및 서비스 기간 + **`development_method`** **string** ---- + 개발 방식 -**`development_method`** **string** + `"SELF_DEVELOPMENT"`, `"WORDPRESS"` -개발 방식 + --- -`"SELF_DEVELOPMENT"`, `"WORDPRESS"` + **`supporting_countries`** **Array\[string]** ---- + 결제 제공 국가 (ISO 3166-1 alpha-2) -**`supporting_countries`** **Array\[string]** + --- -결제 제공 국가 (ISO 3166-1 alpha-2) + **`payco_id`** **string** ---- + 페이코 ID -**`payco_id`** **string** + --- -페이코 ID + **`bank_name`** **BankName** ---- + 은행 -**`bank_name`** **BankName** + `"BANK_OF_KOREA"`, `"KDB"`, `"IBK"`, `"KB"`, `"HANA"`, `"SH"`, `"KOREA_EXIMBANK"`, `"NH"`, `"WOORI"`, `"SHINHAN"`, `"SC"`, `"CITY"`, `"DGB"`, `"BOOSAN_BANK"`, `"KJ_BANK"`, `"JEJU_BANK"`, `"JB_BANK"`, `"KN_BANK"`, `"MG"`, `"CU"`, `"SB"`, `"BOA"`, `"MORGAN_STANLEY"`, `"HSBC"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN"`, `"BNP_PARISBAS"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"SJ"`, `"CHINA_CONSTRUCTION_BANK"`, `"POST_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"` -은행 + --- -`"BANK_OF_KOREA"`, `"KDB"`, `"IBK"`, `"KB"`, `"HANA"`, `"SH"`, `"KOREA_EXIMBANK"`, `"NH"`, `"WOORI"`, `"SHINHAN"`, `"SC"`, `"CITY"`, `"DGB"`, `"BOOSAN_BANK"`, `"KJ_BANK"`, `"JEJU_BANK"`, `"JB_BANK"`, `"KN_BANK"`, `"MG"`, `"CU"`, `"SB"`, `"BOA"`, `"MORGAN_STANLEY"`, `"HSBC"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN"`, `"BNP_PARISBAS"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"SJ"`, `"CHINA_CONSTRUCTION_BANK"`, `"POST_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"` + **`account_number`** **string** ---- + 계좌번호 -**`account_number`** **string** + --- -계좌번호 + **`account_holder_name`** **string** ---- + 예금주명 -**`account_holder_name`** **string** + --- -예금주명 + **`homepage_name`** **string** ---- + 홈페이지 명 (서비스 명) -**`homepage_name`** **string** + --- -홈페이지 명 (서비스 명) + **`nicepay_terms_agreed`** **Array\[boolean]** ---- + 약관들 동의 여부 -**`nicepay_terms_agreed`** **Array\[boolean]** + --- + -약관들 동의 여부 + + 결제 수단 및 방식\ + `CARD_GENERAL`: 카드 일반결제\ + `CARD_SUBSCRIBE`: 카드 정기결제\ + `TRANS_GENERAL`: 계좌이체 일반결제\ + `VBANK_GENERAL`: 가상계좌 일반결제\ + `PHONE_GENERAL`: 휴대폰 일반결제\ + `GIFT_CARD_GENERAL`: 상품권 일반결제\\ ---- - - - - -결제 수단 및 방식\ -`CARD_GENERAL`: 카드 일반결제\ -`CARD_SUBSCRIBE`: 카드 정기결제\ -`TRANS_GENERAL`: 계좌이체 일반결제\ -`VBANK_GENERAL`: 가상계좌 일반결제\ -`PHONE_GENERAL`: 휴대폰 일반결제\ -`GIFT_CARD_GENERAL`: 상품권 일반결제\ - -`"CARD_GENERAL"`, `"CARD_SUBSCRIBE"`, `"TRANS_GENERAL"`, `"VBANK_GENERAL"`, `"PHONE_GENERAL"`, `"GIFT_CARD_GENERAL"` - - + `"CARD_GENERAL"`, `"CARD_SUBSCRIBE"`, `"TRANS_GENERAL"`, `"VBANK_GENERAL"`, `"PHONE_GENERAL"`, `"GIFT_CARD_GENERAL"` + - -PG사 + + PG사 -`"UNIDENTIFIED"`, `"TOSSPAYMENTS"` - - + `"UNIDENTIFIED"`, `"TOSSPAYMENTS"` + ## ⌨ 가입 신청 URL 호출 & 상태값 조회하기 - -**1. 가입 신청 URL 호출 (호스팅사 > 포트원 > 결제대행사) - 토스페이먼츠 전용** + + **1. 가입 신청 URL 호출 (호스팅사 > 포트원 > 결제대행사) - 토스페이먼츠 전용** -**2. 상태값 조회하기 (결제대행사 > 포트원 > 호스팅사)** + **2. 상태값 조회하기 (결제대행사 > 포트원 > 호스팅사)** + - + ### Parameters -### Parameters + #### Header -#### Header + + jwt 토큰 헤더 + - -jwt 토큰 헤더 + #### Path - + + store의 id + -#### Path + ### Responses - -store의 id + + + + **`urls`** **Array\[TosspaymentsApplicationUrl]** - +
+

TosspaymentsApplicationUrl

-### Responses + **`application_id`** **\*** **string** - - - -**`urls`** **Array\[TosspaymentsApplicationUrl]** + 전자결제 신청 id -
-

TosspaymentsApplicationUrl

+ --- -**`application_id`** **\*** **string** + **`payment_type`** **\*** **string** -전자결제 신청 id + `GENERAL`: 일반결제\ + `SUBSCRIBE`: 정기결제\ + `EASY`: 간편결제\\ ---- + `"GENERAL"`, `"SUBSCRIBE"`, `"EASY"` -**`payment_type`** **\*** **string** + --- -`GENERAL`: 일반결제\ -`SUBSCRIBE`: 정기결제\ -`EASY`: 간편결제\ + **`onboarding_url`** **string** -`"GENERAL"`, `"SUBSCRIBE"`, `"EASY"` + 토스페이먼츠 온보딩페이지 url status가 `READY`, `IN_DRAFT`인 경우만 값이 담겨짐 ---- - -**`onboarding_url`** **string** - -토스페이먼츠 온보딩페이지 url status가 `READY`, `IN_DRAFT`인 경우만 값이 담겨짐 + --- ---- + **`status`** **\*** **string** -**`status`** **\*** **string** + 토스페이먼츠 계약 상태 (토스페이먼츠에서 내려주는 상태값)\ + `READY`: 신청서 작성 전\ + `IN_DRAFT`: 신청서 작성 중\ + `WAIT_FOR_REVIEW`: 신청서 제출 완료\ + `IN_REVIEW`: 심사 중\ + `DONE`: 계약 완료\ + `CANCELED`: 계약 취소\ + `TERMINATED`: 계약 해지\\ -토스페이먼츠 계약 상태 (토스페이먼츠에서 내려주는 상태값)\ -`READY`: 신청서 작성 전\ -`IN_DRAFT`: 신청서 작성 중\ -`WAIT_FOR_REVIEW`: 신청서 제출 완료\ -`IN_REVIEW`: 심사 중\ -`DONE`: 계약 완료\ -`CANCELED`: 계약 취소\ -`TERMINATED`: 계약 해지\ + `"READY"`, `"IN_DRAFT"`, `"WAIT_FOR_REVIEW"`, `"IN_REVIEW"`, `"DONE"`, `"CANCELED"`, `"TERMINATED"` -`"READY"`, `"IN_DRAFT"`, `"WAIT_FOR_REVIEW"`, `"IN_REVIEW"`, `"DONE"`, `"CANCELED"`, `"TERMINATED"` + --- +
---- + --- +
+
+
-
+ + + + **`code`** **\*** **string** ---- + 에러 코드 - - + --- - + **`params`** **\*** **object** - - - -**`code`** **\*** **string** + 에러 세부사항 -에러 코드 +
+

params

---- + **`message`** **string** -**`params`** **\*** **object** + 에러 메시지 -에러 세부사항 + --- +
-
-

params

+ --- + + + -**`message`** **string** + + + + **`code`** **\*** **string** -에러 메시지 + 에러 코드 ---- + --- -
+ **`params`** **\*** **object** ---- + 에러 세부사항 -
-
+
+

params

- + **`message`** **string** - - - -**`code`** **\*** **string** + 에러 메시지 -에러 코드 + --- +
---- + --- + + +
-**`params`** **\*** **object** + + + + **`code`** **\*** **string** -에러 세부사항 + 에러 코드 -
-

params

+ --- -**`message`** **string** + **`params`** **\*** **object** -에러 메시지 + 에러 세부사항 ---- +
+

params

-
+ **`message`** **string** ---- + 에러 메시지 - - + --- +
-
+ --- + + + - - - -**`code`** **\*** **string** + + + + **`code`** **\*** **string** -에러 코드 + 에러 코드 ---- + --- -**`params`** **\*** **object** + **`params`** **\*** **object** -에러 세부사항 + 에러 세부사항 -
-

params

+
+

params

-**`message`** **string** + **`message`** **string** -에러 메시지 - ---- - -
- ---- - - - - - - - - - -**`code`** **\*** **string** - -에러 코드 - ---- - -**`params`** **\*** **object** - -에러 세부사항 - -
-

params

- -**`message`** **string** - -에러 메시지 - ---- - -
- ---- - -
-
+ 에러 메시지 -
+ --- +
+ --- +
+
+
diff --git a/src/content/docs/ko/api-v2/authorization.mdx b/src/content/docs/ko/api-v2/authorization.mdx index a357d7cd2..472b17cc6 100644 --- a/src/content/docs/ko/api-v2/authorization.mdx +++ b/src/content/docs/ko/api-v2/authorization.mdx @@ -8,279 +8,259 @@ import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## ⌨ API Key 방식으로 로그인 -API key 를 통해 API 인증에 사용할 토큰을 가져옵니다. - -### Parameters - -#### Body - - -사용자의 API Key - - + API key 를 통해 API 인증에 사용할 토큰을 가져옵니다. -### Responses + ### Parameters - - - -**`accessToken`** **\*** **string** + #### Body -인증에 사용하는 엑세스 토큰. 하루의 유효기간을 가지고 있습니다. + + 사용자의 API Key + ---- + ### Responses -**`refreshToken`** **\*** **string** + + + + **`accessToken`** **\*** **string** -토큰 재발급 및 유효기간 연장을 위해 사용하는 리프레시 토큰. 일주일의 유효기간을 가지고 있으며, 리프레시 토큰을 통해 유효기간이 연장된 새로운 엑세스 토큰을 발급받을 수 있습니다. + 인증에 사용하는 엑세스 토큰. 하루의 유효기간을 가지고 있습니다. ---- + --- - - + **`refreshToken`** **\*** **string** - + 토큰 재발급 및 유효기간 연장을 위해 사용하는 리프레시 토큰. 일주일의 유효기간을 가지고 있으며, 리프레시 토큰을 통해 유효기간이 연장된 새로운 엑세스 토큰을 발급받을 수 있습니다. - - - -**`type`** **\*** **string** + --- + + + -`"INVALID_REQUEST"` + + + + **`type`** **\*** **string** ---- + `"INVALID_REQUEST"` -**`message`** **string** + --- -에러 메시지 + **`message`** **string** ---- + 에러 메시지 - - - + --- + + + - - - -**`type`** **\*** **string** + + + + **`type`** **\*** **string** -`"UNAUTHORIZED"` + `"UNAUTHORIZED"` ---- + --- -**`message`** **string** + **`message`** **string** -에러 메시지 + 에러 메시지 ---- - - - - + --- + + + ## ⌨ 토큰 재발급 - -리프레시 토큰을 이용한 토큰 재발급 - - -### Parameters - -#### Body - - -새로운 token을 발급받기 위한 refresh token - - - -### Responses + + 리프레시 토큰을 이용한 토큰 재발급 + - - - -**`access_token`** **\*** **string** + ### Parameters -인증 서버에서 인증된 사용자의 access token + #### Body ---- - -**`refresh_token`** **\*** **string** - -인증 서버에서 인증된 사용자의 access token - ---- + + 새로운 token을 발급받기 위한 refresh token + - - + ### Responses - - - - -**`code`** **\*** **string** + + + + **`access_token`** **\*** **string** -에러 코드 + 인증 서버에서 인증된 사용자의 access token ---- + --- -**`params`** **\*** **object** + **`refresh_token`** **\*** **string** -에러 세부사항 + 인증 서버에서 인증된 사용자의 access token -
-

params

+ --- + + + -**`message`** **string** + + + + **`code`** **\*** **string** -에러 메시지 + 에러 코드 ---- + --- -
+ **`params`** **\*** **object** ---- + 에러 세부사항 -
-
+
+

params

- - - - -**`code`** **\*** **string** + **`message`** **string** -에러 코드 + 에러 메시지 ---- + --- +
-**`params`** **\*** **object** + --- +
+
+
-에러 세부사항 + + + + **`code`** **\*** **string** -
-

params

+ 에러 코드 -**`message`** **string** + --- -에러 메시지 + **`params`** **\*** **object** ---- + 에러 세부사항 -
+
+

params

---- + **`message`** **string** - - + 에러 메시지 - + --- +
+ --- +
+
+
## ⌨ API Key 방식으로 로그인 (Deprecated) - - -API Key 방식으로 로그인 - - -### Parameters - -#### Body - - -사용자의 API Key - - - -### Responses - - - -**`access_token`** **\*** **string** + + + API Key 방식으로 로그인 + -인증 서버에서 인증된 사용자의 access token + ### Parameters ---- + #### Body -**`refresh_token`** **\*** **string** + + 사용자의 API Key + -인증 서버에서 인증된 사용자의 access token + ### Responses ---- + + + + **`access_token`** **\*** **string** - - + 인증 서버에서 인증된 사용자의 access token - - - - -**`code`** **\*** **string** + --- -에러 코드 + **`refresh_token`** **\*** **string** ---- + 인증 서버에서 인증된 사용자의 access token -**`params`** **\*** **object** + --- + + + -에러 세부사항 + + + + **`code`** **\*** **string** -
-

params

+ 에러 코드 -**`message`** **string** + --- -에러 메시지 + **`params`** **\*** **object** ---- + 에러 세부사항 -
+
+

params

---- + **`message`** **string** - - + 에러 메시지 - - - - -**`code`** **\*** **string** + --- +
-에러 코드 + --- +
+
+
---- - -**`params`** **\*** **object** + + + + **`code`** **\*** **string** -에러 세부사항 + 에러 코드 -
-

params

+ --- -**`message`** **string** + **`params`** **\*** **object** -에러 메시지 + 에러 세부사항 ---- +
+

params

-
- ---- + **`message`** **string** - - + 에러 메시지 - + --- +
+ --- +
+
+
diff --git a/src/content/docs/ko/api-v2/billing-key.mdx b/src/content/docs/ko/api-v2/billing-key.mdx new file mode 100644 index 000000000..bb6021633 --- /dev/null +++ b/src/content/docs/ko/api-v2/billing-key.mdx @@ -0,0 +1,1479 @@ +--- +title: 빌링키 관련 API +description: 빌링키에 관련된 API 를 확인할 수 있습니다. +--- + +import Details from "~/components/gitbook/Details.astro"; +import Swagger from "~/components/gitbook/swagger/Swagger.astro"; +import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; +import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; +import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; +import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; + +## ⌨ 빌링키 다건 조회 + + + + + ### Parameters + + #### Query + + + 빌링키 + + + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + + + ### Responses + + + + + **`billing_keys`** **\*** **Array\[BillingKey]** + + 빌링키 정보 + +
+

BillingKey

+ + **`billing_key`** **\*** **string** + + 빌링키 + + --- + + **`merchant_id`** **\*** **string** + + 고객사 ID + + --- + + **`store_id`** **\*** **string** + + 하위 상점 ID + + --- + + **`channel`** **\*** **Channel** + + 결제 채널 정보 + + --- + + **`origin`** **Origin** + + 결제를 요청한 근원에 대한 정보 + + --- + + **`customer`** **\*** **Customer** + + 구매자 정보 + + --- + + **`issued_at`** **string** + + 발급 일시 (`status`가 `ISSUED`인 경우 제공) + + --- + + **`custom_data`** **string** + + 커스텀 데이터 + + --- + + **`issue_id`** **string** + + 고객사가 채번 하는 빌링키 발급 건 고유 ID + + --- + + **`issue_name`** **string** + + 빌링키 발급 건 이름 + + --- + + **`payment_method_detail`** **\*** **BillingKeyPaymentMethod** + + 빌링키 결제수단 상세정보 + + --- +
+ + --- +
+ + + **`card`** **object** + + 카드 정보 + +
+

card

+ + **`detail`** **CardDetail** + + 카드 정보 + + --- + + **`number`** **string** + + 마스킹된 카드 번호 + + --- +
+ + --- + + **`mobile`** **Mobile** + + 모바일결제 정보 + +
+

Mobile

+ + **`carrier`** **Carrier** + + 통신사 + + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + + --- + + **`phone_number`** **string** + + 휴대전화번호 + + --- +
+ + --- + + **`easy_pay`** **object** + + 간편결제 정보 + +
+

easy\_pay

+ + **`provider`** **EasyPayProvider** + + 간편결제 PG사 + + `"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` + + --- +
+ + --- +
+ + + **`publisher`** **string** + + 발행사 코드 + + --- + + **`issuer`** **string** + + 발급사 코드 + + --- + + **`brand`** **CardBrand** + + 카드 브랜드 + + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + + --- + + **`card_type`** **CardType** + + 카드 종류 + + `"CREDIT"`, `"DEBIT"`, `"GIFT"` + + --- + + **`card_owner_type`** **CardOwnerType** + + 카드 소유주 유형 + + `"PERSONAL"`, `"CORPORATE"` + + --- + + **`bin`** **string** + + 카드 빈넘버 + + --- + + **`name`** **string** + + 카드전표인자명 + + --- + + + + **`id`** **string** + + 채널 ID + + --- + + **`name`** **string** + + 채널 이름 + + --- + + **`key`** **string** + + 채널 키 + + --- + + **`type`** **\*** **ChannelType** + + 채널 유형 + + `"LIVE"`, `"TEST"` + + --- + + **`pg_provider`** **\*** **PgProvider** + + 결제대행사(PG사) + + `"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` + + --- + + **`pg_merchant_id`** **\*** **string** + + PG사에 등록된 고객사 ID + + --- + +
+ + + + **`id`** **string** + + 구매자 ID + + --- + + **`name`** **string** + + 구매자 이름 + + --- + + **`birthYear`** **string** + + 구매자 생년 + + --- + + **`gender`** **Gender** + + `"MALE"`, `"FEMALE"`, `"OTHER"` + + --- + + **`email`** **string** + + 구매자 이메일 + + --- + + **`phone_number`** **string** + + 구매자 전화번호 + + --- + + **`one_line_address`** **string** + + 구매자 주소 (한 줄) + + --- + + **`separated_address`** **SeparatedAddress** + + 구매자 주소 (단위별) + +
+

SeparatedAddress

+ + **`country`** **Country** + + 국가 + + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + --- + + **`province`** **string** + + 시/도/구 + + --- + + **`city`** **string** + + 도시 + + --- + + **`address_line_1`** **\*** **string** + + 일반 주소 + + --- + + **`address_line_2`** **\*** **string** + + 상세 주소 + + --- +
+ + --- + + **`zipcode`** **string** + + 구매자 우편번호 + + --- +
+ + + **`platform_type`** **\*** **string** + + 결제를 요청한 단말의 플랫폼 분류 + + `"PC"`, `"MOBILE"`, `"API"` + + --- + + **`user_agent`** **string** + + 결제근원의 환경 정보 (Http 의 User-Agent header value) + + --- + + **`url`** **string** + + 결제근원의 페이지 url + + --- + + **`ip_address`** **\*** **string** + + 결제근원의 IP 주소 + + --- + +
+
+ + + + + **`code`** **\*** **string** + + `"UNAUTHORIZED"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"PORTONE_ERROR"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + +
+ +## ⌨ 빌링키 발급 + + + + + ### Parameters + + #### Body + + + 하위 상점 ID + + + + 고객 정보 + + + + + + 결제 채널 키 + + + + 가능한 결제 수단: 카드, 휴대폰 소액 결제 선택한 결제 수단에 따라 + + `card` + + 와 + + `mobile_phone` + + 중 하나에만 값이 들어있어야 합니다. + + + ### Responses + + + + + **`billing_key`** **\*** **string** + + --- + + **`customer_id`** **\*** **string** + + --- + + **`requested_at`** **\*** **string** + + --- + + **`issued_at`** **\*** **string** + + --- + + + + + + + + **`code`** **\*** **string** + + `INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\\ + + `"INVALID_REQUEST"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + **`code`** **\*** **string** + + `UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\ + + `"UNAUTHORIZED"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + **`code`** **\*** **string** + + `PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\\ + + `"PERMISSION_DENIED"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + **`code`** **\*** **string** + + `STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ + `CHANNEL_NOT_FOUND`: 결제 채널을 찾을 수 없습니다.\\ + + `"STORE_NOT_FOUND"`, `"CHANNEL_NOT_FOUND"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + **`code`** **\*** **string** + + `"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + **`address_line_1`** **\*** **string** + + 주소1 + + --- + + **`address_line_2`** **\*** **string** + + 주소2 + + --- + + **`city`** **string** + + 도시 + + --- + + **`province`** **string** + + 주, 도, 시 + + --- + + **`country`** **Country** + + 국가 + + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + --- + + + + **`card_number`** **\*** **string** + + --- + + **`expiry_month`** **\*** **string** + + --- + + **`expiry_year`** **\*** **string** + + --- + + **`birth_or_business_registration_number`** **\*** **string** + + --- + + **`password_two_digits`** **\*** **string** + + --- + + + + 휴대폰 통신사 + + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + + + + 국가 + + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + + + + + **`customer_id`** **string** + + 고객사의 고객 고유 ID - 값을 넣지 않으면 PortOne에서 자체 채번합니다. + + --- + + **`phone_number`** **string** + + 휴대폰 번호 + + --- + + **`customer_name`** **CustomerName** + + 고객 이름 정보. full\_name만 채워져 있거나, first\_name & last\_name이 채워져 있어야 함 + +
+

CustomerName

+ + **`full_name`** **string** + + --- + + **`first_name`** **string** + + --- + + **`last_name`** **string** + + --- +
+ + --- + + **`email`** **string** + + 고객 이메일 + + --- + + **`zipcode`** **string** + + 우편번호 + + --- + + **`address`** **Address** + + 주소 형식 + +
+

Address

+ + **`address_line_1`** **\*** **string** + + 주소1 + + --- + + **`address_line_2`** **\*** **string** + + 주소2 + + --- + + **`city`** **string** + + 도시 + + --- + + **`province`** **string** + + 주, 도, 시 + + --- + + **`country`** **Country** + + 국가 + + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + --- +
+ + --- + + **`gender`** **Gender** + + 성별 + + `"MALE"`, `"FEMALE"`, `"OTHER"` + + --- + + **`birth_year`** **string** + + 출생연도 + + --- + + **`birth_month`** **string** + + 출생월 + + --- + + **`birth_day`** **string** + + 출생일 + + --- + + **`country`** **Country** + + 국가 + + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + --- +
+ + + **`full_name`** **string** + + --- + + **`first_name`** **string** + + --- + + **`last_name`** **string** + + --- + + + + 성별 + + `"MALE"`, `"FEMALE"`, `"OTHER"` + + + + **`card_credential`** **\*** **CardCredential** + + 카드를 이용한 결제 및 빌링키 발급에 필요한 인증 관련 정보 + +
+

CardCredential

+ + **`card_number`** **\*** **string** + + --- + + **`expiry_month`** **\*** **string** + + --- + + **`expiry_year`** **\*** **string** + + --- + + **`birth_or_business_registration_number`** **\*** **string** + + --- + + **`password_two_digits`** **\*** **string** + + --- +
+ + --- + + **`cvc`** **string** + + --- + + **`vbv`** **VBV** + + 3DS 인증 결과를 담는 객체 (Verified by Visa) + +
+

VBV

+ + **`cavv`** **\*** **string** + + --- + + **`xid`** **\*** **string** + + --- + + **`eci`** **\*** **string** + + --- +
+ + --- +
+
+ + + + **`card`** **InstantBillingKeyCardForm** + + 빌링키 발급 시에 필요한 카드 관련 정보 + +
+

InstantBillingKeyCardForm

+ + **`card_credential`** **\*** **CardCredential** + + 카드를 이용한 결제 및 빌링키 발급에 필요한 인증 관련 정보 + + --- + + **`cvc`** **string** + + --- + + **`vbv`** **VBV** + + 3DS 인증 결과를 담는 객체 (Verified by Visa) + + --- +
+ + --- + + **`mobile_phone`** **MobileForm** + + 휴대폰을 이용한 소액결제와 정기결제를 위한 빌링키 발급 시에 사용하는 휴대폰 관련 정보 + +
+

MobileForm

+ + **`carrier`** **Carrier** + + 휴대폰 통신사 + + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + + --- +
+ + --- +
+ + + **`carrier`** **Carrier** + + 휴대폰 통신사 + + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + + --- + + + + **`cavv`** **\*** **string** + + --- + + **`xid`** **\*** **string** + + --- + + **`eci`** **\*** **string** + + --- + +
+ +## ⌨ 빌링키 단건 조회 + + + + + ### Parameters + + #### Path + + + 빌링키 + + + #### Query + + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + + + ### Responses + + + + + **`billing_key`** **\*** **BillingKey** + + 빌링키 정보 + +
+

BillingKey

+ + **`billing_key`** **\*** **string** + + 빌링키 + + --- + + **`merchant_id`** **\*** **string** + + 고객사 ID + + --- + + **`store_id`** **\*** **string** + + 하위 상점 ID + + --- + + **`channel`** **\*** **Channel** + + 결제 채널 정보 + + --- + + **`origin`** **Origin** + + 결제를 요청한 근원에 대한 정보 + + --- + + **`customer`** **\*** **Customer** + + 구매자 정보 + + --- + + **`issued_at`** **string** + + 발급 일시 (`status`가 `ISSUED`인 경우 제공) + + --- + + **`custom_data`** **string** + + 커스텀 데이터 + + --- + + **`issue_id`** **string** + + 고객사가 채번 하는 빌링키 발급 건 고유 ID + + --- + + **`issue_name`** **string** + + 빌링키 발급 건 이름 + + --- + + **`payment_method_detail`** **\*** **BillingKeyPaymentMethod** + + 빌링키 결제수단 상세정보 + + --- +
+ + --- +
+ + + **`card`** **object** + + 카드 정보 + +
+

card

+ + **`detail`** **CardDetail** + + 카드 정보 + + --- + + **`number`** **string** + + 마스킹된 카드 번호 + + --- +
+ + --- + + **`mobile`** **Mobile** + + 모바일결제 정보 + +
+

Mobile

+ + **`carrier`** **Carrier** + + 통신사 + + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + + --- + + **`phone_number`** **string** + + 휴대전화번호 + + --- +
+ + --- + + **`easy_pay`** **object** + + 간편결제 정보 + +
+

easy\_pay

+ + **`provider`** **EasyPayProvider** + + 간편결제 PG사 + + `"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` + + --- +
+ + --- +
+ + + **`publisher`** **string** + + 발행사 코드 + + --- + + **`issuer`** **string** + + 발급사 코드 + + --- + + **`brand`** **CardBrand** + + 카드 브랜드 + + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + + --- + + **`card_type`** **CardType** + + 카드 종류 + + `"CREDIT"`, `"DEBIT"`, `"GIFT"` + + --- + + **`card_owner_type`** **CardOwnerType** + + 카드 소유주 유형 + + `"PERSONAL"`, `"CORPORATE"` + + --- + + **`bin`** **string** + + 카드 빈넘버 + + --- + + **`name`** **string** + + 카드전표인자명 + + --- + + + + **`id`** **string** + + 채널 ID + + --- + + **`name`** **string** + + 채널 이름 + + --- + + **`key`** **string** + + 채널 키 + + --- + + **`type`** **\*** **ChannelType** + + 채널 유형 + + `"LIVE"`, `"TEST"` + + --- + + **`pg_provider`** **\*** **pg\_provider\_PgProvider-2** + + 결제대행사(PG사) + + `"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` + + --- + + **`pg_merchant_id`** **\*** **string** + + PG사에 등록된 고객사 ID + + --- + +
+ + + + **`id`** **string** + + 구매자 ID + + --- + + **`name`** **string** + + 구매자 이름 + + --- + + **`birthYear`** **string** + + 구매자 생년 + + --- + + **`gender`** **Gender** + + `"MALE"`, `"FEMALE"`, `"OTHER"` + + --- + + **`email`** **string** + + 구매자 이메일 + + --- + + **`phone_number`** **string** + + 구매자 전화번호 + + --- + + **`one_line_address`** **string** + + 구매자 주소 (한 줄) + + --- + + **`separated_address`** **SeparatedAddress** + + 구매자 주소 (단위별) + +
+

SeparatedAddress

+ + **`country`** **Country** + + 국가 코드 + + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + --- + + **`province`** **string** + + 시/도/구 + + --- + + **`city`** **string** + + 도시 + + --- + + **`address_line_1`** **\*** **string** + + 일반 주소 + + --- + + **`address_line_2`** **\*** **string** + + 상세 주소 + + --- +
+ + --- + + **`zipcode`** **string** + + 구매자 우편번호 + + --- +
+ + + **`platform_type`** **\*** **string** + + 결제를 요청한 단말의 플랫폼 분류 + + `"PC"`, `"MOBILE"`, `"API"` + + --- + + **`user_agent`** **string** + + 결제근원의 환경 정보 (Http 의 User-Agent header value) + + --- + + **`url`** **string** + + 결제근원의 페이지 url + + --- + + **`ip_address`** **\*** **string** + + 결제근원의 IP 주소 + + --- + +
+
+ + + + + **`code`** **\*** **string** + + `"UNAUTHORIZED"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"BILLING_KEY_NOT_FOUND"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"PORTONE_ERROR"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + +
+ +## ⌨ 빌링키 삭제 + + + + + ### Parameters + + #### Path + + + 빌링키 + + + #### Query + + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + + + ### Responses + + + + + **`deleted_at`** **\*** **string** + + 빌링키 삭제 시각 + + --- + + + + + + + + **`code`** **\*** **string** + + `"INVALID_REQUEST"`, `"BILLING_KEY_NOT_ISSUED"`, `"BILLING_KEY_ALREADY_DELETED"`, `"BOOKED_SCHEDULE_EXISTENCE"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"UNAUTHORIZED"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"BILLING_KEY_NOT_FOUND"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + diff --git a/src/content/docs/ko/api-v2/billing_key.mdx b/src/content/docs/ko/api-v2/billing_key.mdx deleted file mode 100644 index 8a5fb64f3..000000000 --- a/src/content/docs/ko/api-v2/billing_key.mdx +++ /dev/null @@ -1,1571 +0,0 @@ ---- -title: 빌링키 관련 API -description: 빌링키에 관련된 API 를 확인할 수 있습니다. ---- - -import Details from "~/components/gitbook/Details.astro"; -import Swagger from "~/components/gitbook/swagger/Swagger.astro"; -import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; -import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; -import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -import Tab from "~/components/gitbook/tabs/Tab.astro"; - -## ⌨ 빌링키 다건 조회 - - - - - - -### Parameters - -#### Query - - -빌링키 - - - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. - - - -### Responses - - - - -**`billing_keys`** **\*** **Array\[BillingKey]** - -빌링키 정보 - -
-

BillingKey

- -**`billing_key`** **\*** **string** - -빌링키 - ---- - -**`merchant_id`** **\*** **string** - -고객사 ID - ---- - -**`store_id`** **\*** **string** - -하위 상점 ID - ---- - -**`channel`** **\*** **Channel** - -결제 채널 정보 - ---- - -**`origin`** **Origin** - -결제를 요청한 근원에 대한 정보 - ---- - -**`customer`** **\*** **Customer** - -구매자 정보 - ---- - -**`issued_at`** **string** - -발급 일시 (`status`가 `ISSUED`인 경우 제공) - ---- - -**`custom_data`** **string** - -커스텀 데이터 - ---- - -**`issue_id`** **string** - -고객사가 채번 하는 빌링키 발급 건 고유 ID - ---- - -**`issue_name`** **string** - -빌링키 발급 건 이름 - ---- - -**`payment_method_detail`** **\*** **BillingKeyPaymentMethod** - -빌링키 결제수단 상세정보 - ---- - -
- ---- - -
- - -**`card`** **object** - -카드 정보 - -
-

card

- -**`detail`** **CardDetail** - -카드 정보 - ---- - -**`number`** **string** - -마스킹된 카드 번호 - ---- - -
- ---- - -**`mobile`** **Mobile** - -모바일결제 정보 - -
-

Mobile

- -**`carrier`** **Carrier** - -통신사 - -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` - ---- - -**`phone_number`** **string** - -휴대전화번호 - ---- - -
- ---- - -**`easy_pay`** **object** - -간편결제 정보 - -
-

easy_pay

- -**`provider`** **EasyPayProvider** - -간편결제 PG사 - -`"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` - ---- - -
- ---- - -
- - -**`publisher`** **string** - -발행사 코드 - ---- - -**`issuer`** **string** - -발급사 코드 - ---- - -**`brand`** **CardBrand** - -카드 브랜드 - -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` - ---- - -**`card_type`** **CardType** - -카드 종류 - -`"CREDIT"`, `"DEBIT"`, `"GIFT"` - ---- - -**`card_owner_type`** **CardOwnerType** - -카드 소유주 유형 - -`"PERSONAL"`, `"CORPORATE"` - ---- - -**`bin`** **string** - -카드 빈넘버 - ---- - -**`name`** **string** - -카드전표인자명 - ---- - - - - -**`id`** **string** - -채널 ID - ---- - -**`name`** **string** - -채널 이름 - ---- - -**`key`** **string** - -채널 키 - ---- - -**`type`** **\*** **ChannelType** - -채널 유형 - -`"LIVE"`, `"TEST"` - ---- - -**`pg_provider`** **\*** **PgProvider** - -결제대행사(PG사) - -`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` - ---- - -**`pg_merchant_id`** **\*** **string** - -PG사에 등록된 고객사 ID - ---- - - -
- - - -**`id`** **string** - -구매자 ID - ---- - -**`name`** **string** - -구매자 이름 - ---- - -**`birthYear`** **string** - -구매자 생년 - ---- - -**`gender`** **Gender** - -`"MALE"`, `"FEMALE"`, `"OTHER"` - ---- - -**`email`** **string** - -구매자 이메일 - ---- - -**`phone_number`** **string** - -구매자 전화번호 - ---- - -**`one_line_address`** **string** - -구매자 주소 (한 줄) - ---- - -**`separated_address`** **SeparatedAddress** - -구매자 주소 (단위별) - -
-

SeparatedAddress

- -**`country`** **Country** - -국가 - -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - ---- - -**`province`** **string** - -시/도/구 - ---- - -**`city`** **string** - -도시 - ---- - -**`address_line_1`** **\*** **string** - -일반 주소 - ---- - -**`address_line_2`** **\*** **string** - -상세 주소 - ---- - -
- ---- - -**`zipcode`** **string** - -구매자 우편번호 - ---- - -
- - -**`platform_type`** **\*** **string** - -결제를 요청한 단말의 플랫폼 분류 - -`"PC"`, `"MOBILE"`, `"API"` - ---- - -**`user_agent`** **string** - -결제근원의 환경 정보 (Http 의 User-Agent header value) - ---- - -**`url`** **string** - -결제근원의 페이지 url - ---- - -**`ip_address`** **\*** **string** - -결제근원의 IP 주소 - ---- - - -
- -
- - - - -**`code`** **\*** **string** - -`"UNAUTHORIZED"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - -
- -## ⌨ 빌링키 발급 - - - - - - -### Parameters - -#### Body - - -하위 상점 ID - - - -고객 정보 - - - - - - -결제 채널 키 - - - -가능한 결제 수단: 카드, 휴대폰 소액 결제 선택한 결제 수단에 따라 - -`card` - -와 - -`mobile_phone` - -중 하나에만 값이 들어있어야 합니다. - - - -### Responses - - - - -**`billing_key`** **\*** **string** - ---- - -**`customer_id`** **\*** **string** - ---- - -**`requested_at`** **\*** **string** - ---- - -**`issued_at`** **\*** **string** - ---- - - - - - - - - - -**`code`** **\*** **string** - -`INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ - -`"INVALID_REQUEST"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\ - -`"UNAUTHORIZED"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\ - -`"PERMISSION_DENIED"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ -`CHANNEL_NOT_FOUND`: 결제 채널을 찾을 수 없습니다.\ - -`"STORE_NOT_FOUND"`, `"CHANNEL_NOT_FOUND"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - - -**`address_line_1`** **\*** **string** - -주소1 - ---- - -**`address_line_2`** **\*** **string** - -주소2 - ---- - -**`city`** **string** - -도시 - ---- - -**`province`** **string** - -주, 도, 시 - ---- - -**`country`** **Country** - -국가 - -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - ---- - - - - -**`card_number`** **\*** **string** - ---- - -**`expiry_month`** **\*** **string** - ---- - -**`expiry_year`** **\*** **string** - ---- - -**`birth_or_business_registration_number`** **\*** **string** - ---- - -**`password_two_digits`** **\*** **string** - ---- - - - - -휴대폰 통신사 - -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` - - - - -국가 - -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - - - - - - -**`customer_id`** **string** - -고객사의 고객 고유 ID - 값을 넣지 않으면 PortOne에서 자체 채번합니다. - ---- - -**`phone_number`** **string** - -휴대폰 번호 - ---- - -**`customer_name`** **CustomerName** - -고객 이름 정보. full_name만 채워져 있거나, first_name & last_name이 채워져 있어야 함 - -
-

CustomerName

- -**`full_name`** **string** - ---- - -**`first_name`** **string** - ---- - -**`last_name`** **string** - ---- - -
- ---- - -**`email`** **string** - -고객 이메일 - ---- - -**`zipcode`** **string** - -우편번호 - ---- - -**`address`** **Address** - -주소 형식 - -
-

Address

- -**`address_line_1`** **\*** **string** - -주소1 - ---- - -**`address_line_2`** **\*** **string** - -주소2 - ---- - -**`city`** **string** - -도시 - ---- - -**`province`** **string** - -주, 도, 시 - ---- - -**`country`** **Country** - -국가 - -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - ---- - -
- ---- - -**`gender`** **Gender** - -성별 - -`"MALE"`, `"FEMALE"`, `"OTHER"` - ---- - -**`birth_year`** **string** - -출생연도 - ---- - -**`birth_month`** **string** - -출생월 - ---- - -**`birth_day`** **string** - -출생일 - ---- - -**`country`** **Country** - -국가 - -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - ---- - -
- - -**`full_name`** **string** - ---- - -**`first_name`** **string** - ---- - -**`last_name`** **string** - ---- - - - - -성별 - -`"MALE"`, `"FEMALE"`, `"OTHER"` - - - - -**`card_credential`** **\*** **CardCredential** - -카드를 이용한 결제 및 빌링키 발급에 필요한 인증 관련 정보 - -
-

CardCredential

- -**`card_number`** **\*** **string** - ---- - -**`expiry_month`** **\*** **string** - ---- - -**`expiry_year`** **\*** **string** - ---- - -**`birth_or_business_registration_number`** **\*** **string** - ---- - -**`password_two_digits`** **\*** **string** - ---- - -
- ---- - -**`cvc`** **string** - ---- - -**`vbv`** **VBV** - -3DS 인증 결과를 담는 객체 (Verified by Visa) - -
-

VBV

- -**`cavv`** **\*** **string** - ---- - -**`xid`** **\*** **string** - ---- - -**`eci`** **\*** **string** - ---- - -
- ---- - -
-
- - - -**`card`** **InstantBillingKeyCardForm** - -빌링키 발급 시에 필요한 카드 관련 정보 - -
-

InstantBillingKeyCardForm

- -**`card_credential`** **\*** **CardCredential** - -카드를 이용한 결제 및 빌링키 발급에 필요한 인증 관련 정보 - ---- - -**`cvc`** **string** - ---- - -**`vbv`** **VBV** - -3DS 인증 결과를 담는 객체 (Verified by Visa) - ---- - -
- ---- - -**`mobile_phone`** **MobileForm** - -휴대폰을 이용한 소액결제와 정기결제를 위한 빌링키 발급 시에 사용하는 휴대폰 관련 정보 - -
-

MobileForm

- -**`carrier`** **Carrier** - -휴대폰 통신사 - -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` - ---- - -
- ---- - -
- - -**`carrier`** **Carrier** - -휴대폰 통신사 - -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` - ---- - - - - -**`cavv`** **\*** **string** - ---- - -**`xid`** **\*** **string** - ---- - -**`eci`** **\*** **string** - ---- - - -
- -## ⌨ 빌링키 단건 조회 - - - - - - -### Parameters - -#### Path - - -빌링키 - - - -#### Query - - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. - - - -### Responses - - - - -**`billing_key`** **\*** **BillingKey** - -빌링키 정보 - -
-

BillingKey

- -**`billing_key`** **\*** **string** - -빌링키 - ---- - -**`merchant_id`** **\*** **string** - -고객사 ID - ---- - -**`store_id`** **\*** **string** - -하위 상점 ID - ---- - -**`channel`** **\*** **Channel** - -결제 채널 정보 - ---- - -**`origin`** **Origin** - -결제를 요청한 근원에 대한 정보 - ---- - -**`customer`** **\*** **Customer** - -구매자 정보 - ---- - -**`issued_at`** **string** - -발급 일시 (`status`가 `ISSUED`인 경우 제공) - ---- - -**`custom_data`** **string** - -커스텀 데이터 - ---- - -**`issue_id`** **string** - -고객사가 채번 하는 빌링키 발급 건 고유 ID - ---- - -**`issue_name`** **string** - -빌링키 발급 건 이름 - ---- - -**`payment_method_detail`** **\*** **BillingKeyPaymentMethod** - -빌링키 결제수단 상세정보 - ---- - -
- ---- - -
- - -**`card`** **object** - -카드 정보 - -
-

card

- -**`detail`** **CardDetail** - -카드 정보 - ---- - -**`number`** **string** - -마스킹된 카드 번호 - ---- - -
- ---- - -**`mobile`** **Mobile** - -모바일결제 정보 - -
-

Mobile

- -**`carrier`** **Carrier** - -통신사 - -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` - ---- - -**`phone_number`** **string** - -휴대전화번호 - ---- - -
- ---- - -**`easy_pay`** **object** - -간편결제 정보 - -
-

easy_pay

- -**`provider`** **EasyPayProvider** - -간편결제 PG사 - -`"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` - ---- - -
- ---- - -
- - -**`publisher`** **string** - -발행사 코드 - ---- - -**`issuer`** **string** - -발급사 코드 - ---- - -**`brand`** **CardBrand** - -카드 브랜드 - -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` - ---- - -**`card_type`** **CardType** - -카드 종류 - -`"CREDIT"`, `"DEBIT"`, `"GIFT"` - ---- - -**`card_owner_type`** **CardOwnerType** - -카드 소유주 유형 - -`"PERSONAL"`, `"CORPORATE"` - ---- - -**`bin`** **string** - -카드 빈넘버 - ---- - -**`name`** **string** - -카드전표인자명 - ---- - - - - -**`id`** **string** - -채널 ID - ---- - -**`name`** **string** - -채널 이름 - ---- - -**`key`** **string** - -채널 키 - ---- - -**`type`** **\*** **ChannelType** - -채널 유형 - -`"LIVE"`, `"TEST"` - ---- - -**`pg_provider`** **\*** **pg_provider_PgProvider-2** - -결제대행사(PG사) - -`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` - ---- - -**`pg_merchant_id`** **\*** **string** - -PG사에 등록된 고객사 ID - ---- - - -
- - - -**`id`** **string** - -구매자 ID - ---- - -**`name`** **string** - -구매자 이름 - ---- - -**`birthYear`** **string** - -구매자 생년 - ---- - -**`gender`** **Gender** - -`"MALE"`, `"FEMALE"`, `"OTHER"` - ---- - -**`email`** **string** - -구매자 이메일 - ---- - -**`phone_number`** **string** - -구매자 전화번호 - ---- - -**`one_line_address`** **string** - -구매자 주소 (한 줄) - ---- - -**`separated_address`** **SeparatedAddress** - -구매자 주소 (단위별) - -
-

SeparatedAddress

- -**`country`** **Country** - -국가 코드 - -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - ---- - -**`province`** **string** - -시/도/구 - ---- - -**`city`** **string** - -도시 - ---- - -**`address_line_1`** **\*** **string** - -일반 주소 - ---- - -**`address_line_2`** **\*** **string** - -상세 주소 - ---- - -
- ---- - -**`zipcode`** **string** - -구매자 우편번호 - ---- - -
- - -**`platform_type`** **\*** **string** - -결제를 요청한 단말의 플랫폼 분류 - -`"PC"`, `"MOBILE"`, `"API"` - ---- - -**`user_agent`** **string** - -결제근원의 환경 정보 (Http 의 User-Agent header value) - ---- - -**`url`** **string** - -결제근원의 페이지 url - ---- - -**`ip_address`** **\*** **string** - -결제근원의 IP 주소 - ---- - - -
- -
- - - - -**`code`** **\*** **string** - -`"UNAUTHORIZED"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"BILLING_KEY_NOT_FOUND"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - -
- -## ⌨ 빌링키 삭제 - - - - - - -### Parameters - -#### Path - - -빌링키 - - - -#### Query - - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. - - - -### Responses - - - - -**`deleted_at`** **\*** **string** - -빌링키 삭제 시각 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"INVALID_REQUEST"`, `"BILLING_KEY_NOT_ISSUED"`, `"BILLING_KEY_ALREADY_DELETED"`, `"BOOKED_SCHEDULE_EXISTENCE"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"UNAUTHORIZED"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"BILLING_KEY_NOT_FOUND"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - diff --git a/src/content/docs/ko/api-v2/cash-receipt.mdx b/src/content/docs/ko/api-v2/cash-receipt.mdx new file mode 100644 index 000000000..a65578d2c --- /dev/null +++ b/src/content/docs/ko/api-v2/cash-receipt.mdx @@ -0,0 +1,556 @@ +--- +title: 현금영수증 관련 API +description: 현금영수증에 관련된 API 를 확인할 수 있습니다. +--- + +import Details from "~/components/gitbook/Details.astro"; +import Swagger from "~/components/gitbook/swagger/Swagger.astro"; +import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; +import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; +import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; +import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; + +## ⌨ 현금영수증 조회 + + + + + ### Parameters + + #### Path + + + 결제 ID + + + #### Query + + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + + + ### Responses + + + + + **`receipt`** **\*** **object** + + 현금영수증 정보 + +
+

CashReceiptDetail

+ + **`pg_receipt_id`** **string** + + PG사 현금영수증 발급 ID + + --- + + **`issue_number`** **\*** **string** + + 현금영수증 승인번호 + + --- + + **`type`** **CashReceiptType** + + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + + --- + + **`amount`** **\*** **integer** + + 금액 + + --- + + **`tax_free_amount`** **integer** + + 면세금액 + + --- + + **`status`** **CashReceiptStatus** + + `"ISSUED"`, `"CANCELLED"` + + --- + + **`issued_at`** **\*** **string** + + 발급일시 + + --- + + **`cancelled_at`** **string** + + 취소일시 (`status`가 `CANCELLED`인 경우 제공) + + --- + + **`receipt_url`** **string** + + 영수증 url + + --- + + **`merchant_id`** **\*** **string** + + 고객사 ID + + --- + + **`store_id`** **\*** **string** + + 하위 상점 ID + + --- + + **`payment_id`** **\*** **string** + + 결제 ID + + --- + + **`order_name`** **\*** **string** + + 주문명 + + --- + + **`is_manual`** **\*** **boolean** + + 수동발급 여부 + + --- + + **`currency`** **Currency** + + 통화 + + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + + --- + + **`channel`** **Channel** + + 결제 채널 정보 + + --- +
+ + --- +
+ + + **`id`** **string** + + 채널 ID + + --- + + **`name`** **string** + + 채널 이름 + + --- + + **`key`** **string** + + 채널 키 + + --- + + **`type`** **\*** **ChannelType** + + 채널 유형 + + `"LIVE"`, `"TEST"` + + --- + + **`pg_provider`** **\*** **PgProvider** + + 결제대행사(PG사) + + `"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` + + --- + + **`pg_merchant_id`** **\*** **string** + + PG사에 등록된 고객사 ID + + --- + +
+
+ + + + + **`code`** **\*** **string** + + `"UNAUTHORIZED"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"PAYMENT_NOT_FOUND"`, `"CASH_RECEIPT_NOT_FOUND"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"PORTONE_ERROR"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + +
+ +## ⌨ 현금영수증 발급 + + + + 결제 건에 대한 수동 현금영수증 발급 + + + ### Parameters + + #### Path + + + + #### Body + + + + + + + + + 현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스 + + + + + + 화폐 + + + + + + 면세 금액 (기본값: + + `"0")` + + + + 상품 유형 + + + + 고객 성명 + + + + 고객 이메일 + + + ### Responses + + + + + **`receipt_id`** **\*** **string** + + 현금영수증 ID + + --- + + **`pg_tx_id`** **\*** **string** + + PG사 거래ID + + --- + + **`issue_number`** **\*** **string** + + --- + + **`receipt_url`** **\*** **string** + + --- + + + + + + + + **`code`** **\*** **string** + + `INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ + `CASH_RECEIPT_ALREADY_ISSUED`: 이미 발급된 현금영수증입니다.\\ + + `"INVALID_REQUEST"`, `"CASH_RECEIPT_ALREADY_ISSUED"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + **`code`** **\*** **string** + + `UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\ + + `"UNAUTHORIZED"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + **`code`** **\*** **string** + + `PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\\ + + `"PERMISSION_DENIED"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + **`code`** **\*** **string** + + `STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ + `CHANNEL_NOT_FOUND`: 결제 채널을 찾을 수 없습니다.\\ + + `"STORE_NOT_FOUND"`, `"CHANNEL_NOT_FOUND"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + **`code`** **\*** **string** + + `"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` + + --- + + **`params`** **object** + + 에러 상세 정보를 담은 파라미터 모음 + + --- + + + + + + + + 현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스 + + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + + + + 화폐 + + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + + + + 상품 유형 + + `"REAL"`, `"DIGITAL"` + + + +## ⌨ 현금영수증 발급 취소 + + + + + ### Parameters + + #### Path + + + 결제 ID + + + #### Query + + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + + + ### Responses + + + + + **`cancelled_amount`** **\*** **integer** + + 현금영수증 취소 금액 + + --- + + **`cancelled_at`** **\*** **string** + + 현금영수증 취소 시각 + + --- + + + + + + + + **`code`** **\*** **string** + + `"INVALID_REQUEST"`, `"CASH_RECEIPT_NOT_ISSUED"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"UNAUTHORIZED"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"PAYMENT_NOT_FOUND"`, `"CASH_RECEIPT_NOT_FOUND"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + + + + + **`code`** **\*** **string** + + `"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` + + --- + + **`params`** **object** + + 에러 세부사항 + + --- + + + + diff --git a/src/content/docs/ko/api-v2/cash_receipt.mdx b/src/content/docs/ko/api-v2/cash_receipt.mdx deleted file mode 100644 index 321f8a28c..000000000 --- a/src/content/docs/ko/api-v2/cash_receipt.mdx +++ /dev/null @@ -1,611 +0,0 @@ ---- -title: 현금영수증 관련 API -description: 현금영수증에 관련된 API 를 확인할 수 있습니다. ---- - -import Details from "~/components/gitbook/Details.astro"; -import Swagger from "~/components/gitbook/swagger/Swagger.astro"; -import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; -import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; -import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -import Tab from "~/components/gitbook/tabs/Tab.astro"; - -## ⌨ 현금영수증 조회 - - - - - - -### Parameters - -#### Path - - -결제 ID - - - -#### Query - - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. - - - -### Responses - - - - -**`receipt`** **\*** **object** - -현금영수증 정보 - -
-

CashReceiptDetail

- -**`pg_receipt_id`** **string** - -PG사 현금영수증 발급 ID - ---- - -**`issue_number`** **\*** **string** - -현금영수증 승인번호 - ---- - -**`type`** **CashReceiptType** - -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` - ---- - -**`amount`** **\*** **integer** - -금액 - ---- - -**`tax_free_amount`** **integer** - -면세금액 - ---- - -**`status`** **CashReceiptStatus** - -`"ISSUED"`, `"CANCELLED"` - ---- - -**`issued_at`** **\*** **string** - -발급일시 - ---- - -**`cancelled_at`** **string** - -취소일시 (`status`가 `CANCELLED`인 경우 제공) - ---- - -**`receipt_url`** **string** - -영수증 url - ---- - -**`merchant_id`** **\*** **string** - -고객사 ID - ---- - -**`store_id`** **\*** **string** - -하위 상점 ID - ---- - -**`payment_id`** **\*** **string** - -결제 ID - ---- - -**`order_name`** **\*** **string** - -주문명 - ---- - -**`is_manual`** **\*** **boolean** - -수동발급 여부 - ---- - -**`currency`** **Currency** - -통화 - -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` - ---- - -**`channel`** **Channel** - -결제 채널 정보 - ---- - -
- ---- - -
- - -**`id`** **string** - -채널 ID - ---- - -**`name`** **string** - -채널 이름 - ---- - -**`key`** **string** - -채널 키 - ---- - -**`type`** **\*** **ChannelType** - -채널 유형 - -`"LIVE"`, `"TEST"` - ---- - -**`pg_provider`** **\*** **PgProvider** - -결제대행사(PG사) - -`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` - ---- - -**`pg_merchant_id`** **\*** **string** - -PG사에 등록된 고객사 ID - ---- - - -
- -
- - - - -**`code`** **\*** **string** - -`"UNAUTHORIZED"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PAYMENT_NOT_FOUND"`, `"CASH_RECEIPT_NOT_FOUND"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - -
- -## ⌨ 현금영수증 발급 - - - -결제 건에 대한 수동 현금영수증 발급 - - - -### Parameters - -#### Path - - - - - -#### Body - - - - - - - - - - - -현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스 - - - - - - -화폐 - - - - - - -면세 금액 (기본값: - -`"0")` - - - -상품 유형 - - - -고객 성명 - - - -고객 이메일 - - - -### Responses - - - - -**`receipt_id`** **\*** **string** - -현금영수증 ID - ---- - -**`pg_tx_id`** **\*** **string** - -PG사 거래ID - ---- - -**`issue_number`** **\*** **string** - ---- - -**`receipt_url`** **\*** **string** - ---- - - - - - - - - - -**`code`** **\*** **string** - -`INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ -`CASH_RECEIPT_ALREADY_ISSUED`: 이미 발급된 현금영수증입니다.\ - -`"INVALID_REQUEST"`, `"CASH_RECEIPT_ALREADY_ISSUED"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\ - -`"UNAUTHORIZED"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\ - -`"PERMISSION_DENIED"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ -`CHANNEL_NOT_FOUND`: 결제 채널을 찾을 수 없습니다.\ - -`"STORE_NOT_FOUND"`, `"CHANNEL_NOT_FOUND"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - - -현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스 - -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` - - - - -화폐 - -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` - - - - -상품 유형 - -`"REAL"`, `"DIGITAL"` - - - - -## ⌨ 현금영수증 발급 취소 - - - - - - -### Parameters - -#### Path - - -결제 ID - - - -#### Query - - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. - - - -### Responses - - - - -**`cancelled_amount`** **\*** **integer** - -현금영수증 취소 금액 - ---- - -**`cancelled_at`** **\*** **string** - -현금영수증 취소 시각 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"INVALID_REQUEST"`, `"CASH_RECEIPT_NOT_ISSUED"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"UNAUTHORIZED"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PAYMENT_NOT_FOUND"`, `"CASH_RECEIPT_NOT_FOUND"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - - - diff --git a/src/content/docs/ko/api-v2/channel.mdx b/src/content/docs/ko/api-v2/channel.mdx index 7f31e5417..5354d4570 100644 --- a/src/content/docs/ko/api-v2/channel.mdx +++ b/src/content/docs/ko/api-v2/channel.mdx @@ -8,301 +8,277 @@ import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## ⌨ 채널 불러오기 - + - + ### Parameters -### Parameters + #### Query -#### Query + + 하위상점 ID (Merchant 유저가 store\_id를 명시하지 않으면, Merchant 유저의 대표 상점 id가 입력됨) + - -하위상점 ID (Merchant 유저가 store_id를 명시하지 않으면, Merchant 유저의 대표 상점 id가 입력됨) + ### Responses - + + + + **`channels`** **Array\[Channel]** -### Responses + V2 결제를 지원하는 채널 - - - -**`channels`** **Array\[Channel]** +
+

Channel

-V2 결제를 지원하는 채널 + **`channel_id`** **\*** **string** -
-

Channel

+ 결제 채널 ID -**`channel_id`** **\*** **string** + --- -결제 채널 ID + **`channel_name`** **\*** **string** ---- + 결제 채널 이름 -**`channel_name`** **\*** **string** + --- -결제 채널 이름 + **`pg_provider`** **\*** **PgProvider** ---- + V2 결제가 가능한 PG사 -**`pg_provider`** **\*** **PgProvider** + `"TOSSPAYMENTS"`, `"KSNET"`, `"KAKAOPAY"`, `"SMARTRO_V2"`, `"NAVERPAY"`, `"DANAL"` -V2 결제가 가능한 PG사 + --- -`"TOSSPAYMENTS"`, `"KSNET"`, `"KAKAOPAY"`, `"SMARTRO_V2"`, `"NAVERPAY"`, `"DANAL"` + **`channel_type`** **\*** **ChannelType** ---- + 기본값: `"CHANNEL_TYPE_UNSPECIFIED"` -**`channel_type`** **\*** **ChannelType** + `"CHANNEL_TYPE_UNSPECIFIED"`, `"CHANNEL_TYPE_LIVE"`, `"CHANNEL_TYPE_MERCHANT_TEST"`, `"CHANNEL_TYPE_SHARED_TEST"` -기본값: `"CHANNEL_TYPE_UNSPECIFIED"` + --- -`"CHANNEL_TYPE_UNSPECIFIED"`, `"CHANNEL_TYPE_LIVE"`, `"CHANNEL_TYPE_MERCHANT_TEST"`, `"CHANNEL_TYPE_SHARED_TEST"` + **`pg_merchant_id`** **\*** **string** ---- + PG 상점 ID -**`pg_merchant_id`** **\*** **string** + --- -PG 상점 ID + **`is_for_payment`** **\*** **boolean** ---- + 결제용 채널 여부 -**`is_for_payment`** **\*** **boolean** + --- -결제용 채널 여부 + **`is_for_identification_verification`** **\*** **boolean** ---- + 본인인증용 채널 여부 -**`is_for_identification_verification`** **\*** **boolean** + --- -본인인증용 채널 여부 + **`channel_key`** **\*** **string** ---- + 채널 키 -**`channel_key`** **\*** **string** + --- -채널 키 + **`toss_payments_credential`** **TossPaymentsCredential** ---- + --- -**`toss_payments_credential`** **TossPaymentsCredential** + **`ksnet_credential`** **KsnetCredential** ---- + --- -**`ksnet_credential`** **KsnetCredential** + **`smartro_v2_credential`** **SmartroV2Credential** ---- + --- -**`smartro_v2_credential`** **SmartroV2Credential** + **`naverpay_credential`** **NaverpayCredential** ---- + --- -**`naverpay_credential`** **NaverpayCredential** + **`danal_credential`** **DanalCredential** ---- + --- +
-**`danal_credential`** **DanalCredential** + --- + ---- + + **`secret_key`** **string** -
+ --- ---- + **`client_key`** **string** -
+ --- +
- -**`secret_key`** **string** + + **`api_key`** **string** ---- + --- + -**`client_key`** **string** + + **`merchant_key`** **string** ---- + --- - + **`cancel_password`** **string** - -**`api_key`** **string** + --- ---- + **`ssp_mall_id`** **string** - + --- - -**`merchant_key`** **string** + **`api_key`** **string** ---- + --- + -**`cancel_password`** **string** + + **`client_id`** **string** ---- + --- -**`ssp_mall_id`** **string** + **`client_secret`** **string** ---- + --- -**`api_key`** **string** + **`chain_id`** **string** ---- + --- + - + + **`cp_pwd`** **string** - -**`client_id`** **string** + --- ---- + **`item_code`** **string** -**`client_secret`** **string** + --- + +
+
---- + + + + **`code`** **\*** **string** -**`chain_id`** **string** + `UNAUTHORIZED`: 인증되지 않은 요청입니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\ ---- + `"UNAUTHORIZED"` - + --- - -**`cp_pwd`** **string** + **`params`** **object** ---- + 에러 상세 정보를 담은 파라미터 모음 -**`item_code`** **string** +
+

params

---- + **`message`** **string** - - + --- +
-
+ --- +
+
+
- - - -**`code`** **\*** **string** + + + + **`code`** **\*** **string** -`UNAUTHORIZED`: 인증되지 않은 요청입니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\ + `PERMISSION_DENIED`: 해당 하위상점에 접근할 권한이 없습니다.\\ -`"UNAUTHORIZED"` + `"PERMISSION_DENIED"` ---- + --- -**`params`** **object** + **`params`** **object** -에러 상세 정보를 담은 파라미터 모음 + 에러 상세 정보를 담은 파라미터 모음 -
-

params

+
+

params

-**`message`** **string** + **`message`** **string** ---- + --- +
-
+ --- +
+
+
---- + + + + **`code`** **\*** **string** - - + `CHANNEL_NOT_FOUND`: 채널을 찾을 수 없습니다.\\ - + `"CHANNEL_NOT_FOUND"` - - - -**`code`** **\*** **string** + --- -`PERMISSION_DENIED`: 해당 하위상점에 접근할 권한이 없습니다.\ + **`params`** **object** -`"PERMISSION_DENIED"` + 에러 상세 정보를 담은 파라미터 모음 ---- +
+

params

-**`params`** **object** + **`message`** **string** -에러 상세 정보를 담은 파라미터 모음 + --- +
-
-

params

+ --- + + + -**`message`** **string** + + + + **`code`** **\*** **string** ---- - -
- ---- - -
-
- -
- - - - -**`code`** **\*** **string** - -`CHANNEL_NOT_FOUND`: 채널을 찾을 수 없습니다.\ + `"PORTONE_ERROR"` -`"CHANNEL_NOT_FOUND"` + --- ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - -
-

params

+ **`params`** **object** -**`message`** **string** + 에러 상세 정보를 담은 파라미터 모음 ---- - -
- ---- - -
-
- -
- - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - -
-

params

- -**`message`** **string** - ---- - -
- ---- +
+

params

- - + **`message`** **string** - + --- +
+ --- +
+
+
diff --git a/src/content/docs/ko/api-v2/identity-verification.mdx b/src/content/docs/ko/api-v2/identity-verification.mdx index 54766b8b9..2875f86b3 100644 --- a/src/content/docs/ko/api-v2/identity-verification.mdx +++ b/src/content/docs/ko/api-v2/identity-verification.mdx @@ -14,1051 +14,1003 @@ import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## ⌨ 본인인증 내역 단건조회 -주어진 아이디에 대응되는 본인인증 내역을 조회합니다. + 주어진 아이디에 대응되는 본인인증 내역을 조회합니다. -### Parameters + ### Parameters -#### Path + #### Path - - 본인인증 내역 아이디 - + + 본인인증 내역 아이디 + -#### Query + #### Query - - 상점 아이디 (접근 권한이 있는 상점 아이디 입력 가능, 미 입력시 토큰에 담긴 - 상점 아이디를 사용) - + + 상점 아이디 (접근 권한이 있는 상점 아이디 입력 가능, 미 입력시 토큰에 담긴 + 상점 아이디를 사용) + -### Responses + ### Responses - - - -**`status`** **\*** **string** + + + + **`status`** **\*** **string** -본인인증 상태 (`READY`, `VERIFIED`, `FAILED`) + 본인인증 상태 (`READY`, `VERIFIED`, `FAILED`) ---- + --- -**`id`** **\*** **string** + **`id`** **\*** **string** -본인인증 내역 아이디 + 본인인증 내역 아이디 ---- + --- -**`channel`** **SelectedChannel** + **`channel`** **SelectedChannel** -채널 정보 + 채널 정보 -
-

SelectedChannel

+
+

SelectedChannel

-**`type`** **\*** **string** + **`type`** **\*** **string** -채널 타입 (`LIVE`, `TEST`) + 채널 타입 (`LIVE`, `TEST`) ---- + --- -**`id`** **string** + **`id`** **string** -채널 아이디 + 채널 아이디 ---- + --- -**`key`** **string** + **`key`** **string** -채널 키 + 채널 키 ---- + --- -**`name`** **string** + **`name`** **string** -채널 명 + 채널 명 ---- + --- -**`pgProvider`** **\*** **string** + **`pgProvider`** **\*** **string** -PG사 (`DANAL`) + PG사 (`DANAL`) ---- + --- -**`pgMerchantId`** **\*** **string** + **`pgMerchantId`** **\*** **string** -PG사 고객사 식별 아이디 + PG사 고객사 식별 아이디 ---- + --- +
-
+ --- ---- + **`customData`** **string** -**`customData`** **string** + 사용자 지정 데이터 -사용자 지정 데이터 + --- ---- + **`requestedAt`** **\*** **string** -**`requestedAt`** **\*** **string** + 본인인증 요청 시각 -본인인증 요청 시각 + --- ---- + **`updatedAt`** **\*** **string** -**`updatedAt`** **\*** **string** + 업데이트 시각 -업데이트 시각 + --- ---- + **`statusChangedAt`** **\*** **string** -**`statusChangedAt`** **\*** **string** + 상태 업데이트 시각 -상태 업데이트 시각 + --- ---- + **`requestedCustomer`** **\*** **RequestedCustomer** -**`requestedCustomer`** **\*** **RequestedCustomer** + (status - `READY`, `FAILED` 일 때만 존재) -(status - `READY`, `FAILED` 일 때만 존재) + 요청 시 고객 정보 -요청 시 고객 정보 +
+

RequestedCustomer

-
-

RequestedCustomer

+ **`id`** **string** -**`id`** **string** + 식별 아이디 -식별 아이디 + --- ---- + **`name`** **string** -**`name`** **string** + 이름 -이름 + --- ---- + **`phoneNumber`** **string** -**`phoneNumber`** **string** + 핸드폰 번호. 특수 문자(-) 없이 숫자로만 이루어진 번호 형식 -핸드폰 번호. 특수 문자(-) 없이 숫자로만 이루어진 번호 형식 + --- +
---- + --- -
+ **`verifiedCustomer`** **\*** **VerifiedCustomer** ---- + (status - `VERIFIED` 일 때만 존재) -**`verifiedCustomer`** **\*** **VerifiedCustomer** + 인증된 고객 정보 -(status - `VERIFIED` 일 때만 존재) +
+

VerifiedCustomer

-인증된 고객 정보 + **`id`** **string** -
-

VerifiedCustomer

+ 식별 아이디 -**`id`** **string** + --- -식별 아이디 + **`name`** **\*** **string** ---- + 이름 -**`name`** **\*** **string** + --- -이름 + **`phoneNumber`** **string** ---- + 핸드폰 번호. 특수 문자(-) 없이 숫자로만 이루어진 번호 형식 -**`phoneNumber`** **string** + --- -핸드폰 번호. 특수 문자(-) 없이 숫자로만 이루어진 번호 형식 + **`birthDate`** **\*** **string** ---- + 생년월일 (yyyy-MM-dd) -**`birthDate`** **\*** **string** + --- -생년월일 (yyyy-MM-dd) + **`gender`** **\*** **string** ---- + 성별 -**`gender`** **\*** **string** + `MALE`, `FEMALE`, `OTHER` -성별 + --- -`MALE`, `FEMALE`, `OTHER` + **`isForeigner`** **boolean** ---- + 외국인 여부 (`true` - 외국인, `false` - 내국인) -**`isForeigner`** **boolean** + --- -외국인 여부 (`true` - 외국인, `false` - 내국인) + **`ci`** **\*** **string** ---- + 개인 고유 식별키 -**`ci`** **\*** **string** + --- -개인 고유 식별키 + **`di`** **\*** **string** ---- + 사이트별 개인 고유 식별키 -**`di`** **\*** **string** + --- +
-사이트별 개인 고유 식별키 + --- ---- + **`verifiedAt`** **\*** **string** -
+ (status - `VERIFIED` 일 때만 존재) ---- + 본인인증 완료 시각 -**`verifiedAt`** **\*** **string** + --- -(status - `VERIFIED` 일 때만 존재) + **`pgTxId`** **\*** **string** -본인인증 완료 시각 + (status - `VERIFIED` 일 때만 존재) ---- + 본인인증 건 PG사 아이디 -**`pgTxId`** **\*** **string** + --- -(status - `VERIFIED` 일 때만 존재) + **`pgRawResponse`** **\*** **string** -본인인증 건 PG사 아이디 + (status - `VERIFIED` 일 때만 존재) ---- + PG사 응답 데이터 -**`pgRawResponse`** **\*** **string** + --- +
+
+
-(status - `VERIFIED` 일 때만 존재) + + + + **`type`** **\*** **string** -PG사 응답 데이터 + 에러 타입 ---- + `INVALID_REQUEST` - - + --- - + **`message`** **string** - - - -**`type`** **\*** **string** + 에러 메시지 -에러 타입 + --- + + + -`INVALID_REQUEST` + + + + **`type`** **\*** **string** ---- + 에러 타입 -**`message`** **string** + `UNAUTHORIZED` -에러 메시지 + --- ---- + **`message`** **string** - - - + 에러 메시지 - - - -**`type`** **\*** **string** + --- + + + -에러 타입 + + + + **`type`** **\*** **string** -`UNAUTHORIZED` + 에러 타입 ---- + `FORBIDDEN` -**`message`** **string** + --- -에러 메시지 + **`message`** **string** ---- + 에러 메시지 - - - + --- +
+
+
- - - - -**`type`** **\*** **string** - -에러 타입 - -`FORBIDDEN` - ---- + + + + **`type`** **\*** **string** -**`message`** **string** + 에러 타입 -에러 메시지 + `IDENTITY_VERIFICATION_NOT_FOUND` ---- - - - - + --- - - - -**`type`** **\*** **string** - -에러 타입 + **`message`** **string** -`IDENTITY_VERIFICATION_NOT_FOUND` - ---- - -**`message`** **string** - -에러 메시지 - ---- - - - - + 에러 메시지 + --- + + +
## ⌨ 본인인증 요청 전송 - -본인인증 요청을 전송합니다. + + 본인인증 요청을 전송합니다. -SMS 방식을 이용할 경우 입력한 전화번호로 문자 메시지가 발송되며 APP 방식을 이용할 경우에는 PASS 앱으로 푸쉬 알람이 전송됩니다. + SMS 방식을 이용할 경우 입력한 전화번호로 문자 메시지가 발송되며 APP 방식을 이용할 경우에는 PASS 앱으로 푸쉬 알람이 전송됩니다. + - + ### Parameters -### Parameters + #### Path -#### Path + + 본인인증 내역 아이디 + - - 본인인증 내역 아이디 - + #### Body -#### Body + + 상점 아이디 (접근 권한이 있는 상점 아이디 입력 가능, 미 입력시 토큰에 담긴 상점 아이디를 사용) + - -상점 아이디 (접근 권한이 있는 상점 아이디 입력 가능, 미 입력시 토큰에 담긴 상점 아이디를 사용) + + 채널 키 + - - -채널 키 + + 고객 정보 + - - -고객 정보 + + 사용자 정의 데이터 + - - -사용자 정의 데이터 + + PG사 별 추가 데이터 ([특수 파라미터 안내](../../ko/v2-payment/pg/danal-identity-verification#다날-특수-파라미터-안내)) + - - -PG사 별 추가 데이터 ([특수 파라미터 안내](../../ko/v2-payment/pg/danal-identity-verification#다날-특수-파라미터-안내)) + + 통신사 - - -통신사 + `SKT`, `KT`, `LGU`, `SKT_MVNO`, `KT_MVNO`, `LGU_MVNO` + -`SKT`, `KT`, `LGU`, `SKT_MVNO`, `KT_MVNO`, `LGU_MVNO` + + 본인인증 수단 - - -본인인증 수단 + `SMS`, `APP` + -`SMS`, `APP` + ### Responses - + + + + + -### Responses + + + + **`type`** **\*** **string** - - - - - - - + 에러 타입 - - - -**`type`** **\*** **string** - -에러 타입 + `INVALID_REQUEST` -`INVALID_REQUEST` + --- ---- - -**`message`** **string** - -에러 메시지 - ---- - - - - - - - - -**`type`** **\*** **string** - -에러 타입 - -`UNAUTHORIZED` - ---- + **`message`** **string** -**`message`** **string** + 에러 메시지 -에러 메시지 + --- + + + ---- + + + + **`type`** **\*** **string** - - - + 에러 타입 - - - -**`type`** **\*** **string** + `UNAUTHORIZED` -에러 타입 + --- -`FORBIDDEN` + **`message`** **string** ---- + 에러 메시지 -**`message`** **string** + --- + + + -에러 메시지 + + + + **`type`** **\*** **string** ---- + 에러 타입 - - - + `FORBIDDEN` - - - -**`type`** **\*** **string** + --- -에러 타입 + **`message`** **string** -`CHANNEL_NOT_FOUND` + 에러 메시지 ---- + --- + + + -**`message`** **string** + + + + **`type`** **\*** **string** -에러 메시지 + 에러 타입 ---- + `CHANNEL_NOT_FOUND` - - - + --- - - - -**`type`** **\*** **string** + **`message`** **string** -에러 타입 + 에러 메시지 -`IDENTITY_VERIFICATION_ALREADY_VERIFIED`, `IDENTITY_VERIFICATION_ALREADY_SENT` + --- + + + ---- + + + + **`type`** **\*** **string** -**`message`** **string** + 에러 타입 -에러 메시지 + `IDENTITY_VERIFICATION_ALREADY_VERIFIED`, `IDENTITY_VERIFICATION_ALREADY_SENT` ---- + --- - - - + **`message`** **string** - - - -**`type`** **\*** **string** + 에러 메시지 -에러 타입 + --- + + + -`PG_PROVIDER` + + + + **`type`** **\*** **string** ---- + 에러 타입 -**`pgCode`** **\*** **string** + `PG_PROVIDER` -PG사 에러 코드 + --- ---- + **`pgCode`** **\*** **string** -**`pgMessage`** **\*** **string** + PG사 에러 코드 -PG사 에러 메시지 + --- ---- + **`pgMessage`** **\*** **string** - - - + PG사 에러 메시지 + --- + + + - -**`id`** **string** + + **`id`** **string** -식별 아이디 + 식별 아이디 ---- - -**`name`** **\*** **string** + --- -고객 성명 + **`name`** **\*** **string** ---- + 고객 성명 -**`phoneNumber`** **\*** **string** + --- -핸드폰 번호. 특수 문자(-) 없이 숫자로만 이루어진 번호 형식 + **`phoneNumber`** **\*** **string** ---- + 핸드폰 번호. 특수 문자(-) 없이 숫자로만 이루어진 번호 형식 -**`identityNumber`** **string** + --- -주민등록번호 앞 7자리 (SMS 방식의 경우 필수 입력) + **`identityNumber`** **string** ---- + 주민등록번호 앞 7자리 (SMS 방식의 경우 필수 입력) - + --- + ## ⌨ 본인인증 확인 - -요청된 본인인증에 대한 확인을 진행하여 성공한다면 인증을 완료합니다. - -SMS 방식의 경우에는 입력된 OTP가 실제 발송되었던 OTP와 일치하는지 확인하며, APP 방식의 경우 PASS 인증이 완료되었는지 여부를 검사합니다. + + 요청된 본인인증에 대한 확인을 진행하여 성공한다면 인증을 완료합니다. - + SMS 방식의 경우에는 입력된 OTP가 실제 발송되었던 OTP와 일치하는지 확인하며, APP 방식의 경우 PASS 인증이 완료되었는지 여부를 검사합니다. + -### Parameters + ### Parameters -#### Path + #### Path - - 본인인증 내역 아이디 - + + 본인인증 내역 아이디 + -#### Body + #### Body - -상점 아이디 (접근 권한이 있는 상점 아이디 입력 가능, 미 입력시 토큰에 담긴 상점 아이디를 사용) + + 상점 아이디 (접근 권한이 있는 상점 아이디 입력 가능, 미 입력시 토큰에 담긴 상점 아이디를 사용) + - - -OTP (SMS 방식일 때만 입력, APP 방식은 입력하지 않음) + + OTP (SMS 방식일 때만 입력, APP 방식은 입력하지 않음) + - + ### Responses -### Responses + + + + **`identityVerification`** **\*** **VerifiedIdentityVerification** - - - + 본인인증 완료 상태 건 -**`identityVerification`** **\*** **VerifiedIdentityVerification** +
+

VerifiedIdentityVerification

-본인인증 완료 상태 건 + **`id`** **\*** **string** -
-

VerifiedIdentityVerification

+ 본인인증 내역 아이디 -**`id`** **\*** **string** + --- -본인인증 내역 아이디 + **`channel`** **SelectedChannel** ---- + 채널 정보 -**`channel`** **SelectedChannel** +
+

Channel

-채널 정보 + **`type`** **\*** **string** -
-

Channel

+ 채널 타입 (`LIVE`, `TEST`) -**`type`** **\*** **string** + --- -채널 타입 (`LIVE`, `TEST`) + **`id`** **string** ---- + 채널 아이디 -**`id`** **string** + --- -채널 아이디 + **`key`** **string** ---- + 채널 키 -**`key`** **string** + --- -채널 키 + **`name`** **string** ---- + 채널 명 -**`name`** **string** + --- -채널 명 + **`pgProvider`** **\*** **string** ---- + PG사 (`DANAL`) -**`pgProvider`** **\*** **string** + --- -PG사 (`DANAL`) + **`pgMerchantId`** **\*** **string** ---- + PG사 고객사 식별 아이디 -**`pgMerchantId`** **\*** **string** + --- +
-PG사 고객사 식별 아이디 + --- ---- + **`customData`** **string** -
+ 사용자 지정 데이터 ---- + --- -**`customData`** **string** + **`requestedAt`** **\*** **string** -사용자 지정 데이터 + 본인인증 요청 시각 ---- + --- -**`requestedAt`** **\*** **string** + **`updatedAt`** **\*** **string** -본인인증 요청 시각 + 업데이트 시각 ---- + --- -**`updatedAt`** **\*** **string** + **`statusChangedAt`** **\*** **string** -업데이트 시각 + 상태 업데이트 시각 ---- + --- -**`statusChangedAt`** **\*** **string** + **`verifiedCustomer`** **\*** **VerifiedCustomer** -상태 업데이트 시각 + 인증된 고객 정보 ---- +
+

VerifiedCustomer

-**`verifiedCustomer`** **\*** **VerifiedCustomer** + **`id`** **string** -인증된 고객 정보 + 식별 아이디 -
-

VerifiedCustomer

+ --- -**`id`** **string** + **`name`** **\*** **string** -식별 아이디 + 이름 ---- + --- -**`name`** **\*** **string** + **`phoneNumber`** **string** -이름 + 핸드폰 번호. 특수 문자(-) 없이 숫자로만 이루어진 번호 형식 ---- + --- -**`phoneNumber`** **string** + **`birthDate`** **\*** **string** -핸드폰 번호. 특수 문자(-) 없이 숫자로만 이루어진 번호 형식 + 생년월일 (yyyy-MM-dd) ---- + --- -**`birthDate`** **\*** **string** + **`gender`** **\*** **string** -생년월일 (yyyy-MM-dd) + 성별 ---- + `MALE`, `FEMALE`, `OTHER` -**`gender`** **\*** **string** + --- -성별 + **`isForeigner`** **boolean** -`MALE`, `FEMALE`, `OTHER` + 외국인 여부 ---- + --- -**`isForeigner`** **boolean** + **`ci`** **\*** **string** -외국인 여부 + 개인 고유 식별키 ---- + --- -**`ci`** **\*** **string** + **`di`** **\*** **string** -개인 고유 식별키 + 사이트별 개인 고유 식별키 ---- + --- +
-**`di`** **\*** **string** + --- -사이트별 개인 고유 식별키 + **`verifiedAt`** **\*** **string** ---- + 본인인증 완료 시각 -
+ --- ---- + **`pgTxId`** **\*** **string** -**`verifiedAt`** **\*** **string** + 본인인증 건 PG사 아이디 -본인인증 완료 시각 + --- ---- + **`pgRawResponse`** **\*** **string** -**`pgTxId`** **\*** **string** + PG사 응답 데이터 -본인인증 건 PG사 아이디 + --- +
+ + + ---- + + + + **`type`** **\*** **string** -**`pgRawResponse`** **\*** **string** + 에러 타입 -PG사 응답 데이터 + `INVALID_REQUEST` ---- + --- -
+ **`message`** **string** -
-
+ 에러 메시지 -
+ --- +
+
+
- - - -**`type`** **\*** **string** + + + + **`type`** **\*** **string** -에러 타입 + 에러 타입 -`INVALID_REQUEST` + `UNAUTHORIZED` ---- + --- -**`message`** **string** + **`message`** **string** -에러 메시지 + 에러 메시지 ---- + --- + + + - - - + + + + **`type`** **\*** **string** - - - -**`type`** **\*** **string** + 에러 타입 -에러 타입 + `FORBIDDEN` -`UNAUTHORIZED` + --- ---- + **`message`** **string** -**`message`** **string** + 에러 메시지 -에러 메시지 + --- + + + ---- + + + + **`type`** **\*** **string** - - - + 에러 타입 - - - -**`type`** **\*** **string** + `IDENTITY_VERIFICATION_NOT_FOUND`, `IDENTITY_VERIFICATION_NOT_SENT` -에러 타입 + --- -`FORBIDDEN` + **`message`** **string** ---- + 에러 메시지 -**`message`** **string** + --- + + + -에러 메시지 + + + + **`type`** **\*** **string** ---- + 에러 타입 - - - + `IDENTITY_VERIFICATION_ALREADY_VERIFIED` - - - -**`type`** **\*** **string** + --- -에러 타입 + **`message`** **string** -`IDENTITY_VERIFICATION_NOT_FOUND`, `IDENTITY_VERIFICATION_NOT_SENT` + 에러 메시지 ---- - -**`message`** **string** - -에러 메시지 - ---- - - - - + --- + + + - - - -**`type`** **\*** **string** + + + + **`type`** **\*** **string** -에러 타입 + 에러 타입 -`IDENTITY_VERIFICATION_ALREADY_VERIFIED` + `PG_PROVIDER` ---- + --- -**`message`** **string** + **`pgCode`** **\*** **string** -에러 메시지 + PG사 에러 코드 ---- + --- - - - + **`pgMessage`** **\*** **string** - - - -**`type`** **\*** **string** - -에러 타입 - -`PG_PROVIDER` - ---- - -**`pgCode`** **\*** **string** - -PG사 에러 코드 - ---- - -**`pgMessage`** **\*** **string** - -PG사 에러 메시지 - ---- - - - - + PG사 에러 메시지 + --- + + +
## ⌨ 본인인증 요청 재전송 (SMS) - -본인인증 요청을 재전송합니다. - -SMS 방식일 때에만 사용 가능하며, 기존 OTP가 만료되고 새로운 OTP가 전송됩니다. - - - -### Parameters - -#### Path - - - 본인인증 내역 아이디 - - -#### Query - - - 상점 아이디 (접근 권한이 있는 상점 아이디 입력 가능, 미 입력시 토큰에 담긴 - 상점 아이디를 사용) - - -### Responses - - - - - - + + 본인인증 요청을 재전송합니다. - + SMS 방식일 때에만 사용 가능하며, 기존 OTP가 만료되고 새로운 OTP가 전송됩니다. + - - - -**`type`** **\*** **string** + ### Parameters -에러 타입 + #### Path -`INVALID_REQUEST` + + 본인인증 내역 아이디 + ---- + #### Query -**`message`** **string** + + 상점 아이디 (접근 권한이 있는 상점 아이디 입력 가능, 미 입력시 토큰에 담긴 + 상점 아이디를 사용) + -에러 메시지 + ### Responses ---- + + + + + - - - + + + + **`type`** **\*** **string** - - - -**`type`** **\*** **string** + 에러 타입 -에러 타입 + `INVALID_REQUEST` -`UNAUTHORIZED` + --- ---- + **`message`** **string** -**`message`** **string** + 에러 메시지 -에러 메시지 + --- + + + ---- + + + + **`type`** **\*** **string** - - - + 에러 타입 - - - -**`type`** **\*** **string** + `UNAUTHORIZED` -에러 타입 + --- -`FORBIDDEN` + **`message`** **string** ---- + 에러 메시지 -**`message`** **string** + --- + + + -에러 메시지 + + + + **`type`** **\*** **string** ---- + 에러 타입 - - - + `FORBIDDEN` - - - -**`type`** **\*** **string** + --- -에러 타입 + **`message`** **string** -`IDENTITY_VERIFICATION_NOT_FOUND`, `IDENTITY_VERIFICATION_NOT_SENT` + 에러 메시지 ---- + --- + + + -**`message`** **string** + + + + **`type`** **\*** **string** -에러 메시지 + 에러 타입 ---- + `IDENTITY_VERIFICATION_NOT_FOUND`, `IDENTITY_VERIFICATION_NOT_SENT` - - - + --- - - - -**`type`** **\*** **string** + **`message`** **string** -에러 타입 + 에러 메시지 -`IDENTITY_VERIFICATION_ALREADY_VERIFIED` + --- + + + ---- + + + + **`type`** **\*** **string** -**`message`** **string** + 에러 타입 -에러 메시지 + `IDENTITY_VERIFICATION_ALREADY_VERIFIED` ---- + --- - - - + **`message`** **string** - - - -**`type`** **\*** **string** + 에러 메시지 -에러 타입 + --- + + + -`PG_PROVIDER` + + + + **`type`** **\*** **string** ---- + 에러 타입 -**`pgCode`** **\*** **string** + `PG_PROVIDER` -PG사 에러 코드 + --- ---- + **`pgCode`** **\*** **string** -**`pgMessage`** **\*** **string** + PG사 에러 코드 -PG사 에러 메시지 + --- ---- + **`pgMessage`** **\*** **string** - - - + PG사 에러 메시지 + --- + + + diff --git a/src/content/docs/ko/api-v2/payment.mdx b/src/content/docs/ko/api-v2/payment.mdx index c09d12d76..44b79200d 100644 --- a/src/content/docs/ko/api-v2/payment.mdx +++ b/src/content/docs/ko/api-v2/payment.mdx @@ -8,10512 +8,10111 @@ import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## ⌨ 결제내역 단건조회 - -결제가 발생한 이후 즉시 조회가 가능한 API입니다. + + 결제가 발생한 이후 즉시 조회가 가능한 API입니다. + - + ### Parameters -### Parameters + #### Path -#### Path + + 결제 ID + - -결제 ID + #### Query - + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + -#### Query + ### Responses - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + + + + **`payment`** **\*** **Payment** - + 결제내역 -### Responses +
+

Payment

- - - -**`payment`** **\*** **Payment** + **`id`** **\*** **string** -결제내역 + 고객사에서 입력한 결제 ID -
-

Payment

+ --- -**`id`** **\*** **string** + **`merchant_id`** **\*** **string** -고객사에서 입력한 결제 ID + 고객사 ID ---- + --- -**`merchant_id`** **\*** **string** + **`store_id`** **\*** **string** -고객사 ID + 하위 상점 ID ---- + --- -**`store_id`** **\*** **string** + **`transactions`** **\*** **Array\[Transaction]** -하위 상점 ID + 동일한 `payment_id`로 결제시도된 결제내역들 ---- + --- +
-**`transactions`** **\*** **Array\[Transaction]** + --- +
-동일한 `payment_id`로 결제시도된 결제내역들 + + **`detail`** **CardDetail** ---- + 카드 정보 -
+
+

CardDetail

---- + **`publisher`** **string** - + 발행사 코드 - -**`detail`** **CardDetail** + --- -카드 정보 + **`issuer`** **string** -
-

CardDetail

+ 발급사 코드 -**`publisher`** **string** + --- -발행사 코드 + **`brand`** **CardBrand** ---- + 카드 브랜드 -**`issuer`** **string** + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` -발급사 코드 + --- ---- + **`card_type`** **CardType** -**`brand`** **CardBrand** + 카드 종류 -카드 브랜드 + `"CREDIT"`, `"DEBIT"`, `"GIFT"` -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + --- ---- + **`card_owner_type`** **CardOwnerType** -**`card_type`** **CardType** + 카드 소유주 유형 -카드 종류 + `"PERSONAL"`, `"CORPORATE"` -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + --- ---- + **`bin`** **string** -**`card_owner_type`** **CardOwnerType** + 카드 빈넘버 -카드 소유주 유형 + --- -`"PERSONAL"`, `"CORPORATE"` + **`name`** **string** ---- + 카드전표인자명 -**`bin`** **string** + --- +
-카드 빈넘버 + --- ---- + **`number`** **string** -**`name`** **string** + 마스킹된 카드 번호 -카드전표인자명 + --- ---- + **`approval_number`** **string** -
+ 승인 번호 ---- + --- -**`number`** **string** + **`installment`** **Installment** -마스킹된 카드 번호 + 할부 정보 ---- +
+

Installment

-**`approval_number`** **string** + **`month`** **\*** **integer** -승인 번호 + 할부 개월 수 ---- + --- -**`installment`** **Installment** + **`is_interest_free`** **\*** **boolean** -할부 정보 + 무이자할부 여부 -
-

Installment

+ --- +
-**`month`** **\*** **integer** + --- -할부 개월 수 + **`card_point_used`** **boolean** ---- + 카드 포인트 사용여부 -**`is_interest_free`** **\*** **boolean** + --- + -무이자할부 여부 + + **`publisher`** **string** ---- + 발행사 코드 -
+ --- ---- + **`issuer`** **string** -**`card_point_used`** **boolean** + 발급사 코드 -카드 포인트 사용여부 + --- ---- + **`brand`** **CardBrand** - + 카드 브랜드 - -**`publisher`** **string** + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` -발행사 코드 + --- ---- + **`card_type`** **CardType** -**`issuer`** **string** + 카드 종류 -발급사 코드 + `"CREDIT"`, `"DEBIT"`, `"GIFT"` ---- + --- -**`brand`** **CardBrand** + **`card_owner_type`** **CardOwnerType** -카드 브랜드 + 카드 소유주 유형 -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + `"PERSONAL"`, `"CORPORATE"` ---- + --- -**`card_type`** **CardType** + **`bin`** **string** -카드 종류 + 카드 빈넘버 -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + --- ---- + **`name`** **string** -**`card_owner_type`** **CardOwnerType** + 카드전표인자명 -카드 소유주 유형 + --- + -`"PERSONAL"`, `"CORPORATE"` + + **`easy_pay_provider`** **\*** **EasyPayProvider** ---- + 간편결제 PG사 -**`bin`** **string** + `"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` -카드 빈넘버 + --- ---- + **`card`** **Card** -**`name`** **string** + 카드 결제 정보 -카드전표인자명 +
+

Card

---- + **`detail`** **CardDetail** - + 카드 정보 - -**`easy_pay_provider`** **\*** **EasyPayProvider** + --- -간편결제 PG사 + **`number`** **string** -`"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` + 마스킹된 카드 번호 ---- + --- -**`card`** **Card** + **`approval_number`** **string** -카드 결제 정보 + 승인 번호 -
-

Card

+ --- -**`detail`** **CardDetail** + **`installment`** **Installment** -카드 정보 + 할부 정보 ---- + --- -**`number`** **string** + **`card_point_used`** **boolean** -마스킹된 카드 번호 + 카드 포인트 사용여부 ---- + --- +
-**`approval_number`** **string** + --- -승인 번호 + **`charge`** **Charge** ---- + 충전식 포인트 결제 정보 -**`installment`** **Installment** +
+

Charge

-할부 정보 + **`bank_code`** **string** ---- + 표준 은행 코드 (계좌 이체시 입력됨) -**`card_point_used`** **boolean** + --- +
-카드 포인트 사용여부 + --- ---- + **`transfer`** **Transfer** -
+ 계좌이체 정보 ---- +
+

Transfer

-**`charge`** **Charge** + **`bank_code`** **string** -충전식 포인트 결제 정보 + 표준 은행 코드 -
-

Charge

+ --- +
-**`bank_code`** **string** + --- + + -표준 은행 코드 (계좌 이체시 입력됨) + + + **`type`** **GiftCertificateType** ---- + `"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` -
+ --- ---- + **`approval_number`** **\*** **string** -**`transfer`** **Transfer** + 상품권 승인번호 -계좌이체 정보 + --- +
-
-

Transfer

+ + **`month`** **\*** **integer** -**`bank_code`** **string** + 할부 개월 수 -표준 은행 코드 + --- ---- + **`is_interest_free`** **\*** **boolean** -
+ 무이자할부 여부 ---- + --- + - - + + **`carrier`** **Carrier** - - -**`type`** **GiftCertificateType** + 통신사 -`"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` ---- + --- -**`approval_number`** **\*** **string** + **`phone_number`** **string** -상품권 승인번호 + 휴대전화번호 ---- + --- + - + + **`country`** **Country** - -**`month`** **\*** **integer** + 국가 코드 -할부 개월 수 + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` ---- + --- -**`is_interest_free`** **\*** **boolean** + **`province`** **string** -무이자할부 여부 + 시/도/구 ---- + --- - + **`city`** **string** - -**`carrier`** **Carrier** + 도시 -통신사 + --- -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + **`address_line_1`** **\*** **string** ---- + 일반 주소 -**`phone_number`** **string** + --- -휴대전화번호 + **`address_line_2`** **\*** **string** ---- + 상세 주소 - + --- + + - -**`country`** **Country** + + + **`id`** **\*** **string** -국가 코드 + 포트원 채번 거래번호 -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + --- ---- + **`is_primary`** **\*** **boolean** -**`province`** **string** + 대표 트랜잭션 여부 -시/도/구 + --- ---- + **`version`** **\*** **Version** -**`city`** **string** + 포트원 내부 결제시스템 버전 -도시 + `"V1"`, `"V2"` ---- + --- -**`address_line_1`** **\*** **string** + **`method`** **PaymentMethod** -일반 주소 + 결제수단 목록 ---- + `"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` -**`address_line_2`** **\*** **string** + --- -상세 주소 + **`channel`** **Channel** ---- + 결제 채널 정보 - - +
+

Channel

- - -**`id`** **\*** **string** + **`id`** **string** -포트원 채번 거래번호 + 채널 ID ---- + --- -**`is_primary`** **\*** **boolean** + **`name`** **string** -대표 트랜잭션 여부 + 채널 이름 ---- + --- -**`version`** **\*** **Version** + **`key`** **string** -포트원 내부 결제시스템 버전 + 채널 키 -`"V1"`, `"V2"` + --- ---- + **`type`** **\*** **ChannelType** -**`method`** **PaymentMethod** + 채널 유형 -결제수단 목록 + `"LIVE"`, `"TEST"` -`"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` + --- ---- + **`pg_provider`** **\*** **PgProvider** -**`channel`** **Channel** + 결제대행사(PG사) -결제 채널 정보 + `"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` -
-

Channel

+ --- -**`id`** **string** + **`pg_merchant_id`** **\*** **string** -채널 ID + PG사에 등록된 고객사 ID ---- + --- +
-**`name`** **string** + --- -채널 이름 + **`schedule_id`** **string** ---- + 예약결제 ID - 예약결제에만 해당됩니다. -**`key`** **string** + --- -채널 키 + **`billing_key`** **string** ---- + 결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. -**`type`** **\*** **ChannelType** + --- -채널 유형 + **`notifications`** **Array\[notification\_Notification]** -`"LIVE"`, `"TEST"` + 웹훅 발송 내역 ---- +
+

notification\_Notification

-**`pg_provider`** **\*** **PgProvider** + **`webhook`** **Webhook** -결제대행사(PG사) + 웹훅 정보 -`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` + --- +
---- + --- -**`pg_merchant_id`** **\*** **string** + **`status_updated_at`** **string** -PG사에 등록된 고객사 ID + 상태변경시각 ---- + --- -
+ **`updated_at`** **\*** **string** ---- + 수정 시각 -**`schedule_id`** **string** + --- -예약결제 ID - 예약결제에만 해당됩니다. + **`order_name`** **\*** **string** ---- + 주문명 -**`billing_key`** **string** + --- -결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. + **`status`** **\*** **TransactionStatus** ---- + 결제 건의 상태를 나타내는 enum string -**`notifications`** **Array\[notification_Notification]** + `"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` -웹훅 발송 내역 + --- -
-

notification_Notification

+ **`amount`** **\*** **TransactionAmount** -**`webhook`** **Webhook** + 결제 금액 및 통화 관련 세부 정보 -웹훅 정보 +
+

TransactionAmount

---- + **`currency`** **\*** **Currency** -
+ 통화 ---- + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` -**`status_updated_at`** **string** + --- -상태변경시각 + **`total`** **\*** **integer** ---- + 결제 요청 금액 -**`updated_at`** **\*** **string** + --- -수정 시각 + **`tax_free`** **\*** **integer** ---- + 면세금액 -**`order_name`** **\*** **string** + --- -주문명 + **`vat`** **integer** ---- + 부가세 -**`status`** **\*** **TransactionStatus** + --- -결제 건의 상태를 나타내는 enum string + **`supply`** **integer** -`"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` + 공급가액 ---- + --- -**`amount`** **\*** **TransactionAmount** + **`discount`** **\*** **integer** -결제 금액 및 통화 관련 세부 정보 + 할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) -
-

TransactionAmount

+ --- -**`currency`** **\*** **Currency** + **`paid`** **\*** **integer** -통화 + 실제 결제 금액 -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + --- ---- + **`cancelled`** **\*** **integer** -**`total`** **\*** **integer** + 취소 금액 -결제 요청 금액 + --- ---- + **`cancelled_tax_free`** **\*** **integer** -**`tax_free`** **\*** **integer** + 취소 금액 중 면세 금액 -면세금액 + --- +
---- + --- -**`vat`** **integer** + **`customer`** **\*** **Customer** -부가세 + 구매자 정보 ---- +
+

Customer

-**`supply`** **integer** + **`id`** **string** -공급가액 + 구매자 ID ---- + --- -**`discount`** **\*** **integer** + **`name`** **string** -할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) + 구매자 이름 ---- + --- -**`paid`** **\*** **integer** + **`birthYear`** **string** -실제 결제 금액 + 구매자 생년 ---- + --- -**`cancelled`** **\*** **integer** + **`gender`** **Gender** -취소 금액 + `"MALE"`, `"FEMALE"`, `"OTHER"` ---- + --- -**`cancelled_tax_free`** **\*** **integer** + **`email`** **string** -취소 금액 중 면세 금액 + 구매자 이메일 ---- + --- -
+ **`phone_number`** **string** ---- + 구매자 전화번호 -**`customer`** **\*** **Customer** + --- -구매자 정보 + **`one_line_address`** **string** -
-

Customer

+ 구매자 주소 (한 줄) -**`id`** **string** + --- -구매자 ID + **`separated_address`** **SeparatedAddress** ---- + 구매자 주소 (단위별) -**`name`** **string** + --- -구매자 이름 + **`zipcode`** **string** ---- + 구매자 우편번호 -**`birthYear`** **string** + --- +
-구매자 생년 + --- ---- + **`origin`** **\*** **Origin** -**`gender`** **Gender** + 결제를 요청한 근원에 대한 정보 -`"MALE"`, `"FEMALE"`, `"OTHER"` +
+

Origin

---- + **`platform_type`** **\*** **string** -**`email`** **string** + 결제를 요청한 단말의 플랫폼 분류 -구매자 이메일 + `"PC"`, `"MOBILE"`, `"API"` ---- + --- -**`phone_number`** **string** + **`user_agent`** **string** -구매자 전화번호 + 결제근원의 환경 정보 (Http 의 User-Agent header value) ---- + --- -**`one_line_address`** **string** + **`url`** **string** -구매자 주소 (한 줄) + 결제근원의 페이지 url ---- + --- -**`separated_address`** **SeparatedAddress** + **`ip_address`** **\*** **string** -구매자 주소 (단위별) + 결제근원의 IP 주소 ---- + --- +
-**`zipcode`** **string** + --- -구매자 우편번호 + **`is_cultural_expense`** **boolean** ---- + 문화비 지출 여부 -
+ --- ---- + **`is_escrow`** **\*** **boolean** -**`origin`** **\*** **Origin** + 에스크로 여부 -결제를 요청한 근원에 대한 정보 + --- -
-

Origin

+ **`escrow_detail`** **EscrowDetail** -**`platform_type`** **\*** **string** + 에스크로 결제 정보 -결제를 요청한 단말의 플랫폼 분류 +
+

EscrowDetail

-`"PC"`, `"MOBILE"`, `"API"` + **`company`** **\*** **string** ---- + 택배사 -**`user_agent`** **string** + --- -결제근원의 환경 정보 (Http 의 User-Agent header value) + **`invoice_number`** **\*** **string** ---- + 송장번호 -**`url`** **string** + --- -결제근원의 페이지 url + **`status`** **EscrowStatus** ---- + 에스크로 상태 -**`ip_address`** **\*** **string** + `"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` -결제근원의 IP 주소 + --- ---- + **`sent_at`** **string** -
+ 발송 일시 (배송이 발송되었을 경우 제공) ---- + --- -**`is_cultural_expense`** **boolean** + **`applied_at`** **string** -문화비 지출 여부 + 배송등록 처리 일자 ---- + --- +
-**`is_escrow`** **\*** **boolean** + --- -에스크로 여부 + **`products`** **Array\[Product]** ---- + 상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. -**`escrow_detail`** **EscrowDetail** +
+

Product

-에스크로 결제 정보 + **`id`** **\*** **string** -
-

EscrowDetail

+ 상품 ID -**`company`** **\*** **string** + --- -택배사 + **`name`** **\*** **string** ---- + 상품명 -**`invoice_number`** **\*** **string** + --- -송장번호 + **`tag`** **string** ---- + 상품 태그(카테고리) -**`status`** **EscrowStatus** + --- -에스크로 상태 + **`code`** **string** -`"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` + 상품 코드 ---- + --- -**`sent_at`** **string** + **`amount`** **\*** **integer** -발송 일시 (배송이 발송되었을 경우 제공) + 상품 단위가격 ---- + --- -**`applied_at`** **string** + **`quantity`** **\*** **integer** -배송등록 처리 일자 + 주문 수량 ---- + --- +
-
+ --- ---- + **`product_count`** **integer** -**`products`** **Array\[Product]** + 상품 갯수 -상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. + --- -
-

Product

+ **`custom_data`** **string** -**`id`** **\*** **string** + 고객사의 결제 데이터 추가 정보 -상품 ID + --- ---- + **`requested_at`** **\*** **string** -**`name`** **\*** **string** + 결제요청시각 -상품명 + --- ---- + **`promotion_id`** **string** -**`tag`** **string** + 포트원 프로모션 아이디 -상품 태그(카테고리) + --- ---- + **`failure`** **PaymentFailure** -**`code`** **string** + 결제 실패 정보 -상품 코드 +
+

PaymentFailure

---- + **`reason`** **string** -**`amount`** **\*** **integer** + 실패 이유 -상품 단위가격 + --- ---- + **`pg_code`** **string** -**`quantity`** **\*** **integer** + PG사 전달 에러 코드 -주문 수량 + --- ---- + **`pg_message`** **string** -
+ PG사 전달 에러 메세지 ---- + --- +
-**`product_count`** **integer** + --- -상품 갯수 + **`failed_at`** **string** ---- + 결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. -**`custom_data`** **string** + --- -고객사의 결제 데이터 추가 정보 + **`country`** **Country** ---- + 국가 코드 -**`requested_at`** **\*** **string** + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -결제요청시각 + --- ---- + **`paid_at`** **string** -**`promotion_id`** **string** + 결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -포트원 프로모션 아이디 + --- ---- + **`payment_method_detail`** **PaymentMethodDetail** -**`failure`** **PaymentFailure** + 결제 수단 정보 -결제 실패 정보 +
+

PaymentMethodDetail

-
-

PaymentFailure

+ **`card`** **Card** -**`reason`** **string** + 카드 결제 정보 -실패 이유 + --- ---- + **`transfer`** **Transfer** -**`pg_code`** **string** + 계좌이체 정보 -PG사 전달 에러 코드 + --- ---- + **`virtual_account`** **VirtualAccount** -**`pg_message`** **string** + 가상계좌 결제 정보 -PG사 전달 에러 메세지 + --- ---- + **`mobile`** **Mobile** -
+ 모바일결제 정보 ---- + --- -**`failed_at`** **string** + **`gift_certificate`** **GiftCertificate** -결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. + 상품권 결제 정보 ---- + --- -**`country`** **Country** + **`easy_pay`** **EasyPay** -국가 코드 + 간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + --- +
---- + --- -**`paid_at`** **string** + **`pg_tx_id`** **string** -결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. ---- + --- -**`payment_method_detail`** **PaymentMethodDetail** + **`pg_response`** **string** -결제 수단 정보 + PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -
-

PaymentMethodDetail

+ --- -**`card`** **Card** + **`cash_receipt`** **CashReceiptDetail** -카드 결제 정보 + 현금영수증 정보 ---- +
+

CashReceiptDetail

-**`transfer`** **Transfer** + **`pg_receipt_id`** **string** -계좌이체 정보 + PG사 현금영수증 발급 ID ---- + --- -**`virtual_account`** **VirtualAccount** + **`issue_number`** **\*** **string** -가상계좌 결제 정보 + 현금영수증 승인번호 ---- + --- -**`mobile`** **Mobile** + **`type`** **CashReceiptType** -모바일결제 정보 + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` ---- + --- -**`gift_certificate`** **GiftCertificate** + **`amount`** **\*** **integer** -상품권 결제 정보 + 금액 ---- + --- -**`easy_pay`** **EasyPay** + **`tax_free_amount`** **integer** -간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) + 면세금액 ---- + --- -
+ **`status`** **CashReceiptStatus** ---- + `"ISSUED"`, `"CANCELLED"` -**`pg_tx_id`** **string** + --- -PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + **`issued_at`** **\*** **string** ---- + 발급일시 -**`pg_response`** **string** + --- -PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + **`cancelled_at`** **string** ---- + 취소일시 (`status`가 `CANCELLED`인 경우 제공) -**`cash_receipt`** **CashReceiptDetail** + --- -현금영수증 정보 + **`receipt_url`** **string** -
-

CashReceiptDetail

+ 영수증 url -**`pg_receipt_id`** **string** + --- +
-PG사 현금영수증 발급 ID + --- ---- + **`cancellations`** **Array\[Cancellation]** -**`issue_number`** **\*** **string** + 취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. -현금영수증 승인번호 +
+

Cancellation

---- + **`id`** **\*** **string** -**`type`** **CashReceiptType** + 취소 ID -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + --- ---- + **`pg_cancellation_id`** **\*** **string** -**`amount`** **\*** **integer** + PG사 취소 ID -금액 + --- ---- + **`cancel_amount`** **\*** **integer** -**`tax_free_amount`** **integer** + 취소 금액 -면세금액 + --- ---- + **`tax_free_amount`** **\*** **integer** -**`status`** **CashReceiptStatus** + 취소 면세 금액 -`"ISSUED"`, `"CANCELLED"` + --- ---- + **`easy_pay_discount_amount`** **integer** -**`issued_at`** **\*** **string** + 적립형 포인트의 환불 금액 -발급일시 + --- ---- + **`reason`** **\*** **string** -**`cancelled_at`** **string** + 취소 사유 -취소일시 (`status`가 `CANCELLED`인 경우 제공) + --- ---- + **`cancelled_at`** **string** -**`receipt_url`** **string** + 취소일시 -영수증 url + --- ---- + **`requested_at`** **\*** **string** -
+ 취소요청일시 ---- + --- -**`cancellations`** **Array\[Cancellation]** + **`status`** **\*** **CancellationStatus** -취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. + 취소 상태 -
-

Cancellation

+ `"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` -**`id`** **\*** **string** + --- +
-취소 ID + --- ---- + **`cancelled_at`** **string** -**`pg_cancellation_id`** **\*** **string** + 결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. -PG사 취소 ID + --- + ---- + + **`bank_code`** **string** -**`cancel_amount`** **\*** **integer** + 표준 은행 코드 -취소 금액 + --- + ---- + + **`bank_code`** **string** -**`tax_free_amount`** **\*** **integer** + 표준 은행 코드 -취소 면세 금액 + --- ---- + **`account_number`** **\*** **string** -**`easy_pay_discount_amount`** **integer** + 계좌번호 -적립형 포인트의 환불 금액 + --- ---- + **`account_type`** **VirtualAccountType** -**`reason`** **\*** **string** + 계좌 유형 -취소 사유 + `"FIXED"`, `"NORMAL"` ---- + --- -**`cancelled_at`** **string** + **`remittee_name`** **string** -취소일시 + 계좌주 ---- + --- -**`requested_at`** **\*** **string** + **`remitter_name`** **string** -취소요청일시 + 송금인 (입금자) ---- + --- -**`status`** **\*** **CancellationStatus** + **`expired_at`** **string** -취소 상태 + 입금만료시점 -`"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` + --- ---- + **`issued_at`** **string** -
+ 계좌발급시점 ---- + --- -**`cancelled_at`** **string** + **`refund_status`** **RefundStatus** -결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. + 가상계좌 결제가 환불 단계일 때의 환불 상태 ---- + `"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` -
+ --- + - -**`bank_code`** **string** + + **`id`** **\*** **string** -표준 은행 코드 + 웹훅 ID ---- + --- - + **`status`** **WebhookStatus** - -**`bank_code`** **string** + 웹훅 전송 상태 -표준 은행 코드 + `"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` ---- + --- -**`account_number`** **\*** **string** + **`type`** **WebhookType** -계좌번호 + 웹훅 유형 ---- + `"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` -**`account_type`** **VirtualAccountType** + --- -계좌 유형 + **`url`** **\*** **string** -`"FIXED"`, `"NORMAL"` + 웹훅이 발송된 url ---- + --- -**`remittee_name`** **string** + **`is_async`** **boolean** -계좌주 + 비동기 웹훅 여부 ---- + --- -**`remitter_name`** **string** + **`current_execution`** **integer** -송금인 (입금자) + 현재 발송 횟수 ---- + --- -**`expired_at`** **string** + **`max_execution`** **integer** -입금만료시점 + 최대 발송 횟수 ---- + --- -**`issued_at`** **string** + **`webhook_trigger`** **WebhookTrigger** -계좌발급시점 + 웹훅 실행 주체 ---- + `"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` -**`refund_status`** **RefundStatus** + --- -가상계좌 결제가 환불 단계일 때의 환불 상태 + **`request`** **WebhookRequest** -`"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` + 웹훅 요청 정보 ---- +
+

WebhookRequest

- + **`header`** **object** - -**`id`** **\*** **string** + 요청 header -웹훅 ID + --- ---- + **`body`** **\*** **string** -**`status`** **WebhookStatus** + 요청 body -웹훅 전송 상태 + --- -`"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` + **`requested_at`** **string** ---- + 요청 시각 -**`type`** **WebhookType** + --- +
-웹훅 유형 + --- -`"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` + **`response`** **WebhookResponse** ---- + 웹훅 응답 정보 -**`url`** **\*** **string** +
+

WebhookResponse

-웹훅이 발송된 url + **`code`** **\*** **string** ---- + 웹훅 응답 http 코드 -**`is_async`** **boolean** + --- -비동기 웹훅 여부 + **`header`** **\*** **object** ---- + 응답 header -**`current_execution`** **integer** + --- -현재 발송 횟수 + **`body`** **\*** **string** ---- + 응답 body -**`max_execution`** **integer** + --- -최대 발송 횟수 + **`responded_at`** **\*** **string** ---- + 응답 시각 -**`webhook_trigger`** **WebhookTrigger** + --- +
-웹훅 실행 주체 + --- -`"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` + **`triggered_at`** **string** ---- + 웹훅 처리 시작 시각 -**`request`** **WebhookRequest** + --- +
+ + -웹훅 요청 정보 + + + + **`code`** **\*** **string** -
-

WebhookRequest

+ `"UNAUTHORIZED"` -**`header`** **object** + --- -요청 header + **`params`** **object** ---- + 에러 세부사항 -**`body`** **\*** **string** + --- + + + -요청 body + + + + **`code`** **\*** **string** ---- + `"PAYMENT_NOT_FOUND"` -**`requested_at`** **string** + --- -요청 시각 + **`params`** **object** ---- + 에러 세부사항 -
+ --- +
+
+
---- + + + + **`code`** **\*** **string** -**`response`** **WebhookResponse** + `"PORTONE_ERROR"` -웹훅 응답 정보 + --- -
-

WebhookResponse

+ **`params`** **object** -**`code`** **\*** **string** + 에러 세부사항 -웹훅 응답 http 코드 + --- + + + + ---- +## ⌨ 결제내역 다건조회 -**`header`** **\*** **object** + + + 결제내역들을 조회할 수 있는 API입니다. 실제 결제 발생 이후 조회되기까지 지연이 있으니 검증을 위해서는 -응답 header + [결제내역 단건조회](payment#getPayment) ---- + 를 이용해주세요. 현재 page \* limit이 50000 이상이 되는 쿼리를 허용하지 않는 제약을 갖고있습니다. 많은 양의 데이터를 받아올 경우 날짜범위를 좁혀서 사용해주세요. 추후 50000개 이상 대량의 데이터를 한번에 편리하게 쿼리할 수 있도록 하는 수정이 예정되어있습니다. + -**`body`** **\*** **string** + ### Parameters -응답 body + #### Query ---- + + 하위 상점 ID - Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 결제건을 조회합니다. + -**`responded_at`** **\*** **string** + + 어떤 시각을 기준으로 조회를 할 것인지 선택합니다. -응답 시각 + - `REQUESTED_AT`: 결제 요청 시각을 기준으로 조회합니다. ---- + - `STATUS_UPDATED_AT`: 상태 승인 시각을 기준으로 조회합니다. 결제 건의 최종 상태에 따라 검색 기준이 다르게 적용됩니다. + - `ready` -> 결제 요청 시각 기준 + - `paid` -> 결제 완료 시각 기준 + - `cancelled` -> 결제 취소 시각 기준 + - `failed` -> 결제 실패 시각 기준 -
+ 값을 넣지 않으면 `STATUS_UPDATED_AT` 으로 자동 적용됩니다. + ---- + + 결제 요청/상태 승인 시각 범위의 시작 - 값을 넣지 않으면 `end`의 90일 전으로 설정됩니다. + -**`triggered_at`** **string** + + 결제 요청/상태 승인 시각 범위의 끝 - 값을 넣지 않으면 현재 시각으로 설정됩니다. + -웹훅 처리 시작 시각 + + 결제상태 리스트 - 값을 넣지 않으면 결제상태 필터링이 적용되지 않습니다. + ---- + + 결제수단 리스트 - 값을 넣지 않으면 결제수단 필터링이 적용되지 않습니다. + -
-
+ + 결제대행사 리스트 - 값을 넣지 않으면 결제대행사 필터링이 적용되지 않습니다. + -
+ + 테스트결제 필터링 + - - - -**`code`** **\*** **string** + + 정기결제 필터링 + -`"UNAUTHORIZED"` + + 통합검색 항목 + ---- + + 통합검색 입력값 + -**`params`** **object** + + 페이지 - 0부터 시작합니다. + -에러 세부사항 + + 페이지 크기 (최대 1000까지 허용) + ---- + + 정렬 기준 - - + `REQUESTED_AT` - + : 결제요청시각 - - - -**`code`** **\*** **string** + `STATUS_UPDATED_AT` -`"PAYMENT_NOT_FOUND"` + : 상태변경시각 + ---- + + 정렬 방향 -**`params`** **object** + `DESCENDING` -에러 세부사항 + : 내림차순 ---- + `ASCENDING` - - + : 오름차순 + - + ### Responses - - - -**`code`** **\*** **string** + + + + **`current_page`** **\*** **integer** -`"PORTONE_ERROR"` + --- ---- + **`total_page`** **\*** **integer** -**`params`** **object** + --- -에러 세부사항 + **`total_count`** **\*** **integer** ---- + --- - - + **`payments`** **\*** **Array\[Payment]** - + 결제내역 -
+
+

Payment

-## ⌨ 결제내역 다건조회 + **`id`** **\*** **string** - - -결제내역들을 조회할 수 있는 API입니다. 실제 결제 발생 이후 조회되기까지 지연이 있으니 검증을 위해서는 + 고객사에서 입력한 결제 ID -[결제내역 단건조회](payment#getPayment) + --- -를 이용해주세요. 현재 page \* limit이 50000 이상이 되는 쿼리를 허용하지 않는 제약을 갖고있습니다. 많은 양의 데이터를 받아올 경우 날짜범위를 좁혀서 사용해주세요. 추후 50000개 이상 대량의 데이터를 한번에 편리하게 쿼리할 수 있도록 하는 수정이 예정되어있습니다. + **`merchant_id`** **\*** **string** - + 고객사 ID -### Parameters + --- -#### Query + **`store_id`** **\*** **string** - -하위 상점 ID - Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 결제건을 조회합니다. + 하위 상점 ID - - -어떤 시각을 기준으로 조회를 할 것인지 선택합니다. + --- -- `REQUESTED_AT`: 결제 요청 시각을 기준으로 조회합니다. -- `STATUS_UPDATED_AT`: 상태 승인 시각을 기준으로 조회합니다. 결제 건의 최종 상태에 따라 검색 기준이 다르게 적용됩니다. - - `ready` -> 결제 요청 시각 기준 - - `paid` -> 결제 완료 시각 기준 - - `cancelled` -> 결제 취소 시각 기준 - - `failed` -> 결제 실패 시각 기준 + **`transactions`** **\*** **Array\[Transaction]** -값을 넣지 않으면 `STATUS_UPDATED_AT` 으로 자동 적용됩니다. + 동일한 `payment_id`로 결제시도된 결제내역들 - - -결제 요청/상태 승인 시각 범위의 시작 - 값을 넣지 않으면 `end`의 90일 전으로 설정됩니다. + --- +
- - -결제 요청/상태 승인 시각 범위의 끝 - 값을 넣지 않으면 현재 시각으로 설정됩니다. + --- + - - -결제상태 리스트 - 값을 넣지 않으면 결제상태 필터링이 적용되지 않습니다. + + **`detail`** **CardDetail** - - -결제수단 리스트 - 값을 넣지 않으면 결제수단 필터링이 적용되지 않습니다. + 카드 정보 - - -결제대행사 리스트 - 값을 넣지 않으면 결제대행사 필터링이 적용되지 않습니다. +
+

CardDetail

- - -테스트결제 필터링 + **`publisher`** **string** - - -정기결제 필터링 + 발행사 코드 - - -통합검색 항목 + --- - - -통합검색 입력값 + **`issuer`** **string** - - -페이지 - 0부터 시작합니다. + 발급사 코드 - - -페이지 크기 (최대 1000까지 허용) + --- - - -정렬 기준 + **`brand`** **CardBrand** -`REQUESTED_AT` + 카드 브랜드 -: 결제요청시각 + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` -`STATUS_UPDATED_AT` + --- -: 상태변경시각 + **`card_type`** **CardType** - - -정렬 방향 + 카드 종류 -`DESCENDING` + `"CREDIT"`, `"DEBIT"`, `"GIFT"` -: 내림차순 + --- -`ASCENDING` + **`card_owner_type`** **CardOwnerType** -: 오름차순 + 카드 소유주 유형 - + `"PERSONAL"`, `"CORPORATE"` -### Responses + --- - - - -**`current_page`** **\*** **integer** + **`bin`** **string** ---- + 카드 빈넘버 -**`total_page`** **\*** **integer** + --- ---- + **`name`** **string** -**`total_count`** **\*** **integer** + 카드전표인자명 ---- + --- +
-**`payments`** **\*** **Array\[Payment]** + --- -결제내역 + **`number`** **string** -
-

Payment

+ 마스킹된 카드 번호 -**`id`** **\*** **string** + --- -고객사에서 입력한 결제 ID + **`approval_number`** **string** ---- + 승인 번호 -**`merchant_id`** **\*** **string** + --- -고객사 ID + **`installment`** **Installment** ---- + 할부 정보 -**`store_id`** **\*** **string** +
+

Installment

-하위 상점 ID + **`month`** **\*** **integer** ---- + 할부 개월 수 -**`transactions`** **\*** **Array\[Transaction]** + --- -동일한 `payment_id`로 결제시도된 결제내역들 + **`is_interest_free`** **\*** **boolean** ---- + 무이자할부 여부 -
+ --- +
---- + --- - + **`card_point_used`** **boolean** - -**`detail`** **CardDetail** + 카드 포인트 사용여부 -카드 정보 + --- + -
-

CardDetail

+ + **`publisher`** **string** -**`publisher`** **string** + 발행사 코드 -발행사 코드 + --- ---- + **`issuer`** **string** -**`issuer`** **string** + 발급사 코드 -발급사 코드 + --- ---- + **`brand`** **CardBrand** -**`brand`** **CardBrand** + 카드 브랜드 -카드 브랜드 + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + --- ---- + **`card_type`** **CardType** -**`card_type`** **CardType** + 카드 종류 -카드 종류 + `"CREDIT"`, `"DEBIT"`, `"GIFT"` -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + --- ---- + **`card_owner_type`** **CardOwnerType** -**`card_owner_type`** **CardOwnerType** + 카드 소유주 유형 -카드 소유주 유형 + `"PERSONAL"`, `"CORPORATE"` -`"PERSONAL"`, `"CORPORATE"` + --- ---- + **`bin`** **string** -**`bin`** **string** + 카드 빈넘버 -카드 빈넘버 + --- ---- + **`name`** **string** -**`name`** **string** + 카드전표인자명 -카드전표인자명 + --- + ---- + + **`easy_pay_provider`** **\*** **EasyPayProvider** -
+ 간편결제 PG사 ---- + `"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` -**`number`** **string** + --- -마스킹된 카드 번호 + **`card`** **Card** ---- + 카드 결제 정보 -**`approval_number`** **string** +
+

Card

-승인 번호 + **`detail`** **CardDetail** ---- + 카드 정보 -**`installment`** **Installment** + --- -할부 정보 + **`number`** **string** -
-

Installment

+ 마스킹된 카드 번호 -**`month`** **\*** **integer** + --- -할부 개월 수 + **`approval_number`** **string** ---- + 승인 번호 -**`is_interest_free`** **\*** **boolean** + --- -무이자할부 여부 + **`installment`** **Installment** ---- + 할부 정보 -
+ --- ---- + **`card_point_used`** **boolean** -**`card_point_used`** **boolean** + 카드 포인트 사용여부 -카드 포인트 사용여부 + --- +
---- + --- - + **`charge`** **Charge** - -**`publisher`** **string** + 충전식 포인트 결제 정보 -발행사 코드 +
+

Charge

---- + **`bank_code`** **string** -**`issuer`** **string** + 표준 은행 코드 (계좌 이체시 입력됨) -발급사 코드 + --- +
---- + --- -**`brand`** **CardBrand** + **`transfer`** **Transfer** -카드 브랜드 + 계좌이체 정보 -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` +
+

Transfer

---- + **`bank_code`** **string** -**`card_type`** **CardType** + 표준 은행 코드 -카드 종류 + --- +
-`"CREDIT"`, `"DEBIT"`, `"GIFT"` + --- +
+ ---- + + + **`type`** **GiftCertificateType** -**`card_owner_type`** **CardOwnerType** + `"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` -카드 소유주 유형 + --- -`"PERSONAL"`, `"CORPORATE"` + **`approval_number`** **\*** **string** ---- + 상품권 승인번호 -**`bin`** **string** + --- + -카드 빈넘버 + + **`month`** **\*** **integer** ---- + 할부 개월 수 -**`name`** **string** + --- -카드전표인자명 + **`is_interest_free`** **\*** **boolean** ---- + 무이자할부 여부 - + --- + - -**`easy_pay_provider`** **\*** **EasyPayProvider** + + **`carrier`** **Carrier** -간편결제 PG사 + 통신사 -`"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` ---- + --- -**`card`** **Card** + **`phone_number`** **string** -카드 결제 정보 + 휴대전화번호 -
-

Card

+ --- + -**`detail`** **CardDetail** + + **`country`** **Country** -카드 정보 + 국가 코드 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -**`number`** **string** + --- -마스킹된 카드 번호 + **`province`** **string** ---- + 시/도/구 -**`approval_number`** **string** + --- -승인 번호 + **`city`** **string** ---- + 도시 -**`installment`** **Installment** + --- -할부 정보 + **`address_line_1`** **\*** **string** ---- + 일반 주소 -**`card_point_used`** **boolean** + --- -카드 포인트 사용여부 + **`address_line_2`** **\*** **string** ---- + 상세 주소 -
+ --- +
+
---- + + + **`id`** **\*** **string** -**`charge`** **Charge** + 포트원 채번 거래번호 -충전식 포인트 결제 정보 + --- -
-

Charge

+ **`is_primary`** **\*** **boolean** -**`bank_code`** **string** + 대표 트랜잭션 여부 -표준 은행 코드 (계좌 이체시 입력됨) + --- ---- + **`version`** **\*** **Version** -
+ 포트원 내부 결제시스템 버전 ---- + `"V1"`, `"V2"` -**`transfer`** **Transfer** + --- -계좌이체 정보 + **`method`** **PaymentMethod** -
-

Transfer

+ 결제수단 목록 -**`bank_code`** **string** + `"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` -표준 은행 코드 + --- ---- + **`channel`** **Channel** -
+ 결제 채널 정보 ---- +
+

Channel

- - + **`id`** **string** - - -**`type`** **GiftCertificateType** + 채널 ID -`"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` + --- ---- + **`name`** **string** -**`approval_number`** **\*** **string** + 채널 이름 -상품권 승인번호 + --- ---- + **`key`** **string** - + 채널 키 - -**`month`** **\*** **integer** + --- -할부 개월 수 + **`type`** **\*** **ChannelType** ---- + 채널 유형 -**`is_interest_free`** **\*** **boolean** + `"LIVE"`, `"TEST"` -무이자할부 여부 + --- ---- + **`pg_provider`** **\*** **PgProvider** - + 결제대행사(PG사) - -**`carrier`** **Carrier** + `"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` -통신사 + --- -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + **`pg_merchant_id`** **\*** **string** ---- + PG사에 등록된 고객사 ID -**`phone_number`** **string** + --- +
-휴대전화번호 + --- ---- + **`schedule_id`** **string** -
+ 예약결제 ID - 예약결제에만 해당됩니다. - -**`country`** **Country** + --- -국가 코드 + **`billing_key`** **string** -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + 결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. ---- + --- -**`province`** **string** + **`notifications`** **Array\[notification\_Notification]** -시/도/구 + 웹훅 발송 내역 ---- +
+

notification\_Notification

-**`city`** **string** + **`webhook`** **Webhook** -도시 + 웹훅 정보 ---- + --- +
-**`address_line_1`** **\*** **string** + --- -일반 주소 + **`status_updated_at`** **string** ---- + 상태변경시각 -**`address_line_2`** **\*** **string** + --- -상세 주소 + **`updated_at`** **\*** **string** ---- + 수정 시각 -
-
+ --- - - -**`id`** **\*** **string** + **`order_name`** **\*** **string** -포트원 채번 거래번호 + 주문명 ---- + --- -**`is_primary`** **\*** **boolean** + **`status`** **\*** **TransactionStatus** -대표 트랜잭션 여부 + 결제 건의 상태를 나타내는 enum string ---- + `"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` -**`version`** **\*** **Version** + --- -포트원 내부 결제시스템 버전 + **`amount`** **\*** **TransactionAmount** -`"V1"`, `"V2"` + 결제 금액 및 통화 관련 세부 정보 ---- +
+

TransactionAmount

-**`method`** **PaymentMethod** + **`currency`** **\*** **Currency** -결제수단 목록 + 통화 -`"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` ---- + --- -**`channel`** **Channel** + **`total`** **\*** **integer** -결제 채널 정보 + 결제 요청 금액 -
-

Channel

+ --- -**`id`** **string** + **`tax_free`** **\*** **integer** -채널 ID + 면세금액 ---- + --- -**`name`** **string** + **`vat`** **integer** -채널 이름 + 부가세 ---- + --- -**`key`** **string** + **`supply`** **integer** -채널 키 + 공급가액 ---- + --- -**`type`** **\*** **ChannelType** + **`discount`** **\*** **integer** -채널 유형 + 할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) -`"LIVE"`, `"TEST"` + --- ---- + **`paid`** **\*** **integer** -**`pg_provider`** **\*** **PgProvider** + 실제 결제 금액 -결제대행사(PG사) + --- -`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` + **`cancelled`** **\*** **integer** ---- + 취소 금액 -**`pg_merchant_id`** **\*** **string** + --- -PG사에 등록된 고객사 ID + **`cancelled_tax_free`** **\*** **integer** ---- + 취소 금액 중 면세 금액 -
+ --- +
---- + --- -**`schedule_id`** **string** + **`customer`** **\*** **Customer** -예약결제 ID - 예약결제에만 해당됩니다. + 구매자 정보 ---- +
+

Customer

-**`billing_key`** **string** + **`id`** **string** -결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. + 구매자 ID ---- + --- -**`notifications`** **Array\[notification_Notification]** + **`name`** **string** -웹훅 발송 내역 + 구매자 이름 -
-

notification_Notification

+ --- -**`webhook`** **Webhook** + **`birthYear`** **string** -웹훅 정보 + 구매자 생년 ---- + --- -
+ **`gender`** **Gender** ---- + `"MALE"`, `"FEMALE"`, `"OTHER"` -**`status_updated_at`** **string** + --- -상태변경시각 + **`email`** **string** ---- + 구매자 이메일 -**`updated_at`** **\*** **string** + --- -수정 시각 + **`phone_number`** **string** ---- + 구매자 전화번호 -**`order_name`** **\*** **string** + --- -주문명 + **`one_line_address`** **string** ---- + 구매자 주소 (한 줄) -**`status`** **\*** **TransactionStatus** + --- -결제 건의 상태를 나타내는 enum string + **`separated_address`** **SeparatedAddress** -`"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` + 구매자 주소 (단위별) ---- + --- -**`amount`** **\*** **TransactionAmount** + **`zipcode`** **string** -결제 금액 및 통화 관련 세부 정보 + 구매자 우편번호 -
-

TransactionAmount

+ --- +
-**`currency`** **\*** **Currency** + --- -통화 + **`origin`** **\*** **Origin** -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + 결제를 요청한 근원에 대한 정보 ---- +
+

Origin

-**`total`** **\*** **integer** + **`platform_type`** **\*** **string** -결제 요청 금액 + 결제를 요청한 단말의 플랫폼 분류 ---- + `"PC"`, `"MOBILE"`, `"API"` -**`tax_free`** **\*** **integer** + --- -면세금액 + **`user_agent`** **string** ---- + 결제근원의 환경 정보 (Http 의 User-Agent header value) -**`vat`** **integer** + --- -부가세 + **`url`** **string** ---- + 결제근원의 페이지 url -**`supply`** **integer** + --- -공급가액 + **`ip_address`** **\*** **string** ---- + 결제근원의 IP 주소 -**`discount`** **\*** **integer** + --- +
-할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) + --- ---- + **`is_cultural_expense`** **boolean** -**`paid`** **\*** **integer** + 문화비 지출 여부 -실제 결제 금액 + --- ---- + **`is_escrow`** **\*** **boolean** -**`cancelled`** **\*** **integer** + 에스크로 여부 -취소 금액 + --- ---- + **`escrow_detail`** **EscrowDetail** -**`cancelled_tax_free`** **\*** **integer** + 에스크로 결제 정보 -취소 금액 중 면세 금액 +
+

EscrowDetail

---- + **`company`** **\*** **string** -
+ 택배사 ---- + --- -**`customer`** **\*** **Customer** + **`invoice_number`** **\*** **string** -구매자 정보 + 송장번호 -
-

Customer

+ --- -**`id`** **string** + **`status`** **EscrowStatus** -구매자 ID + 에스크로 상태 ---- + `"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` -**`name`** **string** + --- -구매자 이름 + **`sent_at`** **string** ---- + 발송 일시 (배송이 발송되었을 경우 제공) -**`birthYear`** **string** + --- -구매자 생년 + **`applied_at`** **string** ---- + 배송등록 처리 일자 -**`gender`** **Gender** + --- +
-`"MALE"`, `"FEMALE"`, `"OTHER"` + --- ---- + **`products`** **Array\[Product]** -**`email`** **string** + 상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. -구매자 이메일 +
+

Product

---- + **`id`** **\*** **string** -**`phone_number`** **string** + 상품 ID -구매자 전화번호 + --- ---- + **`name`** **\*** **string** -**`one_line_address`** **string** + 상품명 -구매자 주소 (한 줄) + --- ---- + **`tag`** **string** -**`separated_address`** **SeparatedAddress** + 상품 태그(카테고리) -구매자 주소 (단위별) + --- ---- + **`code`** **string** -**`zipcode`** **string** + 상품 코드 -구매자 우편번호 + --- ---- + **`amount`** **\*** **integer** -
+ 상품 단위가격 ---- + --- -**`origin`** **\*** **Origin** + **`quantity`** **\*** **integer** -결제를 요청한 근원에 대한 정보 + 주문 수량 -
-

Origin

+ --- +
-**`platform_type`** **\*** **string** + --- -결제를 요청한 단말의 플랫폼 분류 + **`product_count`** **integer** -`"PC"`, `"MOBILE"`, `"API"` + 상품 갯수 ---- + --- -**`user_agent`** **string** + **`custom_data`** **string** -결제근원의 환경 정보 (Http 의 User-Agent header value) + 고객사의 결제 데이터 추가 정보 ---- + --- -**`url`** **string** + **`requested_at`** **\*** **string** -결제근원의 페이지 url + 결제요청시각 ---- + --- -**`ip_address`** **\*** **string** + **`promotion_id`** **string** -결제근원의 IP 주소 + 포트원 프로모션 아이디 ---- + --- -
+ **`failure`** **PaymentFailure** ---- + 결제 실패 정보 -**`is_cultural_expense`** **boolean** +
+

PaymentFailure

-문화비 지출 여부 + **`reason`** **string** ---- + 실패 이유 -**`is_escrow`** **\*** **boolean** + --- -에스크로 여부 + **`pg_code`** **string** ---- + PG사 전달 에러 코드 -**`escrow_detail`** **EscrowDetail** + --- -에스크로 결제 정보 + **`pg_message`** **string** -
-

EscrowDetail

+ PG사 전달 에러 메세지 -**`company`** **\*** **string** + --- +
-택배사 + --- ---- + **`failed_at`** **string** -**`invoice_number`** **\*** **string** + 결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. -송장번호 + --- ---- + **`country`** **Country** -**`status`** **EscrowStatus** + 국가 코드 -에스크로 상태 + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -`"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` + --- ---- + **`paid_at`** **string** -**`sent_at`** **string** + 결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -발송 일시 (배송이 발송되었을 경우 제공) + --- ---- + **`payment_method_detail`** **PaymentMethodDetail** -**`applied_at`** **string** + 결제 수단 정보 -배송등록 처리 일자 +
+

PaymentMethodDetail

---- + **`card`** **Card** -
+ 카드 결제 정보 ---- + --- -**`products`** **Array\[Product]** + **`transfer`** **Transfer** -상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. + 계좌이체 정보 -
-

Product

+ --- -**`id`** **\*** **string** + **`virtual_account`** **VirtualAccount** -상품 ID + 가상계좌 결제 정보 ---- + --- -**`name`** **\*** **string** + **`mobile`** **Mobile** -상품명 + 모바일결제 정보 ---- + --- -**`tag`** **string** + **`gift_certificate`** **GiftCertificate** -상품 태그(카테고리) + 상품권 결제 정보 ---- + --- -**`code`** **string** + **`easy_pay`** **EasyPay** -상품 코드 + 간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) ---- + --- +
-**`amount`** **\*** **integer** + --- -상품 단위가격 + **`pg_tx_id`** **string** ---- + PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -**`quantity`** **\*** **integer** + --- -주문 수량 + **`pg_response`** **string** ---- + PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -
+ --- ---- + **`cash_receipt`** **CashReceiptDetail** -**`product_count`** **integer** + 현금영수증 정보 -상품 갯수 +
+

CashReceiptDetail

---- + **`pg_receipt_id`** **string** -**`custom_data`** **string** + PG사 현금영수증 발급 ID -고객사의 결제 데이터 추가 정보 + --- ---- + **`issue_number`** **\*** **string** -**`requested_at`** **\*** **string** + 현금영수증 승인번호 -결제요청시각 + --- ---- + **`type`** **CashReceiptType** -**`promotion_id`** **string** + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` -포트원 프로모션 아이디 + --- ---- + **`amount`** **\*** **integer** -**`failure`** **PaymentFailure** + 금액 -결제 실패 정보 + --- -
-

PaymentFailure

+ **`tax_free_amount`** **integer** -**`reason`** **string** + 면세금액 -실패 이유 + --- ---- + **`status`** **CashReceiptStatus** -**`pg_code`** **string** + `"ISSUED"`, `"CANCELLED"` -PG사 전달 에러 코드 + --- ---- + **`issued_at`** **\*** **string** -**`pg_message`** **string** + 발급일시 -PG사 전달 에러 메세지 + --- ---- + **`cancelled_at`** **string** -
+ 취소일시 (`status`가 `CANCELLED`인 경우 제공) ---- + --- -**`failed_at`** **string** + **`receipt_url`** **string** -결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. + 영수증 url ---- + --- +
-**`country`** **Country** + --- -국가 코드 + **`cancellations`** **Array\[Cancellation]** -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + 취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. ---- +
+

Cancellation

-**`paid_at`** **string** + **`id`** **\*** **string** -결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + 취소 ID ---- + --- -**`payment_method_detail`** **PaymentMethodDetail** + **`pg_cancellation_id`** **\*** **string** -결제 수단 정보 + PG사 취소 ID -
-

PaymentMethodDetail

+ --- -**`card`** **Card** + **`cancel_amount`** **\*** **integer** -카드 결제 정보 + 취소 금액 ---- + --- -**`transfer`** **Transfer** + **`tax_free_amount`** **\*** **integer** -계좌이체 정보 + 취소 면세 금액 ---- + --- -**`virtual_account`** **VirtualAccount** + **`easy_pay_discount_amount`** **integer** -가상계좌 결제 정보 + 적립형 포인트의 환불 금액 ---- + --- -**`mobile`** **Mobile** + **`reason`** **\*** **string** -모바일결제 정보 + 취소 사유 ---- + --- -**`gift_certificate`** **GiftCertificate** + **`cancelled_at`** **string** -상품권 결제 정보 + 취소일시 ---- + --- -**`easy_pay`** **EasyPay** + **`requested_at`** **\*** **string** -간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) + 취소요청일시 ---- + --- -
+ **`status`** **\*** **CancellationStatus** ---- + 취소 상태 -**`pg_tx_id`** **string** + `"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` -PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + --- +
---- + --- -**`pg_response`** **string** + **`cancelled_at`** **string** -PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + 결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. ---- + --- +
-**`cash_receipt`** **CashReceiptDetail** + + **`bank_code`** **string** -현금영수증 정보 + 표준 은행 코드 -
-

CashReceiptDetail

+ --- + -**`pg_receipt_id`** **string** + + **`bank_code`** **string** -PG사 현금영수증 발급 ID + 표준 은행 코드 ---- + --- -**`issue_number`** **\*** **string** + **`account_number`** **\*** **string** -현금영수증 승인번호 + 계좌번호 ---- + --- -**`type`** **CashReceiptType** + **`account_type`** **VirtualAccountType** -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + 계좌 유형 ---- + `"FIXED"`, `"NORMAL"` -**`amount`** **\*** **integer** + --- -금액 + **`remittee_name`** **string** ---- + 계좌주 -**`tax_free_amount`** **integer** + --- -면세금액 + **`remitter_name`** **string** ---- + 송금인 (입금자) -**`status`** **CashReceiptStatus** + --- -`"ISSUED"`, `"CANCELLED"` + **`expired_at`** **string** ---- + 입금만료시점 -**`issued_at`** **\*** **string** + --- -발급일시 + **`issued_at`** **string** ---- + 계좌발급시점 -**`cancelled_at`** **string** + --- -취소일시 (`status`가 `CANCELLED`인 경우 제공) + **`refund_status`** **RefundStatus** ---- + 가상계좌 결제가 환불 단계일 때의 환불 상태 -**`receipt_url`** **string** + `"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` -영수증 url + --- + ---- + + **`id`** **\*** **string** -
+ 웹훅 ID ---- + --- -**`cancellations`** **Array\[Cancellation]** + **`status`** **WebhookStatus** -취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. + 웹훅 전송 상태 -
-

Cancellation

+ `"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` -**`id`** **\*** **string** + --- -취소 ID + **`type`** **WebhookType** ---- + 웹훅 유형 -**`pg_cancellation_id`** **\*** **string** + `"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` -PG사 취소 ID + --- ---- + **`url`** **\*** **string** -**`cancel_amount`** **\*** **integer** + 웹훅이 발송된 url -취소 금액 + --- ---- + **`is_async`** **boolean** -**`tax_free_amount`** **\*** **integer** + 비동기 웹훅 여부 -취소 면세 금액 + --- ---- + **`current_execution`** **integer** -**`easy_pay_discount_amount`** **integer** + 현재 발송 횟수 -적립형 포인트의 환불 금액 + --- ---- + **`max_execution`** **integer** -**`reason`** **\*** **string** + 최대 발송 횟수 -취소 사유 + --- ---- + **`webhook_trigger`** **WebhookTrigger** -**`cancelled_at`** **string** + 웹훅 실행 주체 -취소일시 + `"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` ---- + --- -**`requested_at`** **\*** **string** + **`request`** **WebhookRequest** -취소요청일시 + 웹훅 요청 정보 ---- +
+

WebhookRequest

-**`status`** **\*** **CancellationStatus** + **`header`** **object** -취소 상태 + 요청 header -`"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` + --- ---- + **`body`** **\*** **string** -
+ 요청 body ---- + --- -**`cancelled_at`** **string** + **`requested_at`** **string** -결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. + 요청 시각 ---- + --- +
-
+ --- - -**`bank_code`** **string** + **`response`** **WebhookResponse** -표준 은행 코드 + 웹훅 응답 정보 ---- +
+

WebhookResponse

- + **`code`** **\*** **string** - -**`bank_code`** **string** + 웹훅 응답 http 코드 -표준 은행 코드 + --- ---- + **`header`** **\*** **object** -**`account_number`** **\*** **string** + 응답 header -계좌번호 + --- ---- + **`body`** **\*** **string** -**`account_type`** **VirtualAccountType** + 응답 body -계좌 유형 + --- -`"FIXED"`, `"NORMAL"` + **`responded_at`** **\*** **string** ---- + 응답 시각 -**`remittee_name`** **string** + --- +
-계좌주 + --- ---- + **`triggered_at`** **string** -**`remitter_name`** **string** + 웹훅 처리 시작 시각 -송금인 (입금자) + --- +
+
+ ---- + + + + **`code`** **\*** **string** -**`expired_at`** **string** + `"UNAUTHORIZED"` -입금만료시점 + --- ---- + **`params`** **object** -**`issued_at`** **string** + 에러 세부사항 -계좌발급시점 + --- + + + ---- + + + + **`code`** **\*** **string** -**`refund_status`** **RefundStatus** + `"PORTONE_ERROR"` -가상계좌 결제가 환불 단계일 때의 환불 상태 + --- -`"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` + **`params`** **object** ---- + 에러 세부사항 - + --- + + + + - -**`id`** **\*** **string** +## ⌨ 결제내역 대용량 다건조회 -웹훅 ID + + + Payment의 생성일시를 기준으로 모든 결제내역들을 조회할 수 있는 결제내역 대용량 다건조회 API입니다. + ---- + ### Parameters -**`status`** **WebhookStatus** + #### Query -웹훅 전송 상태 + + 하위 상점 ID - Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 결제건을 조회합니다. + -`"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` + + Payment 생성시각 범위의 시작 - 값을 넣지 않으면 ---- + `end` -**`type`** **WebhookType** + 의 90일 전으로 설정됩니다. + -웹훅 유형 + + Payment 생성시각 범위의 끝 - 값을 넣지 않으면 현재 시각으로 설정됩니다. + -`"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` + + 결제내역 리스트 중 어디서부터 읽어야 할지 가리키는 값입니다. 최초 요청일 경우 값을 입력하지 마시되, 두번째 요청 부터는 이전 요청 응답값의 cursor를 입력해주시면 됩니다. + ---- + + 페이지 크기 (최대 1000까지 허용) + -**`url`** **\*** **string** + ### Responses -웹훅이 발송된 url + + + + **`payments`** **\*** **Array\[Payment]** ---- + 결제내역 -**`is_async`** **boolean** +
+

Payment

-비동기 웹훅 여부 + **`id`** **\*** **string** ---- + 고객사에서 입력한 결제 ID -**`current_execution`** **integer** + --- -현재 발송 횟수 + **`merchant_id`** **\*** **string** ---- + 고객사 ID -**`max_execution`** **integer** + --- -최대 발송 횟수 + **`store_id`** **\*** **string** ---- + 하위 상점 ID -**`webhook_trigger`** **WebhookTrigger** + --- -웹훅 실행 주체 + **`transactions`** **\*** **Array\[Transaction]** -`"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` + 동일한 `payment_id`로 결제시도된 결제내역들 ---- + --- +
-**`request`** **WebhookRequest** + --- -웹훅 요청 정보 + **`cursor`** **string** -
-

WebhookRequest

+ 결제내역 리스트 중 어디까지 읽었는지를 나타냅니다. -**`header`** **object** + --- + -요청 header + + **`detail`** **CardDetail** ---- + 카드 정보 -**`body`** **\*** **string** +
+

CardDetail

-요청 body + **`publisher`** **string** ---- + 발행사 코드 -**`requested_at`** **string** + --- -요청 시각 + **`issuer`** **string** ---- + 발급사 코드 -
+ --- ---- + **`brand`** **CardBrand** -**`response`** **WebhookResponse** + 카드 브랜드 -웹훅 응답 정보 + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` -
-

WebhookResponse

+ --- -**`code`** **\*** **string** + **`card_type`** **CardType** -웹훅 응답 http 코드 + 카드 종류 ---- + `"CREDIT"`, `"DEBIT"`, `"GIFT"` -**`header`** **\*** **object** + --- -응답 header + **`card_owner_type`** **CardOwnerType** ---- + 카드 소유주 유형 -**`body`** **\*** **string** + `"PERSONAL"`, `"CORPORATE"` -응답 body + --- ---- + **`bin`** **string** -**`responded_at`** **\*** **string** + 카드 빈넘버 -응답 시각 + --- ---- + **`name`** **string** -
+ 카드전표인자명 ---- + --- +
-**`triggered_at`** **string** + --- -웹훅 처리 시작 시각 + **`number`** **string** ---- + 마스킹된 카드 번호 -
-
+ --- -
+ **`approval_number`** **string** - - - -**`code`** **\*** **string** + 승인 번호 -`"UNAUTHORIZED"` + --- ---- + **`installment`** **Installment** -**`params`** **object** + 할부 정보 -에러 세부사항 +
+

Installment

---- + **`month`** **\*** **integer** - - + 할부 개월 수 - + --- - - - -**`code`** **\*** **string** + **`is_interest_free`** **\*** **boolean** -`"PORTONE_ERROR"` + 무이자할부 여부 ---- + --- +
-**`params`** **object** + --- -에러 세부사항 + **`card_point_used`** **boolean** ---- + 카드 포인트 사용여부 -
-
+ --- +
- + + **`publisher`** **string** - + 발행사 코드 -## ⌨ 결제내역 대용량 다건조회 + --- - - -Payment의 생성일시를 기준으로 모든 결제내역들을 조회할 수 있는 결제내역 대용량 다건조회 API입니다. + **`issuer`** **string** - + 발급사 코드 -### Parameters + --- -#### Query + **`brand`** **CardBrand** - -하위 상점 ID - Merchant 사용자만 사용가능하며, 지정되지 않은 경우 고객사 전체 결제건을 조회합니다. + 카드 브랜드 - - -Payment 생성시각 범위의 시작 - 값을 넣지 않으면 + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` -`end` + --- -의 90일 전으로 설정됩니다. + **`card_type`** **CardType** - - -Payment 생성시각 범위의 끝 - 값을 넣지 않으면 현재 시각으로 설정됩니다. + 카드 종류 - - -결제내역 리스트 중 어디서부터 읽어야 할지 가리키는 값입니다. 최초 요청일 경우 값을 입력하지 마시되, 두번째 요청 부터는 이전 요청 응답값의 cursor를 입력해주시면 됩니다. + `"CREDIT"`, `"DEBIT"`, `"GIFT"` - - -페이지 크기 (최대 1000까지 허용) + --- - + **`card_owner_type`** **CardOwnerType** -### Responses + 카드 소유주 유형 - - - -**`payments`** **\*** **Array\[Payment]** + `"PERSONAL"`, `"CORPORATE"` -결제내역 + --- -
-

Payment

+ **`bin`** **string** -**`id`** **\*** **string** + 카드 빈넘버 -고객사에서 입력한 결제 ID + --- ---- + **`name`** **string** -**`merchant_id`** **\*** **string** + 카드전표인자명 -고객사 ID + --- + ---- + + **`easy_pay_provider`** **\*** **EasyPayProvider** -**`store_id`** **\*** **string** + 간편결제 PG사 -하위 상점 ID + `"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` ---- + --- -**`transactions`** **\*** **Array\[Transaction]** + **`card`** **Card** -동일한 `payment_id`로 결제시도된 결제내역들 + 카드 결제 정보 ---- +
+

Card

-
+ **`detail`** **CardDetail** ---- + 카드 정보 -**`cursor`** **string** + --- -결제내역 리스트 중 어디까지 읽었는지를 나타냅니다. + **`number`** **string** ---- + 마스킹된 카드 번호 -
+ --- - -**`detail`** **CardDetail** + **`approval_number`** **string** -카드 정보 + 승인 번호 -
-

CardDetail

+ --- -**`publisher`** **string** + **`installment`** **Installment** -발행사 코드 + 할부 정보 ---- + --- -**`issuer`** **string** + **`card_point_used`** **boolean** -발급사 코드 + 카드 포인트 사용여부 ---- + --- +
-**`brand`** **CardBrand** + --- -카드 브랜드 + **`charge`** **Charge** -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + 충전식 포인트 결제 정보 ---- +
+

Charge

-**`card_type`** **CardType** + **`bank_code`** **string** -카드 종류 + 표준 은행 코드 (계좌 이체시 입력됨) -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + --- +
---- + --- -**`card_owner_type`** **CardOwnerType** + **`transfer`** **Transfer** -카드 소유주 유형 + 계좌이체 정보 -`"PERSONAL"`, `"CORPORATE"` +
+

Transfer

---- + **`bank_code`** **string** -**`bin`** **string** + 표준 은행 코드 -카드 빈넘버 + --- +
---- + --- +
+ -**`name`** **string** + + + **`type`** **GiftCertificateType** -카드전표인자명 + `"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` ---- + --- -
+ **`approval_number`** **\*** **string** ---- + 상품권 승인번호 -**`number`** **string** + --- +
-마스킹된 카드 번호 + + **`month`** **\*** **integer** ---- + 할부 개월 수 -**`approval_number`** **string** + --- -승인 번호 + **`is_interest_free`** **\*** **boolean** ---- + 무이자할부 여부 -**`installment`** **Installment** + --- + -할부 정보 + + **`carrier`** **Carrier** -
-

Installment

+ 통신사 -**`month`** **\*** **integer** + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` -할부 개월 수 + --- ---- + **`phone_number`** **string** -**`is_interest_free`** **\*** **boolean** + 휴대전화번호 -무이자할부 여부 + --- + ---- + + **`country`** **Country** -
+ 국가 코드 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -**`card_point_used`** **boolean** + --- -카드 포인트 사용여부 + **`province`** **string** ---- + 시/도/구 -
+ --- - -**`publisher`** **string** + **`city`** **string** -발행사 코드 + 도시 ---- + --- -**`issuer`** **string** + **`address_line_1`** **\*** **string** -발급사 코드 + 일반 주소 ---- + --- -**`brand`** **CardBrand** + **`address_line_2`** **\*** **string** -카드 브랜드 + 상세 주소 -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + --- + +
---- + + + **`id`** **\*** **string** -**`card_type`** **CardType** + 포트원 채번 거래번호 -카드 종류 + --- -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + **`is_primary`** **\*** **boolean** ---- + 대표 트랜잭션 여부 -**`card_owner_type`** **CardOwnerType** + --- -카드 소유주 유형 + **`version`** **\*** **Version** -`"PERSONAL"`, `"CORPORATE"` + 포트원 내부 결제시스템 버전 ---- + `"V1"`, `"V2"` -**`bin`** **string** + --- -카드 빈넘버 + **`method`** **PaymentMethod** ---- + 결제수단 목록 -**`name`** **string** + `"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` -카드전표인자명 + --- ---- + **`channel`** **Channel** - + 결제 채널 정보 - -**`easy_pay_provider`** **\*** **EasyPayProvider** +
+

Channel

-간편결제 PG사 + **`id`** **string** -`"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` + 채널 ID ---- + --- -**`card`** **Card** + **`name`** **string** -카드 결제 정보 + 채널 이름 -
-

Card

+ --- -**`detail`** **CardDetail** + **`key`** **string** -카드 정보 + 채널 키 ---- + --- -**`number`** **string** + **`type`** **\*** **ChannelType** -마스킹된 카드 번호 + 채널 유형 ---- + `"LIVE"`, `"TEST"` -**`approval_number`** **string** + --- -승인 번호 + **`pg_provider`** **\*** **PgProvider** ---- + 결제대행사(PG사) -**`installment`** **Installment** + `"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` -할부 정보 + --- ---- + **`pg_merchant_id`** **\*** **string** -**`card_point_used`** **boolean** + PG사에 등록된 고객사 ID -카드 포인트 사용여부 + --- +
---- + --- -
+ **`schedule_id`** **string** ---- + 예약결제 ID - 예약결제에만 해당됩니다. -**`charge`** **Charge** + --- -충전식 포인트 결제 정보 + **`billing_key`** **string** -
-

Charge

+ 결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. -**`bank_code`** **string** + --- -표준 은행 코드 (계좌 이체시 입력됨) + **`notifications`** **Array\[notification\_Notification]** ---- + 웹훅 발송 내역 -
+
+

notification\_Notification

---- + **`webhook`** **Webhook** -**`transfer`** **Transfer** + 웹훅 정보 -계좌이체 정보 + --- +
-
-

Transfer

+ --- -**`bank_code`** **string** + **`status_updated_at`** **string** -표준 은행 코드 + 상태변경시각 ---- + --- -
+ **`updated_at`** **\*** **string** ---- + 수정 시각 -
-
+ --- - - -**`type`** **GiftCertificateType** + **`order_name`** **\*** **string** -`"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` + 주문명 ---- + --- -**`approval_number`** **\*** **string** + **`status`** **\*** **TransactionStatus** -상품권 승인번호 + 결제 건의 상태를 나타내는 enum string ---- + `"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` - + --- - -**`month`** **\*** **integer** + **`amount`** **\*** **TransactionAmount** -할부 개월 수 + 결제 금액 및 통화 관련 세부 정보 ---- +
+

TransactionAmount

-**`is_interest_free`** **\*** **boolean** + **`currency`** **\*** **Currency** -무이자할부 여부 + 통화 ---- + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` - + --- - -**`carrier`** **Carrier** + **`total`** **\*** **integer** -통신사 + 결제 요청 금액 -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + --- ---- + **`tax_free`** **\*** **integer** -**`phone_number`** **string** + 면세금액 -휴대전화번호 + --- ---- + **`vat`** **integer** - + 부가세 - -**`country`** **Country** + --- -국가 코드 + **`supply`** **integer** -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + 공급가액 ---- + --- -**`province`** **string** + **`discount`** **\*** **integer** -시/도/구 + 할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) ---- + --- -**`city`** **string** + **`paid`** **\*** **integer** -도시 + 실제 결제 금액 ---- + --- -**`address_line_1`** **\*** **string** + **`cancelled`** **\*** **integer** -일반 주소 + 취소 금액 ---- + --- -**`address_line_2`** **\*** **string** + **`cancelled_tax_free`** **\*** **integer** -상세 주소 + 취소 금액 중 면세 금액 ---- + --- +
-
-
+ --- - - -**`id`** **\*** **string** + **`customer`** **\*** **Customer** -포트원 채번 거래번호 + 구매자 정보 ---- +
+

Customer

-**`is_primary`** **\*** **boolean** + **`id`** **string** -대표 트랜잭션 여부 + 구매자 ID ---- + --- -**`version`** **\*** **Version** + **`name`** **string** -포트원 내부 결제시스템 버전 + 구매자 이름 -`"V1"`, `"V2"` + --- ---- + **`birthYear`** **string** -**`method`** **PaymentMethod** + 구매자 생년 -결제수단 목록 + --- -`"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` + **`gender`** **Gender** ---- + `"MALE"`, `"FEMALE"`, `"OTHER"` -**`channel`** **Channel** + --- -결제 채널 정보 + **`email`** **string** -
-

Channel

+ 구매자 이메일 -**`id`** **string** + --- -채널 ID + **`phone_number`** **string** ---- + 구매자 전화번호 -**`name`** **string** + --- -채널 이름 + **`one_line_address`** **string** ---- + 구매자 주소 (한 줄) -**`key`** **string** + --- -채널 키 + **`separated_address`** **SeparatedAddress** ---- + 구매자 주소 (단위별) -**`type`** **\*** **ChannelType** + --- -채널 유형 + **`zipcode`** **string** -`"LIVE"`, `"TEST"` + 구매자 우편번호 ---- + --- +
-**`pg_provider`** **\*** **PgProvider** + --- -결제대행사(PG사) + **`origin`** **\*** **Origin** -`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` + 결제를 요청한 근원에 대한 정보 ---- +
+

Origin

-**`pg_merchant_id`** **\*** **string** + **`platform_type`** **\*** **string** -PG사에 등록된 고객사 ID + 결제를 요청한 단말의 플랫폼 분류 ---- + `"PC"`, `"MOBILE"`, `"API"` -
+ --- ---- + **`user_agent`** **string** -**`schedule_id`** **string** + 결제근원의 환경 정보 (Http 의 User-Agent header value) -예약결제 ID - 예약결제에만 해당됩니다. + --- ---- + **`url`** **string** -**`billing_key`** **string** + 결제근원의 페이지 url -결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. + --- ---- + **`ip_address`** **\*** **string** -**`notifications`** **Array\[notification_Notification]** + 결제근원의 IP 주소 -웹훅 발송 내역 + --- +
-
-

notification_Notification

+ --- -**`webhook`** **Webhook** + **`is_cultural_expense`** **boolean** -웹훅 정보 + 문화비 지출 여부 ---- + --- -
+ **`is_escrow`** **\*** **boolean** ---- + 에스크로 여부 -**`status_updated_at`** **string** + --- -상태변경시각 + **`escrow_detail`** **EscrowDetail** ---- + 에스크로 결제 정보 -**`updated_at`** **\*** **string** +
+

EscrowDetail

-수정 시각 + **`company`** **\*** **string** ---- + 택배사 -**`order_name`** **\*** **string** + --- -주문명 + **`invoice_number`** **\*** **string** ---- + 송장번호 -**`status`** **\*** **TransactionStatus** + --- -결제 건의 상태를 나타내는 enum string + **`status`** **EscrowStatus** -`"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` + 에스크로 상태 ---- + `"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` -**`amount`** **\*** **TransactionAmount** + --- -결제 금액 및 통화 관련 세부 정보 + **`sent_at`** **string** -
-

TransactionAmount

+ 발송 일시 (배송이 발송되었을 경우 제공) -**`currency`** **\*** **Currency** + --- -통화 + **`applied_at`** **string** -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + 배송등록 처리 일자 ---- + --- +
-**`total`** **\*** **integer** + --- -결제 요청 금액 + **`products`** **Array\[Product]** ---- + 상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. -**`tax_free`** **\*** **integer** +
+

Product

-면세금액 + **`id`** **\*** **string** ---- + 상품 ID -**`vat`** **integer** + --- -부가세 + **`name`** **\*** **string** ---- + 상품명 -**`supply`** **integer** + --- -공급가액 + **`tag`** **string** ---- + 상품 태그(카테고리) -**`discount`** **\*** **integer** + --- -할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) + **`code`** **string** ---- + 상품 코드 -**`paid`** **\*** **integer** + --- -실제 결제 금액 + **`amount`** **\*** **integer** ---- + 상품 단위가격 -**`cancelled`** **\*** **integer** + --- -취소 금액 + **`quantity`** **\*** **integer** ---- + 주문 수량 -**`cancelled_tax_free`** **\*** **integer** + --- +
-취소 금액 중 면세 금액 + --- ---- + **`product_count`** **integer** -
+ 상품 갯수 ---- + --- -**`customer`** **\*** **Customer** + **`custom_data`** **string** -구매자 정보 + 고객사의 결제 데이터 추가 정보 -
-

Customer

+ --- -**`id`** **string** + **`requested_at`** **\*** **string** -구매자 ID + 결제요청시각 ---- + --- -**`name`** **string** + **`promotion_id`** **string** -구매자 이름 + 포트원 프로모션 아이디 ---- + --- -**`birthYear`** **string** + **`failure`** **PaymentFailure** -구매자 생년 + 결제 실패 정보 ---- +
+

PaymentFailure

-**`gender`** **Gender** + **`reason`** **string** -`"MALE"`, `"FEMALE"`, `"OTHER"` + 실패 이유 ---- + --- -**`email`** **string** + **`pg_code`** **string** -구매자 이메일 + PG사 전달 에러 코드 ---- + --- -**`phone_number`** **string** + **`pg_message`** **string** -구매자 전화번호 + PG사 전달 에러 메세지 ---- + --- +
-**`one_line_address`** **string** + --- -구매자 주소 (한 줄) + **`failed_at`** **string** ---- + 결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. -**`separated_address`** **SeparatedAddress** + --- -구매자 주소 (단위별) + **`country`** **Country** ---- + 국가 코드 -**`zipcode`** **string** + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -구매자 우편번호 + --- ---- + **`paid_at`** **string** -
+ 결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. ---- + --- -**`origin`** **\*** **Origin** + **`payment_method_detail`** **PaymentMethodDetail** -결제를 요청한 근원에 대한 정보 + 결제 수단 정보 -
-

Origin

+
+

PaymentMethodDetail

-**`platform_type`** **\*** **string** + **`card`** **Card** -결제를 요청한 단말의 플랫폼 분류 + 카드 결제 정보 -`"PC"`, `"MOBILE"`, `"API"` + --- ---- + **`transfer`** **Transfer** -**`user_agent`** **string** + 계좌이체 정보 -결제근원의 환경 정보 (Http 의 User-Agent header value) + --- ---- + **`virtual_account`** **VirtualAccount** -**`url`** **string** + 가상계좌 결제 정보 -결제근원의 페이지 url + --- ---- + **`mobile`** **Mobile** -**`ip_address`** **\*** **string** + 모바일결제 정보 -결제근원의 IP 주소 + --- ---- + **`gift_certificate`** **GiftCertificate** -
+ 상품권 결제 정보 ---- - -**`is_cultural_expense`** **boolean** - -문화비 지출 여부 - ---- + --- -**`is_escrow`** **\*** **boolean** + **`easy_pay`** **EasyPay** -에스크로 여부 + 간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) ---- + --- +
-**`escrow_detail`** **EscrowDetail** + --- -에스크로 결제 정보 + **`pg_tx_id`** **string** -
-

EscrowDetail

+ PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -**`company`** **\*** **string** + --- -택배사 + **`pg_response`** **string** ---- + PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -**`invoice_number`** **\*** **string** + --- -송장번호 + **`cash_receipt`** **CashReceiptDetail** ---- + 현금영수증 정보 -**`status`** **EscrowStatus** +
+

CashReceiptDetail

-에스크로 상태 + **`pg_receipt_id`** **string** -`"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` + PG사 현금영수증 발급 ID ---- + --- -**`sent_at`** **string** + **`issue_number`** **\*** **string** -발송 일시 (배송이 발송되었을 경우 제공) + 현금영수증 승인번호 ---- + --- -**`applied_at`** **string** + **`type`** **CashReceiptType** -배송등록 처리 일자 + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` ---- + --- -
+ **`amount`** **\*** **integer** ---- + 금액 -**`products`** **Array\[Product]** + --- -상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. + **`tax_free_amount`** **integer** -
-

Product

+ 면세금액 -**`id`** **\*** **string** + --- -상품 ID + **`status`** **CashReceiptStatus** ---- + `"ISSUED"`, `"CANCELLED"` -**`name`** **\*** **string** + --- -상품명 + **`issued_at`** **\*** **string** ---- + 발급일시 -**`tag`** **string** + --- -상품 태그(카테고리) + **`cancelled_at`** **string** ---- + 취소일시 (`status`가 `CANCELLED`인 경우 제공) -**`code`** **string** + --- -상품 코드 + **`receipt_url`** **string** ---- + 영수증 url -**`amount`** **\*** **integer** + --- +
-상품 단위가격 + --- ---- + **`cancellations`** **Array\[Cancellation]** -**`quantity`** **\*** **integer** + 취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. -주문 수량 +
+

Cancellation

---- + **`id`** **\*** **string** -
+ 취소 ID ---- + --- -**`product_count`** **integer** + **`pg_cancellation_id`** **\*** **string** -상품 갯수 + PG사 취소 ID ---- + --- -**`custom_data`** **string** + **`cancel_amount`** **\*** **integer** -고객사의 결제 데이터 추가 정보 + 취소 금액 ---- + --- -**`requested_at`** **\*** **string** + **`tax_free_amount`** **\*** **integer** -결제요청시각 + 취소 면세 금액 ---- + --- -**`promotion_id`** **string** + **`easy_pay_discount_amount`** **integer** -포트원 프로모션 아이디 + 적립형 포인트의 환불 금액 ---- + --- -**`failure`** **PaymentFailure** + **`reason`** **\*** **string** -결제 실패 정보 + 취소 사유 -
-

PaymentFailure

+ --- -**`reason`** **string** + **`cancelled_at`** **string** -실패 이유 + 취소일시 ---- + --- -**`pg_code`** **string** + **`requested_at`** **\*** **string** -PG사 전달 에러 코드 + 취소요청일시 ---- + --- -**`pg_message`** **string** + **`status`** **\*** **CancellationStatus** -PG사 전달 에러 메세지 + 취소 상태 ---- + `"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` -
+ --- +
---- + --- -**`failed_at`** **string** + **`cancelled_at`** **string** -결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. + 결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. ---- + --- +
-**`country`** **Country** + + **`bank_code`** **string** -국가 코드 + 표준 은행 코드 -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + --- + ---- + + **`bank_code`** **string** -**`paid_at`** **string** + 표준 은행 코드 -결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + --- ---- + **`account_number`** **\*** **string** -**`payment_method_detail`** **PaymentMethodDetail** + 계좌번호 -결제 수단 정보 + --- -
-

PaymentMethodDetail

+ **`account_type`** **VirtualAccountType** -**`card`** **Card** + 계좌 유형 -카드 결제 정보 + `"FIXED"`, `"NORMAL"` ---- + --- -**`transfer`** **Transfer** + **`remittee_name`** **string** -계좌이체 정보 + 계좌주 ---- + --- -**`virtual_account`** **VirtualAccount** + **`remitter_name`** **string** -가상계좌 결제 정보 + 송금인 (입금자) ---- + --- -**`mobile`** **Mobile** + **`expired_at`** **string** -모바일결제 정보 + 입금만료시점 ---- + --- -**`gift_certificate`** **GiftCertificate** + **`issued_at`** **string** -상품권 결제 정보 + 계좌발급시점 ---- + --- -**`easy_pay`** **EasyPay** + **`refund_status`** **RefundStatus** -간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) + 가상계좌 결제가 환불 단계일 때의 환불 상태 ---- + `"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` -
+ --- +
---- + + **`id`** **\*** **string** -**`pg_tx_id`** **string** + 웹훅 ID -PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + --- ---- + **`status`** **WebhookStatus** -**`pg_response`** **string** + 웹훅 전송 상태 -PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + `"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` ---- + --- -**`cash_receipt`** **CashReceiptDetail** + **`type`** **WebhookType** -현금영수증 정보 + 웹훅 유형 -
-

CashReceiptDetail

+ `"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` -**`pg_receipt_id`** **string** + --- -PG사 현금영수증 발급 ID + **`url`** **\*** **string** ---- + 웹훅이 발송된 url -**`issue_number`** **\*** **string** + --- -현금영수증 승인번호 + **`is_async`** **boolean** ---- + 비동기 웹훅 여부 -**`type`** **CashReceiptType** + --- -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + **`current_execution`** **integer** ---- + 현재 발송 횟수 -**`amount`** **\*** **integer** + --- -금액 + **`max_execution`** **integer** ---- + 최대 발송 횟수 -**`tax_free_amount`** **integer** + --- -면세금액 + **`webhook_trigger`** **WebhookTrigger** ---- + 웹훅 실행 주체 -**`status`** **CashReceiptStatus** + `"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` -`"ISSUED"`, `"CANCELLED"` + --- ---- + **`request`** **WebhookRequest** -**`issued_at`** **\*** **string** + 웹훅 요청 정보 -발급일시 +
+

WebhookRequest

---- + **`header`** **object** -**`cancelled_at`** **string** + 요청 header -취소일시 (`status`가 `CANCELLED`인 경우 제공) + --- ---- + **`body`** **\*** **string** -**`receipt_url`** **string** + 요청 body -영수증 url + --- ---- + **`requested_at`** **string** -
+ 요청 시각 ---- + --- +
-**`cancellations`** **Array\[Cancellation]** + --- -취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. + **`response`** **WebhookResponse** -
-

Cancellation

+ 웹훅 응답 정보 -**`id`** **\*** **string** +
+

WebhookResponse

-취소 ID + **`code`** **\*** **string** ---- + 웹훅 응답 http 코드 -**`pg_cancellation_id`** **\*** **string** + --- -PG사 취소 ID + **`header`** **\*** **object** ---- + 응답 header -**`cancel_amount`** **\*** **integer** + --- -취소 금액 + **`body`** **\*** **string** ---- + 응답 body -**`tax_free_amount`** **\*** **integer** + --- -취소 면세 금액 + **`responded_at`** **\*** **string** ---- + 응답 시각 -**`easy_pay_discount_amount`** **integer** + --- +
-적립형 포인트의 환불 금액 + --- ---- + **`triggered_at`** **string** -**`reason`** **\*** **string** + 웹훅 처리 시작 시각 -취소 사유 + --- + + + ---- + + + + **`code`** **\*** **string** -**`cancelled_at`** **string** + `"UNAUTHORIZED"` -취소일시 + --- ---- + **`params`** **object** -**`requested_at`** **\*** **string** + 에러 세부사항 -취소요청일시 + --- + + + ---- + + + + **`code`** **\*** **string** -**`status`** **\*** **CancellationStatus** + `"PORTONE_ERROR"` -취소 상태 + --- -`"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` + **`params`** **object** ---- + 에러 세부사항 -
+ --- +
+
+
+
---- +## ⌨ 결제 취소 -**`cancelled_at`** **string** + + -결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. + ### Parameters ---- + #### Path -
+ + 결제 ID + - -**`bank_code`** **string** + #### Query -표준 은행 코드 + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + ---- + #### Body - + + 취소 사유 + - -**`bank_code`** **string** + + 취소 금액 - 값을 넣지 않으면 전액 취소됩니다. + -표준 은행 코드 + + 취소 금액 중 면세 금액 - 값을 넣지 않으면 전액 과세됩니다. + ---- + + 취소 금액 중 부가세 금액 (PG사 기본값: null). 결제 시 부가세를 지정했던 경우 필수 입력 바랍니다. 지원되는 PG사: 나이스페이먼츠(NICE), 이니시스(HTML5\_INICIS), 웰컴페이먼츠(WELCOME) + -**`account_number`** **\*** **string** + + 결제 건의 취소 가능 잔액 - 값을 넣지 않으면 별도의 검증 처리를 수행하지 않습니다. + -계좌번호 + + 환불 계좌 정보 - 가상계좌 결제인 경우에만 기입할 수 있습니다. + ---- + ### Responses -**`account_type`** **VirtualAccountType** + + + + **`cancelled_tx_id`** **\*** **string** -계좌 유형 + 취소 대상 거래 아이디 -`"FIXED"`, `"NORMAL"` + --- ---- + **`cancellation_id`** **\*** **string** -**`remittee_name`** **string** + 취소 아이디 -계좌주 + --- ---- + **`payment`** **\*** **Payment** -**`remitter_name`** **string** + 결제내역 -송금인 (입금자) +
+

Payment

---- + **`id`** **\*** **string** -**`expired_at`** **string** + 고객사에서 입력한 결제 ID -입금만료시점 + --- ---- + **`merchant_id`** **\*** **string** -**`issued_at`** **string** + 고객사 ID -계좌발급시점 + --- ---- + **`store_id`** **\*** **string** -**`refund_status`** **RefundStatus** + 하위 상점 ID -가상계좌 결제가 환불 단계일 때의 환불 상태 + --- -`"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` + **`transactions`** **\*** **Array\[Transaction]** ---- + 동일한 `payment_id`로 결제시도된 결제내역들 - + --- +
- -**`id`** **\*** **string** + --- + -웹훅 ID + + **`detail`** **CardDetail** ---- + 카드 정보 -**`status`** **WebhookStatus** +
+

CardDetail

-웹훅 전송 상태 + **`publisher`** **string** -`"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` + 발행사 코드 ---- + --- -**`type`** **WebhookType** + **`issuer`** **string** -웹훅 유형 + 발급사 코드 -`"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` + --- ---- + **`brand`** **CardBrand** -**`url`** **\*** **string** + 카드 브랜드 -웹훅이 발송된 url + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` ---- + --- -**`is_async`** **boolean** + **`card_type`** **CardType** -비동기 웹훅 여부 + 카드 종류 ---- + `"CREDIT"`, `"DEBIT"`, `"GIFT"` -**`current_execution`** **integer** + --- -현재 발송 횟수 + **`card_owner_type`** **CardOwnerType** ---- + 카드 소유주 유형 -**`max_execution`** **integer** + `"PERSONAL"`, `"CORPORATE"` -최대 발송 횟수 + --- ---- + **`bin`** **string** -**`webhook_trigger`** **WebhookTrigger** + 카드 빈넘버 -웹훅 실행 주체 + --- -`"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` + **`name`** **string** ---- + 카드전표인자명 -**`request`** **WebhookRequest** + --- +
-웹훅 요청 정보 + --- -
-

WebhookRequest

+ **`number`** **string** -**`header`** **object** + 마스킹된 카드 번호 -요청 header + --- ---- + **`approval_number`** **string** -**`body`** **\*** **string** + 승인 번호 -요청 body + --- ---- + **`installment`** **Installment** -**`requested_at`** **string** + 할부 정보 -요청 시각 +
+

Installment

---- + **`month`** **\*** **integer** -
+ 할부 개월 수 ---- + --- -**`response`** **WebhookResponse** + **`is_interest_free`** **\*** **boolean** -웹훅 응답 정보 + 무이자할부 여부 -
-

WebhookResponse

+ --- +
-**`code`** **\*** **string** + --- -웹훅 응답 http 코드 + **`card_point_used`** **boolean** ---- + 카드 포인트 사용여부 -**`header`** **\*** **object** + --- + -응답 header + + **`publisher`** **string** ---- + 발행사 코드 -**`body`** **\*** **string** + --- -응답 body + **`issuer`** **string** ---- + 발급사 코드 -**`responded_at`** **\*** **string** + --- -응답 시각 + **`brand`** **CardBrand** ---- + 카드 브랜드 -
+ `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` ---- + --- -**`triggered_at`** **string** + **`card_type`** **CardType** -웹훅 처리 시작 시각 + 카드 종류 ---- + `"CREDIT"`, `"DEBIT"`, `"GIFT"` -
-
+ --- -
+ **`card_owner_type`** **CardOwnerType** - - - -**`code`** **\*** **string** + 카드 소유주 유형 -`"UNAUTHORIZED"` + `"PERSONAL"`, `"CORPORATE"` ---- + --- -**`params`** **object** + **`bin`** **string** -에러 세부사항 + 카드 빈넘버 ---- + --- - - + **`name`** **string** - + 카드전표인자명 - - - -**`code`** **\*** **string** + --- + -`"PORTONE_ERROR"` + + **`easy_pay_provider`** **\*** **EasyPayProvider** ---- + 간편결제 PG사 -**`params`** **object** + `"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` -에러 세부사항 + --- ---- + **`card`** **Card** - - + 카드 결제 정보 - +
+

Card

- + **`detail`** **CardDetail** -## ⌨ 결제 취소 + 카드 정보 - - + --- - + **`number`** **string** -### Parameters + 마스킹된 카드 번호 -#### Path + --- - -결제 ID + **`approval_number`** **string** - + 승인 번호 -#### Query + --- - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + **`installment`** **Installment** - + 할부 정보 -#### Body + --- - -취소 사유 + **`card_point_used`** **boolean** - - -취소 금액 - 값을 넣지 않으면 전액 취소됩니다. + 카드 포인트 사용여부 - - -취소 금액 중 면세 금액 - 값을 넣지 않으면 전액 과세됩니다. + --- +
-
- -취소 금액 중 부가세 금액 (PG사 기본값: null). 결제 시 부가세를 지정했던 경우 필수 입력 바랍니다. 지원되는 PG사: 나이스페이먼츠(NICE), 이니시스(HTML5_INICIS), 웰컴페이먼츠(WELCOME) + --- - - -결제 건의 취소 가능 잔액 - 값을 넣지 않으면 별도의 검증 처리를 수행하지 않습니다. + **`charge`** **Charge** - - -환불 계좌 정보 - 가상계좌 결제인 경우에만 기입할 수 있습니다. + 충전식 포인트 결제 정보 - +
+

Charge

-### Responses + **`bank_code`** **string** - - - -**`cancelled_tx_id`** **\*** **string** + 표준 은행 코드 (계좌 이체시 입력됨) -취소 대상 거래 아이디 + --- +
---- + --- -**`cancellation_id`** **\*** **string** + **`transfer`** **Transfer** -취소 아이디 + 계좌이체 정보 ---- +
+

Transfer

-**`payment`** **\*** **Payment** + **`bank_code`** **string** -결제내역 + 표준 은행 코드 -
-

Payment

+ --- +
-**`id`** **\*** **string** + --- + + -고객사에서 입력한 결제 ID + + + **`type`** **GiftCertificateType** ---- + `"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` -**`merchant_id`** **\*** **string** + --- -고객사 ID + **`approval_number`** **\*** **string** ---- + 상품권 승인번호 -**`store_id`** **\*** **string** + --- + -하위 상점 ID + + **`month`** **\*** **integer** ---- + 할부 개월 수 -**`transactions`** **\*** **Array\[Transaction]** + --- -동일한 `payment_id`로 결제시도된 결제내역들 + **`is_interest_free`** **\*** **boolean** ---- + 무이자할부 여부 -
+ --- + ---- + + **`carrier`** **Carrier** - + 통신사 - -**`detail`** **CardDetail** + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` -카드 정보 + --- -
-

CardDetail

+ **`phone_number`** **string** -**`publisher`** **string** + 휴대전화번호 -발행사 코드 + --- + ---- + + **`country`** **Country** -**`issuer`** **string** + 국가 코드 -발급사 코드 + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` ---- + --- -**`brand`** **CardBrand** + **`province`** **string** -카드 브랜드 + 시/도/구 -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + --- ---- + **`city`** **string** -**`card_type`** **CardType** + 도시 -카드 종류 + --- -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + **`address_line_1`** **\*** **string** ---- + 일반 주소 -**`card_owner_type`** **CardOwnerType** + --- -카드 소유주 유형 + **`address_line_2`** **\*** **string** -`"PERSONAL"`, `"CORPORATE"` + 상세 주소 ---- + --- + + -**`bin`** **string** + + + **`id`** **\*** **string** -카드 빈넘버 + 포트원 채번 거래번호 ---- + --- -**`name`** **string** + **`is_primary`** **\*** **boolean** -카드전표인자명 + 대표 트랜잭션 여부 ---- + --- -
+ **`version`** **\*** **Version** ---- + 포트원 내부 결제시스템 버전 -**`number`** **string** + `"V1"`, `"V2"` -마스킹된 카드 번호 + --- ---- + **`method`** **PaymentMethod** -**`approval_number`** **string** + 결제수단 목록 -승인 번호 + `"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` ---- + --- -**`installment`** **Installment** + **`channel`** **Channel** -할부 정보 + 결제 채널 정보 -
-

Installment

+
+

Channel

-**`month`** **\*** **integer** + **`id`** **string** -할부 개월 수 + 채널 ID ---- + --- -**`is_interest_free`** **\*** **boolean** + **`name`** **string** -무이자할부 여부 + 채널 이름 ---- + --- -
+ **`key`** **string** ---- + 채널 키 -**`card_point_used`** **boolean** + --- -카드 포인트 사용여부 + **`type`** **\*** **ChannelType** ---- + 채널 유형 - + `"LIVE"`, `"TEST"` - -**`publisher`** **string** + --- -발행사 코드 + **`pg_provider`** **\*** **PgProvider** ---- + 결제대행사(PG사) -**`issuer`** **string** + `"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` -발급사 코드 + --- ---- + **`pg_merchant_id`** **\*** **string** -**`brand`** **CardBrand** + PG사에 등록된 고객사 ID -카드 브랜드 + --- +
-`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + --- ---- + **`schedule_id`** **string** -**`card_type`** **CardType** + 예약결제 ID - 예약결제에만 해당됩니다. -카드 종류 + --- -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + **`billing_key`** **string** ---- + 결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. -**`card_owner_type`** **CardOwnerType** + --- -카드 소유주 유형 + **`notifications`** **Array\[notification\_Notification]** -`"PERSONAL"`, `"CORPORATE"` + 웹훅 발송 내역 ---- +
+

notification\_Notification

-**`bin`** **string** + **`webhook`** **Webhook** -카드 빈넘버 + 웹훅 정보 ---- + --- +
-**`name`** **string** + --- -카드전표인자명 + **`status_updated_at`** **string** ---- + 상태변경시각 -
+ --- - -**`easy_pay_provider`** **\*** **EasyPayProvider** + **`updated_at`** **\*** **string** -간편결제 PG사 + 수정 시각 -`"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` + --- ---- + **`order_name`** **\*** **string** -**`card`** **Card** + 주문명 -카드 결제 정보 + --- -
-

Card

+ **`status`** **\*** **TransactionStatus** -**`detail`** **CardDetail** + 결제 건의 상태를 나타내는 enum string -카드 정보 + `"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` ---- + --- -**`number`** **string** + **`amount`** **\*** **TransactionAmount** -마스킹된 카드 번호 + 결제 금액 및 통화 관련 세부 정보 ---- +
+

TransactionAmount

-**`approval_number`** **string** + **`currency`** **\*** **Currency** -승인 번호 + 통화 ---- + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` -**`installment`** **Installment** + --- -할부 정보 + **`total`** **\*** **integer** ---- + 결제 요청 금액 -**`card_point_used`** **boolean** + --- -카드 포인트 사용여부 + **`tax_free`** **\*** **integer** ---- + 면세금액 -
+ --- ---- + **`vat`** **integer** -**`charge`** **Charge** + 부가세 -충전식 포인트 결제 정보 + --- -
-

Charge

+ **`supply`** **integer** -**`bank_code`** **string** + 공급가액 -표준 은행 코드 (계좌 이체시 입력됨) + --- ---- + **`discount`** **\*** **integer** -
+ 할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) ---- + --- -**`transfer`** **Transfer** + **`paid`** **\*** **integer** -계좌이체 정보 + 실제 결제 금액 -
-

Transfer

+ --- -**`bank_code`** **string** + **`cancelled`** **\*** **integer** -표준 은행 코드 + 취소 금액 ---- + --- -
+ **`cancelled_tax_free`** **\*** **integer** ---- + 취소 금액 중 면세 금액 - - + --- +
- - -**`type`** **GiftCertificateType** + --- -`"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` + **`customer`** **\*** **Customer** ---- + 구매자 정보 -**`approval_number`** **\*** **string** +
+

Customer

-상품권 승인번호 + **`id`** **string** ---- + 구매자 ID - + --- - -**`month`** **\*** **integer** + **`name`** **string** -할부 개월 수 + 구매자 이름 ---- + --- -**`is_interest_free`** **\*** **boolean** + **`birthYear`** **string** -무이자할부 여부 + 구매자 생년 ---- + --- - + **`gender`** **Gender** - -**`carrier`** **Carrier** + `"MALE"`, `"FEMALE"`, `"OTHER"` -통신사 + --- -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + **`email`** **string** ---- + 구매자 이메일 -**`phone_number`** **string** + --- -휴대전화번호 + **`phone_number`** **string** ---- + 구매자 전화번호 - + --- - -**`country`** **Country** + **`one_line_address`** **string** -국가 코드 + 구매자 주소 (한 줄) -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + --- ---- + **`separated_address`** **SeparatedAddress** -**`province`** **string** + 구매자 주소 (단위별) -시/도/구 + --- ---- + **`zipcode`** **string** -**`city`** **string** + 구매자 우편번호 -도시 + --- +
---- + --- -**`address_line_1`** **\*** **string** + **`origin`** **\*** **Origin** -일반 주소 + 결제를 요청한 근원에 대한 정보 ---- +
+

Origin

-**`address_line_2`** **\*** **string** + **`platform_type`** **\*** **string** -상세 주소 + 결제를 요청한 단말의 플랫폼 분류 ---- + `"PC"`, `"MOBILE"`, `"API"` - - + --- - - -**`id`** **\*** **string** + **`user_agent`** **string** -포트원 채번 거래번호 + 결제근원의 환경 정보 (Http 의 User-Agent header value) ---- + --- -**`is_primary`** **\*** **boolean** + **`url`** **string** -대표 트랜잭션 여부 + 결제근원의 페이지 url ---- + --- -**`version`** **\*** **Version** + **`ip_address`** **\*** **string** -포트원 내부 결제시스템 버전 + 결제근원의 IP 주소 -`"V1"`, `"V2"` + --- +
---- + --- -**`method`** **PaymentMethod** + **`is_cultural_expense`** **boolean** -결제수단 목록 + 문화비 지출 여부 -`"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` + --- ---- + **`is_escrow`** **\*** **boolean** -**`channel`** **Channel** + 에스크로 여부 -결제 채널 정보 + --- -
-

Channel

+ **`escrow_detail`** **EscrowDetail** -**`id`** **string** + 에스크로 결제 정보 -채널 ID +
+

EscrowDetail

---- + **`company`** **\*** **string** -**`name`** **string** + 택배사 -채널 이름 + --- ---- + **`invoice_number`** **\*** **string** -**`key`** **string** + 송장번호 -채널 키 + --- ---- + **`status`** **EscrowStatus** -**`type`** **\*** **ChannelType** + 에스크로 상태 -채널 유형 + `"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` -`"LIVE"`, `"TEST"` + --- ---- + **`sent_at`** **string** -**`pg_provider`** **\*** **PgProvider** + 발송 일시 (배송이 발송되었을 경우 제공) -결제대행사(PG사) + --- -`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` + **`applied_at`** **string** ---- + 배송등록 처리 일자 -**`pg_merchant_id`** **\*** **string** + --- +
-PG사에 등록된 고객사 ID + --- ---- + **`products`** **Array\[Product]** -
+ 상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. ---- +
+

Product

-**`schedule_id`** **string** + **`id`** **\*** **string** -예약결제 ID - 예약결제에만 해당됩니다. + 상품 ID ---- + --- -**`billing_key`** **string** + **`name`** **\*** **string** -결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. + 상품명 ---- + --- -**`notifications`** **Array\[notification_Notification]** + **`tag`** **string** -웹훅 발송 내역 + 상품 태그(카테고리) -
-

notification_Notification

+ --- -**`webhook`** **Webhook** + **`code`** **string** -웹훅 정보 + 상품 코드 ---- + --- -
+ **`amount`** **\*** **integer** ---- + 상품 단위가격 -**`status_updated_at`** **string** + --- -상태변경시각 + **`quantity`** **\*** **integer** ---- + 주문 수량 -**`updated_at`** **\*** **string** + --- +
-수정 시각 + --- ---- + **`product_count`** **integer** -**`order_name`** **\*** **string** + 상품 갯수 -주문명 + --- ---- + **`custom_data`** **string** -**`status`** **\*** **TransactionStatus** + 고객사의 결제 데이터 추가 정보 -결제 건의 상태를 나타내는 enum string + --- -`"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` + **`requested_at`** **\*** **string** ---- + 결제요청시각 -**`amount`** **\*** **TransactionAmount** + --- -결제 금액 및 통화 관련 세부 정보 + **`promotion_id`** **string** -
-

TransactionAmount

+ 포트원 프로모션 아이디 -**`currency`** **\*** **Currency** + --- -통화 + **`failure`** **PaymentFailure** -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + 결제 실패 정보 ---- +
+

PaymentFailure

-**`total`** **\*** **integer** + **`reason`** **string** -결제 요청 금액 + 실패 이유 ---- + --- -**`tax_free`** **\*** **integer** + **`pg_code`** **string** -면세금액 + PG사 전달 에러 코드 ---- + --- -**`vat`** **integer** + **`pg_message`** **string** -부가세 + PG사 전달 에러 메세지 ---- + --- +
-**`supply`** **integer** + --- -공급가액 + **`failed_at`** **string** ---- + 결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. -**`discount`** **\*** **integer** + --- -할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) + **`country`** **Country** ---- + 국가 코드 -**`paid`** **\*** **integer** + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -실제 결제 금액 + --- ---- + **`paid_at`** **string** -**`cancelled`** **\*** **integer** + 결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -취소 금액 + --- ---- + **`payment_method_detail`** **PaymentMethodDetail** -**`cancelled_tax_free`** **\*** **integer** + 결제 수단 정보 -취소 금액 중 면세 금액 +
+

PaymentMethodDetail

---- + **`card`** **Card** -
+ 카드 결제 정보 ---- + --- -**`customer`** **\*** **Customer** + **`transfer`** **Transfer** -구매자 정보 + 계좌이체 정보 -
-

Customer

+ --- -**`id`** **string** + **`virtual_account`** **VirtualAccount** -구매자 ID + 가상계좌 결제 정보 ---- + --- -**`name`** **string** + **`mobile`** **Mobile** -구매자 이름 + 모바일결제 정보 ---- + --- -**`birthYear`** **string** + **`gift_certificate`** **GiftCertificate** -구매자 생년 + 상품권 결제 정보 ---- + --- -**`gender`** **Gender** + **`easy_pay`** **EasyPay** -`"MALE"`, `"FEMALE"`, `"OTHER"` + 간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) ---- + --- +
-**`email`** **string** + --- -구매자 이메일 + **`pg_tx_id`** **string** ---- + PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -**`phone_number`** **string** + --- -구매자 전화번호 + **`pg_response`** **string** ---- + PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -**`one_line_address`** **string** + --- -구매자 주소 (한 줄) + **`cash_receipt`** **CashReceiptDetail** ---- + 현금영수증 정보 -**`separated_address`** **SeparatedAddress** +
+

CashReceiptDetail

-구매자 주소 (단위별) + **`pg_receipt_id`** **string** ---- + PG사 현금영수증 발급 ID -**`zipcode`** **string** + --- -구매자 우편번호 + **`issue_number`** **\*** **string** ---- + 현금영수증 승인번호 -
+ --- ---- + **`type`** **CashReceiptType** -**`origin`** **\*** **Origin** + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` -결제를 요청한 근원에 대한 정보 + --- -
-

Origin

+ **`amount`** **\*** **integer** -**`platform_type`** **\*** **string** + 금액 -결제를 요청한 단말의 플랫폼 분류 + --- -`"PC"`, `"MOBILE"`, `"API"` + **`tax_free_amount`** **integer** ---- + 면세금액 -**`user_agent`** **string** + --- -결제근원의 환경 정보 (Http 의 User-Agent header value) + **`status`** **CashReceiptStatus** ---- + `"ISSUED"`, `"CANCELLED"` -**`url`** **string** + --- -결제근원의 페이지 url + **`issued_at`** **\*** **string** ---- + 발급일시 -**`ip_address`** **\*** **string** + --- -결제근원의 IP 주소 + **`cancelled_at`** **string** ---- + 취소일시 (`status`가 `CANCELLED`인 경우 제공) -
+ --- ---- + **`receipt_url`** **string** -**`is_cultural_expense`** **boolean** + 영수증 url -문화비 지출 여부 + --- +
---- + --- -**`is_escrow`** **\*** **boolean** + **`cancellations`** **Array\[Cancellation]** -에스크로 여부 + 취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. ---- +
+

Cancellation

-**`escrow_detail`** **EscrowDetail** + **`id`** **\*** **string** -에스크로 결제 정보 + 취소 ID -
-

EscrowDetail

+ --- -**`company`** **\*** **string** + **`pg_cancellation_id`** **\*** **string** -택배사 + PG사 취소 ID ---- + --- -**`invoice_number`** **\*** **string** + **`cancel_amount`** **\*** **integer** -송장번호 + 취소 금액 ---- + --- -**`status`** **EscrowStatus** + **`tax_free_amount`** **\*** **integer** -에스크로 상태 + 취소 면세 금액 -`"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` + --- ---- + **`easy_pay_discount_amount`** **integer** -**`sent_at`** **string** + 적립형 포인트의 환불 금액 -발송 일시 (배송이 발송되었을 경우 제공) + --- ---- + **`reason`** **\*** **string** -**`applied_at`** **string** + 취소 사유 -배송등록 처리 일자 + --- ---- + **`cancelled_at`** **string** -
+ 취소일시 ---- + --- -**`products`** **Array\[Product]** + **`requested_at`** **\*** **string** -상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. + 취소요청일시 -
-

Product

+ --- -**`id`** **\*** **string** + **`status`** **\*** **CancellationStatus** -상품 ID + 취소 상태 ---- + `"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` -**`name`** **\*** **string** + --- +
-상품명 + --- ---- + **`cancelled_at`** **string** -**`tag`** **string** + 결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. -상품 태그(카테고리) + --- + ---- + + **`bank_code`** **string** -**`code`** **string** + 표준 은행 코드 -상품 코드 + --- + ---- + + **`bank_code`** **string** -**`amount`** **\*** **integer** + 표준 은행 코드 -상품 단위가격 + --- ---- + **`account_number`** **\*** **string** -**`quantity`** **\*** **integer** + 계좌번호 -주문 수량 + --- ---- + **`account_type`** **VirtualAccountType** -
+ 계좌 유형 ---- + `"FIXED"`, `"NORMAL"` -**`product_count`** **integer** + --- -상품 갯수 + **`remittee_name`** **string** ---- + 계좌주 -**`custom_data`** **string** + --- -고객사의 결제 데이터 추가 정보 + **`remitter_name`** **string** ---- + 송금인 (입금자) -**`requested_at`** **\*** **string** + --- -결제요청시각 + **`expired_at`** **string** ---- + 입금만료시점 -**`promotion_id`** **string** + --- -포트원 프로모션 아이디 + **`issued_at`** **string** ---- + 계좌발급시점 -**`failure`** **PaymentFailure** + --- -결제 실패 정보 + **`refund_status`** **RefundStatus** -
-

PaymentFailure

+ 가상계좌 결제가 환불 단계일 때의 환불 상태 -**`reason`** **string** + `"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` -실패 이유 + --- + ---- + + **`id`** **\*** **string** -**`pg_code`** **string** + 웹훅 ID -PG사 전달 에러 코드 + --- ---- + **`status`** **WebhookStatus** -**`pg_message`** **string** + 웹훅 전송 상태 -PG사 전달 에러 메세지 + `"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` ---- + --- -
+ **`type`** **WebhookType** ---- + 웹훅 유형 -**`failed_at`** **string** + `"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` -결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. + --- ---- + **`url`** **\*** **string** -**`country`** **Country** + 웹훅이 발송된 url -국가 코드 + --- -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + **`is_async`** **boolean** ---- + 비동기 웹훅 여부 -**`paid_at`** **string** + --- -결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + **`current_execution`** **integer** ---- + 현재 발송 횟수 -**`payment_method_detail`** **PaymentMethodDetail** + --- -결제 수단 정보 + **`max_execution`** **integer** -
-

PaymentMethodDetail

+ 최대 발송 횟수 -**`card`** **Card** + --- -카드 결제 정보 + **`webhook_trigger`** **WebhookTrigger** ---- + 웹훅 실행 주체 -**`transfer`** **Transfer** + `"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` -계좌이체 정보 + --- ---- + **`request`** **WebhookRequest** -**`virtual_account`** **VirtualAccount** + 웹훅 요청 정보 -가상계좌 결제 정보 +
+

WebhookRequest

---- + **`header`** **object** -**`mobile`** **Mobile** + 요청 header -모바일결제 정보 + --- ---- + **`body`** **\*** **string** -**`gift_certificate`** **GiftCertificate** + 요청 body -상품권 결제 정보 + --- ---- + **`requested_at`** **string** -**`easy_pay`** **EasyPay** + 요청 시각 -간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) + --- +
---- + --- -
+ **`response`** **WebhookResponse** ---- + 웹훅 응답 정보 -**`pg_tx_id`** **string** +
+

WebhookResponse

-PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + **`code`** **\*** **string** ---- + 웹훅 응답 http 코드 -**`pg_response`** **string** + --- -PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + **`header`** **\*** **object** ---- + 응답 header -**`cash_receipt`** **CashReceiptDetail** + --- -현금영수증 정보 + **`body`** **\*** **string** -
-

CashReceiptDetail

+ 응답 body -**`pg_receipt_id`** **string** + --- -PG사 현금영수증 발급 ID + **`responded_at`** **\*** **string** ---- + 응답 시각 -**`issue_number`** **\*** **string** + --- +
-현금영수증 승인번호 + --- ---- + **`triggered_at`** **string** -**`type`** **CashReceiptType** + 웹훅 처리 시작 시각 -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + --- + + + ---- + + + + **`code`** **\*** **string** -**`amount`** **\*** **integer** + `"INVALID_REQUEST"`, `"NOT_PAID"`, `"PAYMENT_ALREADY_CANCELLED"`, `"REFUNDABLE_AMOUNT_CONSISTENCY_BROKEN"`, `"CANCEL_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_CANCELLABLE_AMOUNT"`, `"CANCEL_TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_CANCEL_AMOUNT"`, `"CANCEL_TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_CANCELLABLE_TAX_FREE_AMOUNT"`, `"CANCEL_TAX_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_CANCELLABLE_TAX_AMOUNT"` -금액 + --- ---- + **`params`** **object** -**`tax_free_amount`** **integer** + 에러 세부사항 -면세금액 + --- + + + ---- + + + + **`code`** **\*** **string** -**`status`** **CashReceiptStatus** + `"UNAUTHORIZED"` -`"ISSUED"`, `"CANCELLED"` + --- ---- + **`params`** **object** -**`issued_at`** **\*** **string** + 에러 세부사항 -발급일시 + --- + + + ---- + + + + **`code`** **\*** **string** -**`cancelled_at`** **string** + `"PAYMENT_NOT_FOUND"` -취소일시 (`status`가 `CANCELLED`인 경우 제공) + --- ---- + **`params`** **object** -**`receipt_url`** **string** + 에러 세부사항 -영수증 url + --- + + + ---- + + + + **`code`** **\*** **string** -
+ `"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` ---- + --- -**`cancellations`** **Array\[Cancellation]** + **`params`** **object** -취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. + 에러 세부사항 -
-

Cancellation

+ --- + + + + -**`id`** **\*** **string** + + + **`bank`** **\*** **string** -취소 ID + 은행 ---- + --- -**`pg_cancellation_id`** **\*** **string** + **`account_holder`** **\*** **string** -PG사 취소 ID + 예금주 ---- + --- -**`cancel_amount`** **\*** **integer** + **`account_number`** **\*** **string** -취소 금액 + 계좌번호 ---- + --- -**`tax_free_amount`** **\*** **integer** + **`phone_number`** **string** -취소 면세 금액 + 예금주 연락처 - 스마트로 가상계좌 결제인 경우에 필요합니다. ---- + --- + + -**`easy_pay_discount_amount`** **integer** +## ⌨ 웹훅 재발송 -적립형 포인트의 환불 금액 + + + `tx_id` ---- + 와 -**`reason`** **\*** **string** + `webhook_id` -취소 사유 + 모두 값을 넣지 않으면 대표 트랜잭션의 가장 최근 웹훅 발송 이력을 기준으로 재전송됩니다. + ---- + ### Parameters -**`cancelled_at`** **string** + #### Path -취소일시 + + 결제 ID + ---- + #### Query -**`requested_at`** **\*** **string** + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + -취소요청일시 + #### Body ---- + + 재발송 대상 트랜잭션 아이디 - 값을 넣지 않으면 기본값은 대표 트랜잭션 아이디로 설정됩니다. + -**`status`** **\*** **CancellationStatus** + + 재발송 대상 웹훅 아이디 - 값을 넣지 않으면 기본값은 가장 최근의 웹훅 아이디로 설정됩니다. + -취소 상태 + ### Responses -`"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` + + + + **`tx_id`** **\*** **string** ---- + 재발송 대상 트랜잭션 아이디 -
+ --- ---- + **`webhook_id`** **string** -**`cancelled_at`** **string** + 재발송 대상 웹훅 아이디 (값을 넣지 않으면 가장 최근의 웹훅 아이디 기준으로 재전송) 비동기 웹훅이거나 웹훅 처리에 너무 오랜 시간이 걸리는 경우 값이 비어있을 수 있습니다. -결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. + --- ---- + **`payment`** **\*** **Payment** -
+ 결제내역 - -**`bank_code`** **string** +
+

Payment

-표준 은행 코드 + **`id`** **\*** **string** ---- + 고객사에서 입력한 결제 ID - + --- - -**`bank_code`** **string** + **`merchant_id`** **\*** **string** -표준 은행 코드 + 고객사 ID ---- + --- -**`account_number`** **\*** **string** + **`store_id`** **\*** **string** -계좌번호 + 하위 상점 ID ---- + --- -**`account_type`** **VirtualAccountType** + **`transactions`** **\*** **Array\[Transaction]** -계좌 유형 + 동일한 `payment_id`로 결제시도된 결제내역들 -`"FIXED"`, `"NORMAL"` + --- +
---- + --- +
-**`remittee_name`** **string** + + **`detail`** **CardDetail** -계좌주 + 카드 정보 ---- +
+

CardDetail

-**`remitter_name`** **string** + **`publisher`** **string** -송금인 (입금자) + 발행사 코드 ---- + --- -**`expired_at`** **string** + **`issuer`** **string** -입금만료시점 + 발급사 코드 ---- + --- -**`issued_at`** **string** + **`brand`** **CardBrand** -계좌발급시점 + 카드 브랜드 ---- + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` -**`refund_status`** **RefundStatus** + --- -가상계좌 결제가 환불 단계일 때의 환불 상태 + **`card_type`** **CardType** -`"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` + 카드 종류 ---- + `"CREDIT"`, `"DEBIT"`, `"GIFT"` - + --- - -**`id`** **\*** **string** + **`card_owner_type`** **CardOwnerType** -웹훅 ID + 카드 소유주 유형 ---- + `"PERSONAL"`, `"CORPORATE"` -**`status`** **WebhookStatus** + --- -웹훅 전송 상태 + **`bin`** **string** -`"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` + 카드 빈넘버 ---- + --- -**`type`** **WebhookType** + **`name`** **string** -웹훅 유형 + 카드전표인자명 -`"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` + --- +
---- + --- -**`url`** **\*** **string** + **`number`** **string** -웹훅이 발송된 url + 마스킹된 카드 번호 ---- + --- -**`is_async`** **boolean** + **`approval_number`** **string** -비동기 웹훅 여부 + 승인 번호 ---- + --- -**`current_execution`** **integer** + **`installment`** **Installment** -현재 발송 횟수 + 할부 정보 ---- +
+

Installment

-**`max_execution`** **integer** + **`month`** **\*** **integer** -최대 발송 횟수 + 할부 개월 수 ---- + --- -**`webhook_trigger`** **WebhookTrigger** + **`is_interest_free`** **\*** **boolean** -웹훅 실행 주체 + 무이자할부 여부 -`"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` + --- +
---- + --- -**`request`** **WebhookRequest** + **`card_point_used`** **boolean** -웹훅 요청 정보 + 카드 포인트 사용여부 -
-

WebhookRequest

+ --- + -**`header`** **object** + + **`publisher`** **string** -요청 header + 발행사 코드 ---- + --- -**`body`** **\*** **string** + **`issuer`** **string** -요청 body + 발급사 코드 ---- + --- -**`requested_at`** **string** + **`brand`** **CardBrand** -요청 시각 + 카드 브랜드 ---- + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` -
+ --- ---- + **`card_type`** **CardType** -**`response`** **WebhookResponse** + 카드 종류 -웹훅 응답 정보 + `"CREDIT"`, `"DEBIT"`, `"GIFT"` -
-

WebhookResponse

+ --- -**`code`** **\*** **string** + **`card_owner_type`** **CardOwnerType** -웹훅 응답 http 코드 + 카드 소유주 유형 ---- + `"PERSONAL"`, `"CORPORATE"` -**`header`** **\*** **object** + --- -응답 header + **`bin`** **string** ---- + 카드 빈넘버 -**`body`** **\*** **string** + --- -응답 body + **`name`** **string** ---- + 카드전표인자명 -**`responded_at`** **\*** **string** + --- + -응답 시각 + + **`easy_pay_provider`** **\*** **EasyPayProvider** ---- + 간편결제 PG사 -
+ `"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` ---- + --- -**`triggered_at`** **string** + **`card`** **Card** -웹훅 처리 시작 시각 + 카드 결제 정보 ---- +
+

Card

- - + **`detail`** **CardDetail** - + 카드 정보 - - - -**`code`** **\*** **string** + --- -`"INVALID_REQUEST"`, `"NOT_PAID"`, `"PAYMENT_ALREADY_CANCELLED"`, `"REFUNDABLE_AMOUNT_CONSISTENCY_BROKEN"`, `"CANCEL_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_CANCELLABLE_AMOUNT"`, `"CANCEL_TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_CANCEL_AMOUNT"`, `"CANCEL_TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_CANCELLABLE_TAX_FREE_AMOUNT"`, `"CANCEL_TAX_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_CANCELLABLE_TAX_AMOUNT"` + **`number`** **string** ---- + 마스킹된 카드 번호 -**`params`** **object** + --- -에러 세부사항 + **`approval_number`** **string** ---- + 승인 번호 - - + --- - + **`installment`** **Installment** - - - -**`code`** **\*** **string** + 할부 정보 -`"UNAUTHORIZED"` + --- ---- + **`card_point_used`** **boolean** -**`params`** **object** + 카드 포인트 사용여부 -에러 세부사항 + --- +
---- + --- -
-
+ **`charge`** **Charge** - + 충전식 포인트 결제 정보 - - - -**`code`** **\*** **string** +
+

Charge

-`"PAYMENT_NOT_FOUND"` + **`bank_code`** **string** ---- + 표준 은행 코드 (계좌 이체시 입력됨) -**`params`** **object** + --- +
-에러 세부사항 + --- ---- + **`transfer`** **Transfer** -
-
+ 계좌이체 정보 -
+
+

Transfer

- - - -**`code`** **\*** **string** + **`bank_code`** **string** -`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` + 표준 은행 코드 ---- + --- +
-**`params`** **object** + --- +
+ -에러 세부사항 + + + **`type`** **GiftCertificateType** ---- + `"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` - - + --- - + **`approval_number`** **\*** **string** - + 상품권 승인번호 - - -**`bank`** **\*** **string** + --- + -은행 + + **`month`** **\*** **integer** ---- + 할부 개월 수 -**`account_holder`** **\*** **string** + --- -예금주 + **`is_interest_free`** **\*** **boolean** ---- + 무이자할부 여부 -**`account_number`** **\*** **string** + --- + -계좌번호 + + **`carrier`** **Carrier** ---- + 통신사 -**`phone_number`** **string** + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` -예금주 연락처 - 스마트로 가상계좌 결제인 경우에 필요합니다. + --- ---- + **`phone_number`** **string** - - + 휴대전화번호 -## ⌨ 웹훅 재발송 + --- + - - -`tx_id` + + **`country`** **Country** -와 + 국가 코드 -`webhook_id` + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -모두 값을 넣지 않으면 대표 트랜잭션의 가장 최근 웹훅 발송 이력을 기준으로 재전송됩니다. + --- - + **`province`** **string** -### Parameters + 시/도/구 -#### Path + --- - -결제 ID + **`city`** **string** - + 도시 -#### Query + --- - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + **`address_line_1`** **\*** **string** - + 일반 주소 -#### Body + --- - -재발송 대상 트랜잭션 아이디 - 값을 넣지 않으면 기본값은 대표 트랜잭션 아이디로 설정됩니다. + **`address_line_2`** **\*** **string** - - -재발송 대상 웹훅 아이디 - 값을 넣지 않으면 기본값은 가장 최근의 웹훅 아이디로 설정됩니다. + 상세 주소 - + --- + + -### Responses + + + **`id`** **\*** **string** - - - -**`tx_id`** **\*** **string** + 포트원 채번 거래번호 -재발송 대상 트랜잭션 아이디 + --- ---- + **`is_primary`** **\*** **boolean** -**`webhook_id`** **string** + 대표 트랜잭션 여부 -재발송 대상 웹훅 아이디 (값을 넣지 않으면 가장 최근의 웹훅 아이디 기준으로 재전송) 비동기 웹훅이거나 웹훅 처리에 너무 오랜 시간이 걸리는 경우 값이 비어있을 수 있습니다. + --- ---- + **`version`** **\*** **Version** -**`payment`** **\*** **Payment** + 포트원 내부 결제시스템 버전 -결제내역 + `"V1"`, `"V2"` -
-

Payment

+ --- -**`id`** **\*** **string** + **`method`** **PaymentMethod** -고객사에서 입력한 결제 ID + 결제수단 목록 ---- + `"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` -**`merchant_id`** **\*** **string** + --- -고객사 ID + **`channel`** **Channel** ---- + 결제 채널 정보 -**`store_id`** **\*** **string** +
+

Channel

-하위 상점 ID + **`id`** **string** ---- + 채널 ID -**`transactions`** **\*** **Array\[Transaction]** + --- -동일한 `payment_id`로 결제시도된 결제내역들 + **`name`** **string** ---- + 채널 이름 -
+ --- ---- + **`key`** **string** - + 채널 키 - -**`detail`** **CardDetail** + --- -카드 정보 + **`type`** **\*** **ChannelType** -
-

CardDetail

+ 채널 유형 -**`publisher`** **string** + `"LIVE"`, `"TEST"` -발행사 코드 + --- ---- + **`pg_provider`** **\*** **PgProvider** -**`issuer`** **string** + 결제대행사(PG사) -발급사 코드 + `"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` ---- + --- -**`brand`** **CardBrand** + **`pg_merchant_id`** **\*** **string** -카드 브랜드 + PG사에 등록된 고객사 ID -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + --- +
---- + --- -**`card_type`** **CardType** + **`schedule_id`** **string** -카드 종류 + 예약결제 ID - 예약결제에만 해당됩니다. -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + --- ---- + **`billing_key`** **string** -**`card_owner_type`** **CardOwnerType** + 결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. -카드 소유주 유형 + --- -`"PERSONAL"`, `"CORPORATE"` + **`notifications`** **Array\[notification\_Notification]** ---- + 웹훅 발송 내역 -**`bin`** **string** +
+

notification\_Notification

-카드 빈넘버 + **`webhook`** **Webhook** ---- + 웹훅 정보 -**`name`** **string** + --- +
-카드전표인자명 + --- ---- + **`status_updated_at`** **string** -
+ 상태변경시각 ---- + --- -**`number`** **string** + **`updated_at`** **\*** **string** -마스킹된 카드 번호 + 수정 시각 ---- + --- -**`approval_number`** **string** + **`order_name`** **\*** **string** -승인 번호 + 주문명 ---- + --- -**`installment`** **Installment** + **`status`** **\*** **TransactionStatus** -할부 정보 + 결제 건의 상태를 나타내는 enum string -
-

Installment

+ `"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` -**`month`** **\*** **integer** + --- -할부 개월 수 + **`amount`** **\*** **TransactionAmount** ---- + 결제 금액 및 통화 관련 세부 정보 -**`is_interest_free`** **\*** **boolean** +
+

TransactionAmount

-무이자할부 여부 + **`currency`** **\*** **Currency** ---- + 통화 -
+ `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` ---- + --- -**`card_point_used`** **boolean** + **`total`** **\*** **integer** -카드 포인트 사용여부 + 결제 요청 금액 ---- + --- - + **`tax_free`** **\*** **integer** - -**`publisher`** **string** + 면세금액 -발행사 코드 + --- ---- + **`vat`** **integer** -**`issuer`** **string** + 부가세 -발급사 코드 + --- ---- + **`supply`** **integer** -**`brand`** **CardBrand** + 공급가액 -카드 브랜드 + --- -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + **`discount`** **\*** **integer** ---- + 할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) -**`card_type`** **CardType** + --- -카드 종류 + **`paid`** **\*** **integer** -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + 실제 결제 금액 ---- + --- -**`card_owner_type`** **CardOwnerType** + **`cancelled`** **\*** **integer** -카드 소유주 유형 + 취소 금액 -`"PERSONAL"`, `"CORPORATE"` + --- ---- + **`cancelled_tax_free`** **\*** **integer** -**`bin`** **string** + 취소 금액 중 면세 금액 -카드 빈넘버 + --- +
---- + --- -**`name`** **string** + **`customer`** **\*** **Customer** -카드전표인자명 + 구매자 정보 ---- +
+

Customer

- + **`id`** **string** - -**`easy_pay_provider`** **\*** **EasyPayProvider** + 구매자 ID -간편결제 PG사 + --- -`"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` + **`name`** **string** ---- + 구매자 이름 -**`card`** **Card** + --- -카드 결제 정보 + **`birthYear`** **string** -
-

Card

+ 구매자 생년 -**`detail`** **CardDetail** + --- -카드 정보 + **`gender`** **Gender** ---- + `"MALE"`, `"FEMALE"`, `"OTHER"` -**`number`** **string** + --- -마스킹된 카드 번호 + **`email`** **string** ---- + 구매자 이메일 -**`approval_number`** **string** + --- -승인 번호 + **`phone_number`** **string** ---- + 구매자 전화번호 -**`installment`** **Installment** + --- -할부 정보 + **`one_line_address`** **string** ---- + 구매자 주소 (한 줄) -**`card_point_used`** **boolean** + --- -카드 포인트 사용여부 + **`separated_address`** **SeparatedAddress** ---- + 구매자 주소 (단위별) -
+ --- ---- + **`zipcode`** **string** -**`charge`** **Charge** + 구매자 우편번호 -충전식 포인트 결제 정보 + --- +
-
-

Charge

+ --- -**`bank_code`** **string** + **`origin`** **\*** **Origin** -표준 은행 코드 (계좌 이체시 입력됨) + 결제를 요청한 근원에 대한 정보 ---- +
+

Origin

-
+ **`platform_type`** **\*** **string** ---- + 결제를 요청한 단말의 플랫폼 분류 -**`transfer`** **Transfer** + `"PC"`, `"MOBILE"`, `"API"` -계좌이체 정보 + --- -
-

Transfer

+ **`user_agent`** **string** -**`bank_code`** **string** + 결제근원의 환경 정보 (Http 의 User-Agent header value) -표준 은행 코드 + --- ---- + **`url`** **string** -
+ 결제근원의 페이지 url ---- + --- - - + **`ip_address`** **\*** **string** - - -**`type`** **GiftCertificateType** + 결제근원의 IP 주소 -`"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` + --- +
---- + --- -**`approval_number`** **\*** **string** + **`is_cultural_expense`** **boolean** -상품권 승인번호 + 문화비 지출 여부 ---- + --- -
+ **`is_escrow`** **\*** **boolean** - -**`month`** **\*** **integer** + 에스크로 여부 -할부 개월 수 + --- ---- + **`escrow_detail`** **EscrowDetail** -**`is_interest_free`** **\*** **boolean** + 에스크로 결제 정보 -무이자할부 여부 +
+

EscrowDetail

---- + **`company`** **\*** **string** - + 택배사 - -**`carrier`** **Carrier** + --- -통신사 + **`invoice_number`** **\*** **string** -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + 송장번호 ---- + --- -**`phone_number`** **string** + **`status`** **EscrowStatus** -휴대전화번호 + 에스크로 상태 ---- + `"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` - + --- - -**`country`** **Country** + **`sent_at`** **string** -국가 코드 + 발송 일시 (배송이 발송되었을 경우 제공) -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + --- ---- + **`applied_at`** **string** -**`province`** **string** + 배송등록 처리 일자 -시/도/구 + --- +
---- + --- -**`city`** **string** + **`products`** **Array\[Product]** -도시 + 상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. ---- +
+

Product

-**`address_line_1`** **\*** **string** + **`id`** **\*** **string** -일반 주소 + 상품 ID ---- + --- -**`address_line_2`** **\*** **string** + **`name`** **\*** **string** -상세 주소 + 상품명 ---- + --- - - + **`tag`** **string** - - -**`id`** **\*** **string** + 상품 태그(카테고리) -포트원 채번 거래번호 + --- ---- + **`code`** **string** -**`is_primary`** **\*** **boolean** + 상품 코드 -대표 트랜잭션 여부 + --- ---- + **`amount`** **\*** **integer** -**`version`** **\*** **Version** + 상품 단위가격 -포트원 내부 결제시스템 버전 + --- -`"V1"`, `"V2"` + **`quantity`** **\*** **integer** ---- + 주문 수량 -**`method`** **PaymentMethod** + --- +
-결제수단 목록 + --- -`"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` + **`product_count`** **integer** ---- + 상품 갯수 -**`channel`** **Channel** + --- -결제 채널 정보 + **`custom_data`** **string** -
-

Channel

+ 고객사의 결제 데이터 추가 정보 -**`id`** **string** + --- -채널 ID + **`requested_at`** **\*** **string** ---- + 결제요청시각 -**`name`** **string** + --- -채널 이름 + **`promotion_id`** **string** ---- + 포트원 프로모션 아이디 -**`key`** **string** + --- -채널 키 + **`failure`** **PaymentFailure** ---- + 결제 실패 정보 -**`type`** **\*** **ChannelType** +
+

PaymentFailure

-채널 유형 + **`reason`** **string** -`"LIVE"`, `"TEST"` + 실패 이유 ---- + --- -**`pg_provider`** **\*** **PgProvider** + **`pg_code`** **string** -결제대행사(PG사) + PG사 전달 에러 코드 -`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` + --- ---- + **`pg_message`** **string** -**`pg_merchant_id`** **\*** **string** + PG사 전달 에러 메세지 -PG사에 등록된 고객사 ID + --- +
---- + --- -
+ **`failed_at`** **string** ---- + 결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. -**`schedule_id`** **string** + --- -예약결제 ID - 예약결제에만 해당됩니다. + **`country`** **Country** ---- + 국가 코드 -**`billing_key`** **string** + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. + --- ---- + **`paid_at`** **string** -**`notifications`** **Array\[notification_Notification]** + 결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -웹훅 발송 내역 + --- -
-

notification_Notification

+ **`payment_method_detail`** **PaymentMethodDetail** -**`webhook`** **Webhook** + 결제 수단 정보 -웹훅 정보 +
+

PaymentMethodDetail

---- + **`card`** **Card** -
+ 카드 결제 정보 ---- + --- -**`status_updated_at`** **string** + **`transfer`** **Transfer** -상태변경시각 + 계좌이체 정보 ---- + --- -**`updated_at`** **\*** **string** + **`virtual_account`** **VirtualAccount** -수정 시각 + 가상계좌 결제 정보 ---- + --- -**`order_name`** **\*** **string** + **`mobile`** **Mobile** -주문명 + 모바일결제 정보 ---- + --- -**`status`** **\*** **TransactionStatus** + **`gift_certificate`** **GiftCertificate** -결제 건의 상태를 나타내는 enum string + 상품권 결제 정보 -`"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` + --- ---- + **`easy_pay`** **EasyPay** -**`amount`** **\*** **TransactionAmount** + 간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) -결제 금액 및 통화 관련 세부 정보 + --- +
-
-

TransactionAmount

+ --- -**`currency`** **\*** **Currency** + **`pg_tx_id`** **string** -통화 + PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + --- ---- + **`pg_response`** **string** -**`total`** **\*** **integer** + PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -결제 요청 금액 + --- ---- + **`cash_receipt`** **CashReceiptDetail** -**`tax_free`** **\*** **integer** + 현금영수증 정보 -면세금액 +
+

CashReceiptDetail

---- + **`pg_receipt_id`** **string** -**`vat`** **integer** + PG사 현금영수증 발급 ID -부가세 + --- ---- + **`issue_number`** **\*** **string** -**`supply`** **integer** + 현금영수증 승인번호 -공급가액 + --- ---- + **`type`** **CashReceiptType** -**`discount`** **\*** **integer** + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` -할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) + --- ---- + **`amount`** **\*** **integer** -**`paid`** **\*** **integer** + 금액 -실제 결제 금액 + --- ---- + **`tax_free_amount`** **integer** -**`cancelled`** **\*** **integer** + 면세금액 -취소 금액 + --- ---- + **`status`** **CashReceiptStatus** -**`cancelled_tax_free`** **\*** **integer** + `"ISSUED"`, `"CANCELLED"` -취소 금액 중 면세 금액 + --- ---- + **`issued_at`** **\*** **string** -
+ 발급일시 ---- + --- -**`customer`** **\*** **Customer** + **`cancelled_at`** **string** -구매자 정보 + 취소일시 (`status`가 `CANCELLED`인 경우 제공) -
-

Customer

+ --- -**`id`** **string** - -구매자 ID + **`receipt_url`** **string** ---- + 영수증 url -**`name`** **string** + --- +
-구매자 이름 + --- ---- + **`cancellations`** **Array\[Cancellation]** -**`birthYear`** **string** + 취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. -구매자 생년 +
+

Cancellation

---- + **`id`** **\*** **string** -**`gender`** **Gender** + 취소 ID -`"MALE"`, `"FEMALE"`, `"OTHER"` + --- ---- + **`pg_cancellation_id`** **\*** **string** -**`email`** **string** + PG사 취소 ID -구매자 이메일 + --- ---- + **`cancel_amount`** **\*** **integer** -**`phone_number`** **string** + 취소 금액 -구매자 전화번호 + --- ---- + **`tax_free_amount`** **\*** **integer** -**`one_line_address`** **string** + 취소 면세 금액 -구매자 주소 (한 줄) + --- ---- + **`easy_pay_discount_amount`** **integer** -**`separated_address`** **SeparatedAddress** + 적립형 포인트의 환불 금액 -구매자 주소 (단위별) + --- ---- + **`reason`** **\*** **string** -**`zipcode`** **string** + 취소 사유 -구매자 우편번호 + --- ---- + **`cancelled_at`** **string** -
+ 취소일시 ---- + --- -**`origin`** **\*** **Origin** + **`requested_at`** **\*** **string** -결제를 요청한 근원에 대한 정보 + 취소요청일시 -
-

Origin

+ --- -**`platform_type`** **\*** **string** + **`status`** **\*** **CancellationStatus** -결제를 요청한 단말의 플랫폼 분류 + 취소 상태 -`"PC"`, `"MOBILE"`, `"API"` + `"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` ---- + --- +
-**`user_agent`** **string** + --- -결제근원의 환경 정보 (Http 의 User-Agent header value) + **`cancelled_at`** **string** ---- + 결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. -**`url`** **string** + --- + -결제근원의 페이지 url + + **`bank_code`** **string** ---- + 표준 은행 코드 -**`ip_address`** **\*** **string** + --- + -결제근원의 IP 주소 + + **`bank_code`** **string** ---- + 표준 은행 코드 -
+ --- ---- + **`account_number`** **\*** **string** -**`is_cultural_expense`** **boolean** + 계좌번호 -문화비 지출 여부 + --- ---- + **`account_type`** **VirtualAccountType** -**`is_escrow`** **\*** **boolean** + 계좌 유형 -에스크로 여부 + `"FIXED"`, `"NORMAL"` ---- + --- -**`escrow_detail`** **EscrowDetail** + **`remittee_name`** **string** -에스크로 결제 정보 + 계좌주 -
-

EscrowDetail

+ --- -**`company`** **\*** **string** + **`remitter_name`** **string** -택배사 + 송금인 (입금자) ---- + --- -**`invoice_number`** **\*** **string** + **`expired_at`** **string** -송장번호 + 입금만료시점 ---- + --- -**`status`** **EscrowStatus** + **`issued_at`** **string** -에스크로 상태 + 계좌발급시점 -`"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` + --- ---- + **`refund_status`** **RefundStatus** -**`sent_at`** **string** + 가상계좌 결제가 환불 단계일 때의 환불 상태 -발송 일시 (배송이 발송되었을 경우 제공) + `"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` ---- + --- + -**`applied_at`** **string** + + **`id`** **\*** **string** -배송등록 처리 일자 + 웹훅 ID ---- + --- -
+ **`status`** **WebhookStatus** ---- + 웹훅 전송 상태 -**`products`** **Array\[Product]** + `"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` -상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. + --- -
-

Product

+ **`type`** **WebhookType** -**`id`** **\*** **string** + 웹훅 유형 -상품 ID + `"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` ---- + --- -**`name`** **\*** **string** + **`url`** **\*** **string** -상품명 + 웹훅이 발송된 url ---- + --- -**`tag`** **string** + **`is_async`** **boolean** -상품 태그(카테고리) + 비동기 웹훅 여부 ---- + --- -**`code`** **string** + **`current_execution`** **integer** -상품 코드 + 현재 발송 횟수 ---- + --- -**`amount`** **\*** **integer** + **`max_execution`** **integer** -상품 단위가격 + 최대 발송 횟수 ---- + --- -**`quantity`** **\*** **integer** + **`webhook_trigger`** **WebhookTrigger** -주문 수량 + 웹훅 실행 주체 ---- + `"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` -
+ --- ---- + **`request`** **WebhookRequest** -**`product_count`** **integer** + 웹훅 요청 정보 -상품 갯수 +
+

WebhookRequest

---- + **`header`** **object** -**`custom_data`** **string** + 요청 header -고객사의 결제 데이터 추가 정보 + --- ---- + **`body`** **\*** **string** -**`requested_at`** **\*** **string** + 요청 body -결제요청시각 + --- ---- + **`requested_at`** **string** -**`promotion_id`** **string** + 요청 시각 -포트원 프로모션 아이디 + --- +
---- + --- -**`failure`** **PaymentFailure** + **`response`** **WebhookResponse** -결제 실패 정보 + 웹훅 응답 정보 -
-

PaymentFailure

+
+

WebhookResponse

-**`reason`** **string** + **`code`** **\*** **string** -실패 이유 + 웹훅 응답 http 코드 ---- + --- -**`pg_code`** **string** + **`header`** **\*** **object** -PG사 전달 에러 코드 + 응답 header ---- + --- -**`pg_message`** **string** + **`body`** **\*** **string** -PG사 전달 에러 메세지 + 응답 body ---- + --- -
+ **`responded_at`** **\*** **string** ---- + 응답 시각 -**`failed_at`** **string** + --- +
-결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. + --- ---- + **`triggered_at`** **string** -**`country`** **Country** + 웹훅 처리 시작 시각 -국가 코드 + --- +
+
+
-`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + + + **`code`** **\*** **string** ---- + `"UNAUTHORIZED"` -**`paid_at`** **string** + --- -결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + **`params`** **object** ---- + 에러 세부사항 -**`payment_method_detail`** **PaymentMethodDetail** + --- + + + -결제 수단 정보 + + + + **`code`** **\*** **string** -
-

PaymentMethodDetail

+ `"PAYMENT_NOT_FOUND"` -**`card`** **Card** + --- -카드 결제 정보 + **`params`** **object** ---- + 에러 세부사항 -**`transfer`** **Transfer** + --- + + + -계좌이체 정보 + + + + **`code`** **\*** **string** ---- + `"PORTONE_ERROR"`, `"WEBHOOK_ERROR"` -**`virtual_account`** **VirtualAccount** + --- -가상계좌 결제 정보 + **`params`** **object** ---- + 에러 세부사항 -**`mobile`** **Mobile** + --- + + + + -모바일결제 정보 +## ⌨ 가상계좌 테스트 웹훅 호출 ---- + + + 가상계좌 테스트 결제 건에 대한 입금 통보 웹훅을 호출합니다. + -**`gift_certificate`** **GiftCertificate** + ### Parameters -상품권 결제 정보 + #### Path ---- + + 결제 ID + -**`easy_pay`** **EasyPay** + #### Query -간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + ---- + ### Responses -
+ + + + **`tx_id`** **\*** **string** ---- + 웹훅 기준 트랜잭션 ID -**`pg_tx_id`** **string** + --- -PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + **`webhook_id`** **string** ---- + 재발송 대상 웹훅 아이디 (값을 넣지 않으면 가장 최근의 웹훅 아이디 기준으로 재전송) 비동기 웹훅이거나 웹훅 처리에 너무 오랜 시간이 걸리는 경우 값이 비어있을 수 있습니다. -**`pg_response`** **string** + --- -PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. + **`payment`** **\*** **Payment** ---- + 결제내역 -**`cash_receipt`** **CashReceiptDetail** +
+

Payment

-현금영수증 정보 + **`id`** **\*** **string** -
-

CashReceiptDetail

+ 고객사에서 입력한 결제 ID -**`pg_receipt_id`** **string** + --- -PG사 현금영수증 발급 ID + **`merchant_id`** **\*** **string** ---- + 고객사 ID -**`issue_number`** **\*** **string** + --- -현금영수증 승인번호 + **`store_id`** **\*** **string** ---- + 하위 상점 ID -**`type`** **CashReceiptType** + --- -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + **`transactions`** **\*** **Array\[Transaction]** ---- + 동일한 `payment_id`로 결제시도된 결제내역들 -**`amount`** **\*** **integer** + --- +
-금액 + --- + ---- + + **`detail`** **CardDetail** -**`tax_free_amount`** **integer** + 카드 정보 -면세금액 +
+

CardDetail

---- + **`publisher`** **string** -**`status`** **CashReceiptStatus** + 발행사 코드 -`"ISSUED"`, `"CANCELLED"` + --- ---- + **`issuer`** **string** -**`issued_at`** **\*** **string** + 발급사 코드 -발급일시 + --- ---- + **`brand`** **CardBrand** -**`cancelled_at`** **string** + 카드 브랜드 -취소일시 (`status`가 `CANCELLED`인 경우 제공) + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` ---- + --- -**`receipt_url`** **string** + **`card_type`** **CardType** -영수증 url + 카드 종류 ---- + `"CREDIT"`, `"DEBIT"`, `"GIFT"` -
+ --- ---- + **`card_owner_type`** **CardOwnerType** -**`cancellations`** **Array\[Cancellation]** + 카드 소유주 유형 -취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. + `"PERSONAL"`, `"CORPORATE"` -
-

Cancellation

+ --- -**`id`** **\*** **string** + **`bin`** **string** -취소 ID + 카드 빈넘버 ---- + --- -**`pg_cancellation_id`** **\*** **string** + **`name`** **string** -PG사 취소 ID + 카드전표인자명 ---- + --- +
-**`cancel_amount`** **\*** **integer** + --- -취소 금액 + **`number`** **string** ---- + 마스킹된 카드 번호 -**`tax_free_amount`** **\*** **integer** + --- -취소 면세 금액 + **`approval_number`** **string** ---- + 승인 번호 -**`easy_pay_discount_amount`** **integer** + --- -적립형 포인트의 환불 금액 + **`installment`** **Installment** ---- + 할부 정보 -**`reason`** **\*** **string** +
+

Installment

-취소 사유 + **`month`** **\*** **integer** ---- + 할부 개월 수 -**`cancelled_at`** **string** + --- -취소일시 + **`is_interest_free`** **\*** **boolean** ---- + 무이자할부 여부 -**`requested_at`** **\*** **string** + --- +
-취소요청일시 + --- ---- + **`card_point_used`** **boolean** -**`status`** **\*** **CancellationStatus** + 카드 포인트 사용여부 -취소 상태 + --- +
-`"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` + + **`publisher`** **string** ---- + 발행사 코드 -
+ --- ---- + **`issuer`** **string** -**`cancelled_at`** **string** + 발급사 코드 -결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. + --- ---- + **`brand`** **CardBrand** -
+ 카드 브랜드 - -**`bank_code`** **string** + `"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` -표준 은행 코드 + --- ---- + **`card_type`** **CardType** - + 카드 종류 - -**`bank_code`** **string** + `"CREDIT"`, `"DEBIT"`, `"GIFT"` -표준 은행 코드 + --- ---- + **`card_owner_type`** **CardOwnerType** -**`account_number`** **\*** **string** + 카드 소유주 유형 -계좌번호 + `"PERSONAL"`, `"CORPORATE"` ---- + --- -**`account_type`** **VirtualAccountType** + **`bin`** **string** -계좌 유형 + 카드 빈넘버 -`"FIXED"`, `"NORMAL"` + --- ---- + **`name`** **string** -**`remittee_name`** **string** + 카드전표인자명 -계좌주 + --- + ---- + + **`easy_pay_provider`** **\*** **EasyPayProvider** -**`remitter_name`** **string** + 간편결제 PG사 -송금인 (입금자) + `"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` ---- + --- -**`expired_at`** **string** + **`card`** **Card** -입금만료시점 + 카드 결제 정보 ---- +
+

Card

-**`issued_at`** **string** + **`detail`** **CardDetail** -계좌발급시점 + 카드 정보 ---- + --- -**`refund_status`** **RefundStatus** + **`number`** **string** -가상계좌 결제가 환불 단계일 때의 환불 상태 + 마스킹된 카드 번호 -`"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` + --- ---- + **`approval_number`** **string** - + 승인 번호 - -**`id`** **\*** **string** + --- -웹훅 ID + **`installment`** **Installment** ---- + 할부 정보 -**`status`** **WebhookStatus** + --- -웹훅 전송 상태 + **`card_point_used`** **boolean** -`"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` + 카드 포인트 사용여부 ---- + --- +
-**`type`** **WebhookType** + --- -웹훅 유형 + **`charge`** **Charge** -`"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` + 충전식 포인트 결제 정보 ---- +
+

Charge

-**`url`** **\*** **string** + **`bank_code`** **string** -웹훅이 발송된 url + 표준 은행 코드 (계좌 이체시 입력됨) ---- + --- +
-**`is_async`** **boolean** + --- -비동기 웹훅 여부 + **`transfer`** **Transfer** ---- + 계좌이체 정보 -**`current_execution`** **integer** +
+

Transfer

-현재 발송 횟수 + **`bank_code`** **string** ---- + 표준 은행 코드 -**`max_execution`** **integer** + --- +
-최대 발송 횟수 + --- +
+
---- + + + **`type`** **GiftCertificateType** -**`webhook_trigger`** **WebhookTrigger** + `"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` -웹훅 실행 주체 + --- -`"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` + **`approval_number`** **\*** **string** ---- + 상품권 승인번호 -**`request`** **WebhookRequest** + --- + -웹훅 요청 정보 + + **`month`** **\*** **integer** -
-

WebhookRequest

+ 할부 개월 수 -**`header`** **object** + --- -요청 header + **`is_interest_free`** **\*** **boolean** ---- + 무이자할부 여부 -**`body`** **\*** **string** + --- + -요청 body + + **`carrier`** **Carrier** ---- + 통신사 -**`requested_at`** **string** + `"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` -요청 시각 + --- ---- + **`phone_number`** **string** -
+ 휴대전화번호 ---- + --- +
-**`response`** **WebhookResponse** + + **`country`** **Country** -웹훅 응답 정보 + 국가 코드 -
-

WebhookResponse

+ `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -**`code`** **\*** **string** + --- -웹훅 응답 http 코드 + **`province`** **string** ---- + 시/도/구 -**`header`** **\*** **object** + --- -응답 header + **`city`** **string** ---- + 도시 -**`body`** **\*** **string** + --- -응답 body + **`address_line_1`** **\*** **string** ---- + 일반 주소 -**`responded_at`** **\*** **string** + --- -응답 시각 + **`address_line_2`** **\*** **string** ---- + 상세 주소 -
+ --- +
+
---- + + + **`id`** **\*** **string** -**`triggered_at`** **string** + 포트원 채번 거래번호 -웹훅 처리 시작 시각 + --- ---- + **`is_primary`** **\*** **boolean** - - + 대표 트랜잭션 여부 -
+ --- - - - -**`code`** **\*** **string** + **`version`** **\*** **Version** -`"UNAUTHORIZED"` + 포트원 내부 결제시스템 버전 ---- + `"V1"`, `"V2"` -**`params`** **object** + --- -에러 세부사항 + **`method`** **PaymentMethod** ---- + 결제수단 목록 - - + `"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` - + --- - - - -**`code`** **\*** **string** + **`channel`** **Channel** -`"PAYMENT_NOT_FOUND"` + 결제 채널 정보 ---- +
+

Channel

-**`params`** **object** + **`id`** **string** -에러 세부사항 + 채널 ID ---- + --- - - + **`name`** **string** - + 채널 이름 - - - -**`code`** **\*** **string** + --- -`"PORTONE_ERROR"`, `"WEBHOOK_ERROR"` + **`key`** **string** ---- + 채널 키 -**`params`** **object** + --- -에러 세부사항 + **`type`** **\*** **ChannelType** ---- + 채널 유형 - - + `"LIVE"`, `"TEST"` - + --- - + **`pg_provider`** **\*** **PgProvider** -## ⌨ 가상계좌 테스트 웹훅 호출 + 결제대행사(PG사) - - -가상계좌 테스트 결제 건에 대한 입금 통보 웹훅을 호출합니다. + `"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` - + --- -### Parameters + **`pg_merchant_id`** **\*** **string** -#### Path + PG사에 등록된 고객사 ID - -결제 ID + --- +
- + --- -#### Query + **`schedule_id`** **string** - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + 예약결제 ID - 예약결제에만 해당됩니다. - + --- -### Responses + **`billing_key`** **string** - - - -**`tx_id`** **\*** **string** + 결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. -웹훅 기준 트랜잭션 ID + --- ---- + **`notifications`** **Array\[notification\_Notification]** -**`webhook_id`** **string** + 웹훅 발송 내역 -재발송 대상 웹훅 아이디 (값을 넣지 않으면 가장 최근의 웹훅 아이디 기준으로 재전송) 비동기 웹훅이거나 웹훅 처리에 너무 오랜 시간이 걸리는 경우 값이 비어있을 수 있습니다. +
+

notification\_Notification

---- + **`webhook`** **Webhook** -**`payment`** **\*** **Payment** + 웹훅 정보 -결제내역 + --- +
-
-

Payment

+ --- -**`id`** **\*** **string** + **`status_updated_at`** **string** -고객사에서 입력한 결제 ID + 상태변경시각 ---- + --- -**`merchant_id`** **\*** **string** + **`updated_at`** **\*** **string** -고객사 ID + 수정 시각 ---- + --- -**`store_id`** **\*** **string** + **`order_name`** **\*** **string** -하위 상점 ID + 주문명 ---- + --- -**`transactions`** **\*** **Array\[Transaction]** + **`status`** **\*** **TransactionStatus** -동일한 `payment_id`로 결제시도된 결제내역들 + 결제 건의 상태를 나타내는 enum string ---- + `"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` -
+ --- ---- + **`amount`** **\*** **TransactionAmount** -
+ 결제 금액 및 통화 관련 세부 정보 - -**`detail`** **CardDetail** +
+

TransactionAmount

-카드 정보 + **`currency`** **\*** **Currency** -
-

CardDetail

+ 통화 -**`publisher`** **string** + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` -발행사 코드 + --- ---- + **`total`** **\*** **integer** -**`issuer`** **string** + 결제 요청 금액 -발급사 코드 + --- ---- + **`tax_free`** **\*** **integer** -**`brand`** **CardBrand** + 면세금액 -카드 브랜드 + --- -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + **`vat`** **integer** ---- + 부가세 -**`card_type`** **CardType** + --- -카드 종류 + **`supply`** **integer** -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + 공급가액 ---- + --- -**`card_owner_type`** **CardOwnerType** + **`discount`** **\*** **integer** -카드 소유주 유형 + 할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) -`"PERSONAL"`, `"CORPORATE"` + --- ---- + **`paid`** **\*** **integer** -**`bin`** **string** + 실제 결제 금액 -카드 빈넘버 + --- ---- + **`cancelled`** **\*** **integer** -**`name`** **string** + 취소 금액 -카드전표인자명 + --- ---- + **`cancelled_tax_free`** **\*** **integer** -
+ 취소 금액 중 면세 금액 ---- + --- +
-**`number`** **string** + --- -마스킹된 카드 번호 + **`customer`** **\*** **Customer** ---- + 구매자 정보 -**`approval_number`** **string** +
+

Customer

-승인 번호 + **`id`** **string** ---- + 구매자 ID -**`installment`** **Installment** + --- -할부 정보 + **`name`** **string** -
-

Installment

+ 구매자 이름 -**`month`** **\*** **integer** + --- -할부 개월 수 + **`birthYear`** **string** ---- + 구매자 생년 -**`is_interest_free`** **\*** **boolean** + --- -무이자할부 여부 + **`gender`** **Gender** ---- + `"MALE"`, `"FEMALE"`, `"OTHER"` -
+ --- ---- + **`email`** **string** -**`card_point_used`** **boolean** + 구매자 이메일 -카드 포인트 사용여부 + --- ---- + **`phone_number`** **string** - + 구매자 전화번호 - -**`publisher`** **string** + --- -발행사 코드 + **`one_line_address`** **string** ---- + 구매자 주소 (한 줄) -**`issuer`** **string** + --- -발급사 코드 + **`separated_address`** **SeparatedAddress** ---- + 구매자 주소 (단위별) -**`brand`** **CardBrand** + --- -카드 브랜드 + **`zipcode`** **string** -`"LOCAL"`, `"MASTER"`, `"UNIONPAY"`, `"VISA"`, `"JCB"`, `"AMEX"`, `"DINERS"` + 구매자 우편번호 ---- + --- +
-**`card_type`** **CardType** + --- -카드 종류 + **`origin`** **\*** **Origin** -`"CREDIT"`, `"DEBIT"`, `"GIFT"` + 결제를 요청한 근원에 대한 정보 ---- +
+

Origin

-**`card_owner_type`** **CardOwnerType** + **`platform_type`** **\*** **string** -카드 소유주 유형 + 결제를 요청한 단말의 플랫폼 분류 -`"PERSONAL"`, `"CORPORATE"` + `"PC"`, `"MOBILE"`, `"API"` ---- + --- -**`bin`** **string** + **`user_agent`** **string** -카드 빈넘버 + 결제근원의 환경 정보 (Http 의 User-Agent header value) ---- + --- -**`name`** **string** + **`url`** **string** -카드전표인자명 + 결제근원의 페이지 url ---- + --- - + **`ip_address`** **\*** **string** - -**`easy_pay_provider`** **\*** **EasyPayProvider** + 결제근원의 IP 주소 -간편결제 PG사 + --- +
-`"PAYCO"`, `"SAMSUNGPAY"`, `"SSGPAY"`, `"KAKAOPAY"`, `"NAVERPAY"`, `"CHAI"`, `"LPAY"`, `"KPAY"`, `"TOSSPAY"`, `"LGPAY"`, `"PINPAY"`, `"APPLEPAY"` + --- ---- + **`is_cultural_expense`** **boolean** -**`card`** **Card** + 문화비 지출 여부 -카드 결제 정보 + --- -
-

Card

+ **`is_escrow`** **\*** **boolean** -**`detail`** **CardDetail** + 에스크로 여부 -카드 정보 + --- ---- + **`escrow_detail`** **EscrowDetail** -**`number`** **string** + 에스크로 결제 정보 -마스킹된 카드 번호 +
+

EscrowDetail

---- + **`company`** **\*** **string** -**`approval_number`** **string** + 택배사 -승인 번호 + --- ---- + **`invoice_number`** **\*** **string** -**`installment`** **Installment** + 송장번호 -할부 정보 + --- ---- + **`status`** **EscrowStatus** -**`card_point_used`** **boolean** + 에스크로 상태 -카드 포인트 사용여부 + `"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` ---- + --- -
+ **`sent_at`** **string** ---- + 발송 일시 (배송이 발송되었을 경우 제공) -**`charge`** **Charge** + --- -충전식 포인트 결제 정보 + **`applied_at`** **string** -
-

Charge

+ 배송등록 처리 일자 -**`bank_code`** **string** + --- +
-표준 은행 코드 (계좌 이체시 입력됨) + --- ---- + **`products`** **Array\[Product]** -
+ 상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. ---- +
+

Product

-**`transfer`** **Transfer** + **`id`** **\*** **string** -계좌이체 정보 + 상품 ID -
-

Transfer

+ --- -**`bank_code`** **string** + **`name`** **\*** **string** -표준 은행 코드 + 상품명 ---- + --- -
+ **`tag`** **string** ---- + 상품 태그(카테고리) - - + --- - - -**`type`** **GiftCertificateType** + **`code`** **string** -`"BOOKNLIFE"`, `"SMART_MUNSANG"`, `"CULTURELAND"`, `"HAPPYMONEY"` + 상품 코드 ---- + --- -**`approval_number`** **\*** **string** + **`amount`** **\*** **integer** -상품권 승인번호 + 상품 단위가격 ---- + --- - + **`quantity`** **\*** **integer** - -**`month`** **\*** **integer** + 주문 수량 -할부 개월 수 + --- +
---- + --- -**`is_interest_free`** **\*** **boolean** + **`product_count`** **integer** -무이자할부 여부 + 상품 갯수 ---- + --- -
+ **`custom_data`** **string** - -**`carrier`** **Carrier** + 고객사의 결제 데이터 추가 정보 -통신사 + --- -`"SKT"`, `"KT"`, `"LGU"`, `"HELLO"`, `"KCT"`, `"SK7"` + **`requested_at`** **\*** **string** ---- + 결제요청시각 -**`phone_number`** **string** + --- -휴대전화번호 + **`promotion_id`** **string** ---- + 포트원 프로모션 아이디 - + --- - -**`country`** **Country** + **`failure`** **PaymentFailure** -국가 코드 + 결제 실패 정보 -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` +
+

PaymentFailure

---- + **`reason`** **string** -**`province`** **string** + 실패 이유 -시/도/구 + --- ---- + **`pg_code`** **string** -**`city`** **string** + PG사 전달 에러 코드 -도시 + --- ---- + **`pg_message`** **string** -**`address_line_1`** **\*** **string** + PG사 전달 에러 메세지 -일반 주소 + --- +
---- + --- -**`address_line_2`** **\*** **string** + **`failed_at`** **string** -상세 주소 + 결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. ---- + --- -
-
+ **`country`** **Country** - - -**`id`** **\*** **string** + 국가 코드 -포트원 채번 거래번호 + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` ---- + --- -**`is_primary`** **\*** **boolean** + **`paid_at`** **string** -대표 트랜잭션 여부 + 결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. ---- + --- -**`version`** **\*** **Version** + **`payment_method_detail`** **PaymentMethodDetail** -포트원 내부 결제시스템 버전 + 결제 수단 정보 -`"V1"`, `"V2"` +
+

PaymentMethodDetail

---- + **`card`** **Card** -**`method`** **PaymentMethod** + 카드 결제 정보 -결제수단 목록 + --- -`"CARD"`, `"TRANSFER"`, `"VIRTUAL_ACCOUNT"`, `"MOBILE"`, `"GIFT_CERTIFICATE"`, `"EASY_PAY"` + **`transfer`** **Transfer** ---- + 계좌이체 정보 -**`channel`** **Channel** + --- -결제 채널 정보 + **`virtual_account`** **VirtualAccount** -
-

Channel

+ 가상계좌 결제 정보 -**`id`** **string** + --- -채널 ID + **`mobile`** **Mobile** ---- + 모바일결제 정보 -**`name`** **string** + --- -채널 이름 + **`gift_certificate`** **GiftCertificate** ---- + 상품권 결제 정보 -**`key`** **string** + --- -채널 키 + **`easy_pay`** **EasyPay** ---- + 간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) -**`type`** **\*** **ChannelType** + --- +
-채널 유형 + --- -`"LIVE"`, `"TEST"` + **`pg_tx_id`** **string** ---- + PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. -**`pg_provider`** **\*** **PgProvider** + --- -결제대행사(PG사) + **`pg_response`** **string** -`"HTML5_INICIS"`, `"PAYPAL"`, `"PAYPAL_V2"`, `"INICIS"`, `"DANAL"`, `"NICE"`, `"DANAL_TPAY"`, `"JTNET"`, `"UPLUS"`, `"NAVERPAY"`, `"KAKAO"`, `"SETTLE"`, `"KCP"`, `"MOBILIANS"`, `"KAKAOPAY"`, `"NAVERCO"`, `"SYRUP"`, `"KICC"`, `"EXIMBAY"`, `"SMILEPAY"`, `"PAYCO"`, `"KCP_BILLING"`, `"ALIPAY"`, `"PAYPLE"`, `"CHAI"`, `"BLUEWALNUT"`, `"SMARTRO"`, `"SMARTRO_V2"`, `"PAYMENTWALL"`, `"TOSSPAYMENTS"`, `"KCP_QUICK"`, `"DAOU"`, `"GALAXIA"`, `"TOSSPAY"`, `"KCP_DIRECT"`, `"SETTLE_ACC"`, `"SETTLE_FIRM"`, `"INICIS_UNIFIED"`, `"KSNET"`, `"PINPAY"` + PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. ---- + --- -**`pg_merchant_id`** **\*** **string** + **`cash_receipt`** **CashReceiptDetail** -PG사에 등록된 고객사 ID + 현금영수증 정보 ---- +
+

CashReceiptDetail

-
+ **`pg_receipt_id`** **string** ---- + PG사 현금영수증 발급 ID -**`schedule_id`** **string** + --- -예약결제 ID - 예약결제에만 해당됩니다. + **`issue_number`** **\*** **string** ---- + 현금영수증 승인번호 -**`billing_key`** **string** + --- -결제를 발생시킨 빌링키 - 빌링키결제에만 해당됩니다. + **`type`** **CashReceiptType** ---- + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` -**`notifications`** **Array\[notification_Notification]** + --- -웹훅 발송 내역 + **`amount`** **\*** **integer** -
-

notification_Notification

+ 금액 -**`webhook`** **Webhook** + --- -웹훅 정보 + **`tax_free_amount`** **integer** ---- + 면세금액 -
+ --- ---- + **`status`** **CashReceiptStatus** -**`status_updated_at`** **string** + `"ISSUED"`, `"CANCELLED"` -상태변경시각 + --- ---- + **`issued_at`** **\*** **string** -**`updated_at`** **\*** **string** + 발급일시 -수정 시각 + --- ---- + **`cancelled_at`** **string** -**`order_name`** **\*** **string** + 취소일시 (`status`가 `CANCELLED`인 경우 제공) -주문명 + --- ---- + **`receipt_url`** **string** -**`status`** **\*** **TransactionStatus** + 영수증 url -결제 건의 상태를 나타내는 enum string + --- +
-`"READY"`, `"PENDING"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"PAID"`, `"FAILED"`, `"PARTIAL_CANCELLED"`, `"CANCELLED"` + --- ---- + **`cancellations`** **Array\[Cancellation]** -**`amount`** **\*** **TransactionAmount** + 취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. -결제 금액 및 통화 관련 세부 정보 +
+

Cancellation

-
-

TransactionAmount

+ **`id`** **\*** **string** -**`currency`** **\*** **Currency** + 취소 ID -통화 + --- -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + **`pg_cancellation_id`** **\*** **string** ---- + PG사 취소 ID -**`total`** **\*** **integer** + --- -결제 요청 금액 + **`cancel_amount`** **\*** **integer** ---- + 취소 금액 -**`tax_free`** **\*** **integer** + --- -면세금액 + **`tax_free_amount`** **\*** **integer** ---- + 취소 면세 금액 -**`vat`** **integer** + --- -부가세 + **`easy_pay_discount_amount`** **integer** ---- + 적립형 포인트의 환불 금액 -**`supply`** **integer** + --- -공급가액 + **`reason`** **\*** **string** ---- + 취소 사유 -**`discount`** **\*** **integer** + --- -할인금액 (카드사 프로모션, 아임포트 프로모션, 적립형 포인트 결제, 쿠폰 할인 등을 포함) + **`cancelled_at`** **string** ---- + 취소일시 -**`paid`** **\*** **integer** + --- -실제 결제 금액 + **`requested_at`** **\*** **string** ---- + 취소요청일시 -**`cancelled`** **\*** **integer** + --- -취소 금액 + **`status`** **\*** **CancellationStatus** ---- + 취소 상태 -**`cancelled_tax_free`** **\*** **integer** + `"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` -취소 금액 중 면세 금액 + --- +
---- + --- -
+ **`cancelled_at`** **string** ---- + 결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. -**`customer`** **\*** **Customer** + --- +
-구매자 정보 + + **`bank_code`** **string** -
-

Customer

+ 표준 은행 코드 -**`id`** **string** + --- + -구매자 ID + + **`bank_code`** **string** ---- + 표준 은행 코드 -**`name`** **string** + --- -구매자 이름 + **`account_number`** **\*** **string** ---- + 계좌번호 -**`birthYear`** **string** + --- -구매자 생년 + **`account_type`** **VirtualAccountType** ---- + 계좌 유형 -**`gender`** **Gender** + `"FIXED"`, `"NORMAL"` -`"MALE"`, `"FEMALE"`, `"OTHER"` + --- ---- + **`remittee_name`** **string** -**`email`** **string** + 계좌주 -구매자 이메일 + --- ---- + **`remitter_name`** **string** -**`phone_number`** **string** + 송금인 (입금자) -구매자 전화번호 + --- ---- + **`expired_at`** **string** -**`one_line_address`** **string** + 입금만료시점 -구매자 주소 (한 줄) + --- ---- + **`issued_at`** **string** -**`separated_address`** **SeparatedAddress** + 계좌발급시점 -구매자 주소 (단위별) + --- ---- + **`refund_status`** **RefundStatus** -**`zipcode`** **string** + 가상계좌 결제가 환불 단계일 때의 환불 상태 -구매자 우편번호 + `"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` ---- + --- + -
+ + **`id`** **\*** **string** ---- + 웹훅 ID -**`origin`** **\*** **Origin** + --- -결제를 요청한 근원에 대한 정보 + **`status`** **WebhookStatus** -
-

Origin

+ 웹훅 전송 상태 -**`platform_type`** **\*** **string** + `"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` -결제를 요청한 단말의 플랫폼 분류 + --- -`"PC"`, `"MOBILE"`, `"API"` + **`type`** **WebhookType** ---- + 웹훅 유형 -**`user_agent`** **string** + `"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` -결제근원의 환경 정보 (Http 의 User-Agent header value) + --- ---- + **`url`** **\*** **string** -**`url`** **string** + 웹훅이 발송된 url -결제근원의 페이지 url + --- ---- + **`is_async`** **boolean** -**`ip_address`** **\*** **string** + 비동기 웹훅 여부 -결제근원의 IP 주소 + --- ---- + **`current_execution`** **integer** -
+ 현재 발송 횟수 ---- + --- -**`is_cultural_expense`** **boolean** + **`max_execution`** **integer** -문화비 지출 여부 + 최대 발송 횟수 ---- + --- -**`is_escrow`** **\*** **boolean** + **`webhook_trigger`** **WebhookTrigger** -에스크로 여부 + 웹훅 실행 주체 ---- + `"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` -**`escrow_detail`** **EscrowDetail** + --- -에스크로 결제 정보 + **`request`** **WebhookRequest** -
-

EscrowDetail

+ 웹훅 요청 정보 -**`company`** **\*** **string** +
+

WebhookRequest

-택배사 + **`header`** **object** ---- + 요청 header -**`invoice_number`** **\*** **string** + --- -송장번호 + **`body`** **\*** **string** ---- + 요청 body -**`status`** **EscrowStatus** + --- -에스크로 상태 + **`requested_at`** **string** -`"REGISTERED"`, `"COMPLETED"`, `"CONFIRMED"`, `"AUTO_CONFIRMED"`, `"REJECTED"`, `"CANCEL"`, `"REJECT_CONFIRMED"` + 요청 시각 ---- + --- +
-**`sent_at`** **string** + --- -발송 일시 (배송이 발송되었을 경우 제공) + **`response`** **WebhookResponse** ---- + 웹훅 응답 정보 -**`applied_at`** **string** +
+

WebhookResponse

-배송등록 처리 일자 + **`code`** **\*** **string** ---- + 웹훅 응답 http 코드 -
+ --- ---- - -**`products`** **Array\[Product]** - -상품 정보 - 에스크로 결제 시 에스크로 상품 정보로 활용됩니다. - -
-

Product

- -**`id`** **\*** **string** - -상품 ID - ---- - -**`name`** **\*** **string** - -상품명 - ---- - -**`tag`** **string** - -상품 태그(카테고리) - ---- - -**`code`** **string** - -상품 코드 - ---- - -**`amount`** **\*** **integer** - -상품 단위가격 - ---- - -**`quantity`** **\*** **integer** - -주문 수량 - ---- - -
- ---- - -**`product_count`** **integer** - -상품 갯수 - ---- - -**`custom_data`** **string** - -고객사의 결제 데이터 추가 정보 - ---- - -**`requested_at`** **\*** **string** - -결제요청시각 - ---- - -**`promotion_id`** **string** - -포트원 프로모션 아이디 - ---- - -**`failure`** **PaymentFailure** - -결제 실패 정보 - -
-

PaymentFailure

- -**`reason`** **string** - -실패 이유 - ---- - -**`pg_code`** **string** - -PG사 전달 에러 코드 - ---- - -**`pg_message`** **string** - -PG사 전달 에러 메세지 - ---- - -
- ---- - -**`failed_at`** **string** - -결제실패시각 - `status`가 `FAILED`인 경우 제공됩니다. - ---- - -**`country`** **Country** - -국가 코드 - -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - ---- - -**`paid_at`** **string** - -결제완료시각 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. - ---- - -**`payment_method_detail`** **PaymentMethodDetail** - -결제 수단 정보 - -
-

PaymentMethodDetail

- -**`card`** **Card** - -카드 결제 정보 - ---- - -**`transfer`** **Transfer** - -계좌이체 정보 - ---- - -**`virtual_account`** **VirtualAccount** - -가상계좌 결제 정보 - ---- - -**`mobile`** **Mobile** - -모바일결제 정보 - ---- - -**`gift_certificate`** **GiftCertificate** - -상품권 결제 정보 - ---- - -**`easy_pay`** **EasyPay** - -간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) - ---- - -
- ---- - -**`pg_tx_id`** **string** - -PG사 거래ID - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. - ---- - -**`pg_response`** **string** - -PG사 거래 응답 본문 - `status`가 `COMPLETED`로 되었을 경우 제공됩니다. - ---- - -**`cash_receipt`** **CashReceiptDetail** - -현금영수증 정보 - -
-

CashReceiptDetail

- -**`pg_receipt_id`** **string** - -PG사 현금영수증 발급 ID - ---- - -**`issue_number`** **\*** **string** - -현금영수증 승인번호 - ---- - -**`type`** **CashReceiptType** - -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` - ---- - -**`amount`** **\*** **integer** - -금액 - ---- - -**`tax_free_amount`** **integer** - -면세금액 - ---- - -**`status`** **CashReceiptStatus** - -`"ISSUED"`, `"CANCELLED"` - ---- - -**`issued_at`** **\*** **string** - -발급일시 - ---- - -**`cancelled_at`** **string** - -취소일시 (`status`가 `CANCELLED`인 경우 제공) - ---- - -**`receipt_url`** **string** - -영수증 url - ---- - -
- ---- - -**`cancellations`** **Array\[Cancellation]** - -취소내역 - `status`가 `CANCELLED`인 경우 제공됩니다. - -
-

Cancellation

- -**`id`** **\*** **string** - -취소 ID - ---- - -**`pg_cancellation_id`** **\*** **string** - -PG사 취소 ID - ---- - -**`cancel_amount`** **\*** **integer** - -취소 금액 - ---- - -**`tax_free_amount`** **\*** **integer** - -취소 면세 금액 - ---- - -**`easy_pay_discount_amount`** **integer** - -적립형 포인트의 환불 금액 - ---- - -**`reason`** **\*** **string** - -취소 사유 - ---- - -**`cancelled_at`** **string** - -취소일시 - ---- - -**`requested_at`** **\*** **string** - -취소요청일시 - ---- - -**`status`** **\*** **CancellationStatus** - -취소 상태 - -`"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` - ---- - -
- ---- - -**`cancelled_at`** **string** - -결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. - ---- - - - - -**`bank_code`** **string** - -표준 은행 코드 - ---- - - - - -**`bank_code`** **string** - -표준 은행 코드 - ---- - -**`account_number`** **\*** **string** - -계좌번호 - ---- - -**`account_type`** **VirtualAccountType** - -계좌 유형 - -`"FIXED"`, `"NORMAL"` - ---- - -**`remittee_name`** **string** - -계좌주 - ---- - -**`remitter_name`** **string** - -송금인 (입금자) - ---- - -**`expired_at`** **string** - -입금만료시점 - ---- - -**`issued_at`** **string** - -계좌발급시점 - ---- - -**`refund_status`** **RefundStatus** - -가상계좌 결제가 환불 단계일 때의 환불 상태 - -`"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` - ---- - - - - -**`id`** **\*** **string** - -웹훅 ID - ---- - -**`status`** **WebhookStatus** - -웹훅 전송 상태 - -`"SUCCEEDED"`, `"REQUEST_FAILED"`, `"CONNECT_FAILED"` - ---- - -**`type`** **WebhookType** - -웹훅 유형 - -`"READY"`, `"PAID"`, `"FAILED"`, `"CANCELLED"`, `"PARTIAL_CANCELLED"`, `"VIRTUAL_ACCOUNT_ISSUED"`, `"CANCEL_PENDING"` - ---- - -**`url`** **\*** **string** - -웹훅이 발송된 url - ---- - -**`is_async`** **boolean** - -비동기 웹훅 여부 - ---- - -**`current_execution`** **integer** - -현재 발송 횟수 - ---- - -**`max_execution`** **integer** - -최대 발송 횟수 - ---- - -**`webhook_trigger`** **WebhookTrigger** - -웹훅 실행 주체 - -`"NOTIFICATION_SETTING"`, `"MANUAL"`, `"VIRTUAL_ACCOUNT_DEPOSIT"`, `"ASYNC_CANCEL_APPROVED"` - ---- - -**`request`** **WebhookRequest** - -웹훅 요청 정보 - -
-

WebhookRequest

- -**`header`** **object** - -요청 header - ---- - -**`body`** **\*** **string** - -요청 body - ---- - -**`requested_at`** **string** - -요청 시각 - ---- - -
- ---- - -**`response`** **WebhookResponse** - -웹훅 응답 정보 - -
-

WebhookResponse

- -**`code`** **\*** **string** - -웹훅 응답 http 코드 - ---- - -**`header`** **\*** **object** - -응답 header - ---- - -**`body`** **\*** **string** - -응답 body - ---- - -**`responded_at`** **\*** **string** - -응답 시각 - ---- - -
- ---- - -**`triggered_at`** **string** - -웹훅 처리 시작 시각 + **`header`** **\*** **object** ---- + 응답 header -
- + --- - + **`body`** **\*** **string** - - - -**`code`** **\*** **string** + 응답 body -`"INVALID_REQUEST"` + --- ---- + **`responded_at`** **\*** **string** -**`params`** **object** + 응답 시각 -에러 세부사항 + --- +
---- + --- -
-
+ **`triggered_at`** **string** -
+ 웹훅 처리 시작 시각 - - - -**`code`** **\*** **string** + --- + + + -`"UNAUTHORIZED"` + + + + **`code`** **\*** **string** ---- + `"INVALID_REQUEST"` -**`params`** **object** + --- -에러 세부사항 + **`params`** **object** ---- + 에러 세부사항 - - + --- +
+
+
-
+ + + + **`code`** **\*** **string** - - - -**`code`** **\*** **string** + `"UNAUTHORIZED"` -`"PAYMENT_NOT_FOUND"` + --- ---- + **`params`** **object** -**`params`** **object** + 에러 세부사항 -에러 세부사항 + --- + + + ---- + + + + **`code`** **\*** **string** - - + `"PAYMENT_NOT_FOUND"` - + --- - - - -**`code`** **\*** **string** + **`params`** **object** -`"PORTONE_ERROR"` + 에러 세부사항 ---- + --- + + + -**`params`** **object** + + + + **`code`** **\*** **string** -에러 세부사항 + `"PORTONE_ERROR"` ---- + --- - - + **`params`** **object** - + 에러 세부사항 + --- + + +
## ⌨ 결제 예약 - - - - -### Parameters - -#### Body - - -빌링키 결제에 사용할 빌링키 - - - -빌링키 결제를 진행하는 상점의 id - - - -주문명 - - - -문화비 지출 여부 (기본값:`"false"`) - - - -에스크로 여부 (기본값:`"false"`) - - - -상품 정보 (에스크로 결제 상품 정보) - - - -고객 정보 - - - -고객사에서 추가로 저장할 데이터 - - - -결제 금액 - - - -면세 금액 (기본값: - -`"0")` - - - -국가 - - - -화폐 - - - -결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. - - - -할부 개월 수 - - - -무이자 할부 이자를 상점이 부담할지 여부 - - - -상품 유형 - - - -상품 개수 - - - -카드 포인트 사용 여부 - - - -각 PG사 별로 필요한 파라미터를 받습니다. - - - - - - - - - -### Responses - - - - -**`id`** **\*** **string** - ---- - -**`scheduled_at`** **\*** **string** - ---- - - - - - - - - - -**`code`** **\*** **string** - -`INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ -`PAST_SCHEDULED`: 현재 시각보다 이전의 시각으로 예약을 요청하였습니다.\ -`PAYMENT_ALREADY_EXISTS`: 해당 payment는 이미 결제되었거나 가상계좌 입금 대기 상태입니다.\ -`PAYMENT_ALREADY_SCHEDULED`: 이미 존재하는 예약건입니다.\ -`BILLING_KEY_DELETED`: 삭제된\_빌링키로\_예약을\_시도했습니다.\ - -`"INVALID_REQUEST"`, `"PAST_SCHEDULED"`, `"PAYMENT_ALREADY_EXISTS"`, `"PAYMENT_ALREADY_SCHEDULED"`, `"BILLING_KEY_DELETED"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - + - - - -**`code`** **\*** **string** - -`UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\ - -`"UNAUTHORIZED"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\ - -`"PERMISSION_DENIED"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ -`BILLING_KEY_NOT_FOUND`: 빌링키를 찾을 수 없습니다.\ - -`"STORE_NOT_FOUND"`, `"BILLING_KEY_NOT_FOUND"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"` - ---- - -**`params`** **object** - -에러 상세 정보를 담은 파라미터 모음 - ---- - - - - - - - - - - -**`address_line_1`** **\*** **string** - -주소1 - ---- - -**`address_line_2`** **\*** **string** - -주소2 - ---- - -**`city`** **string** - -도시 - ---- - -**`province`** **string** - -주, 도, 시 - ---- - -**`country`** **Country** - -국가 - -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - ---- - - - - -국가 - -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - - - - -화폐 - -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` - - - - -**`phone_number`** **string** - -휴대폰 번호 - ---- - -**`customer_name`** **CustomerName** - -고객 이름 정보. full_name만 채워져 있거나, first_name & last_name이 채워져 있어야 함 - -
-

CustomerName

- -**`full_name`** **string** - ---- - -**`first_name`** **string** - ---- - -**`last_name`** **string** - ---- - -
- ---- - -**`email`** **string** - -고객 이메일 - ---- - -**`zipcode`** **string** - -우편번호 - ---- - -**`address`** **Address** - -주소 형식 - -
-

Address

- -**`address_line_1`** **\*** **string** + ### Parameters -주소1 + #### Body ---- - -**`address_line_2`** **\*** **string** - -주소2 - ---- - -**`city`** **string** + + 빌링키 결제에 사용할 빌링키 + -도시 + + 빌링키 결제를 진행하는 상점의 id + ---- + + 주문명 + -**`province`** **string** + + 문화비 지출 여부 (기본값:`"false"`) + -주, 도, 시 + + 에스크로 여부 (기본값:`"false"`) + ---- + + 상품 정보 (에스크로 결제 상품 정보) + -**`country`** **Country** + + 고객 정보 + -국가 + + 고객사에서 추가로 저장할 데이터 + -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + 결제 금액 + ---- + + 면세 금액 (기본값: -
+ `"0")` + ---- + + 국가 + -**`gender`** **Gender** + + 화폐 + -성별 + + 결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + -`"MALE"`, `"FEMALE"`, `"OTHER"` + + 할부 개월 수 + ---- + + 무이자 할부 이자를 상점이 부담할지 여부 + -**`birth_year`** **string** + + 상품 유형 + -출생연도 + + 상품 개수 + ---- + + 카드 포인트 사용 여부 + -**`country`** **Country** + + 각 PG사 별로 필요한 파라미터를 받습니다. + -국가 + -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + ---- + ### Responses -**`birth_month`** **string** + + + + **`id`** **\*** **string** -출생월 + --- ---- + **`scheduled_at`** **\*** **string** -**`birth_day`** **string** + --- + + + -출생일 + + + + **`code`** **\*** **string** ---- + `INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ + `PAST_SCHEDULED`: 현재 시각보다 이전의 시각으로 예약을 요청하였습니다.\ + `PAYMENT_ALREADY_EXISTS`: 해당 payment는 이미 결제되었거나 가상계좌 입금 대기 상태입니다.\ + `PAYMENT_ALREADY_SCHEDULED`: 이미 존재하는 예약건입니다.\ + `BILLING_KEY_DELETED`: 삭제된\_빌링키로\_예약을\_시도했습니다.\\ - - + `"INVALID_REQUEST"`, `"PAST_SCHEDULED"`, `"PAYMENT_ALREADY_EXISTS"`, `"PAYMENT_ALREADY_SCHEDULED"`, `"BILLING_KEY_DELETED"` - - -**`full_name`** **string** + --- ---- + **`params`** **object** -**`first_name`** **string** + 에러 상세 정보를 담은 파라미터 모음 ---- + --- + + + -**`last_name`** **string** + + + + **`code`** **\*** **string** ---- + `UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\ - + `"UNAUTHORIZED"` - -성별 + --- -`"MALE"`, `"FEMALE"`, `"OTHER"` + **`params`** **object** - + 에러 상세 정보를 담은 파라미터 모음 - -**`id`** **\*** **string** + --- + + + ---- + + + + **`code`** **\*** **string** -**`name`** **\*** **string** + `PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\\ ---- + `"PERMISSION_DENIED"` -**`tag`** **string** + --- ---- + **`params`** **object** -**`code`** **string** + 에러 상세 정보를 담은 파라미터 모음 ---- + --- + + + -**`quantity`** **\*** **integer** + + + + **`code`** **\*** **string** ---- + `STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ + `BILLING_KEY_NOT_FOUND`: 빌링키를 찾을 수 없습니다.\\ -**`amount`** **\*** **number** + `"STORE_NOT_FOUND"`, `"BILLING_KEY_NOT_FOUND"` ---- + --- -**`currency`** **\*** **Currency** + **`params`** **object** -화폐 + 에러 상세 정보를 담은 파라미터 모음 -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + --- + + + ---- + + + + **`code`** **\*** **string** - + `"PORTONE_ERROR"` - -상품 유형 + --- -`"REAL"`, `"DIGITAL"` + **`params`** **object** - - + 에러 상세 정보를 담은 파라미터 모음 -## ⌨ 빌링키 결제 + --- +
+
+ + - - + + + **`address_line_1`** **\*** **string** - + 주소1 -### Parameters + --- -#### Path + **`address_line_2`** **\*** **string** - -결제 ID + 주소2 - + --- -#### Body + **`city`** **string** - -빌링키 결제에 사용할 빌링키 + 도시 - - -빌링키 결제를 진행하는 상점의 id + --- - - -주문명 + **`province`** **string** - - -문화비 지출 여부 (기본값: `"false"`) + 주, 도, 시 - - -에스크로 여부 (기본값: `"false"`) + --- - - -상품 정보 (에스크로 결제 상품 정보) + **`country`** **Country** - - -고객 정보 + 국가 - - -고객사에서 추가로 저장할 데이터 + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - - -결제 금액 + --- + - - -면세 금액 (기본값: `"0"`) + + 국가 - - -국가 + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + - - -화폐 + + 화폐 - - -결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + - - -할부 개월 수 + + **`phone_number`** **string** - - -무이자 할부 이자를 상점이 부담할지 여부 + 휴대폰 번호 - - -상품 유형 + --- - - -상품 개수 + **`customer_name`** **CustomerName** - - -카드 포인트 사용 여부 + 고객 이름 정보. full\_name만 채워져 있거나, first\_name & last\_name이 채워져 있어야 함 - - -각 PG사 별로 필요한 파라미터를 받습니다. +
+

CustomerName

- + **`full_name`** **string** -### Responses + --- - - - -**`tx_id`** **\*** **string** + **`first_name`** **string** ---- + --- -**`customer_id`** **\*** **string** + **`last_name`** **string** ---- + --- +
-**`requested_at`** **\*** **string** + --- ---- + **`email`** **string** -**`paid_at`** **\*** **string** + 고객 이메일 ---- + --- -**`pg_tx_id`** **\*** **string** + **`zipcode`** **string** -PG사 거래ID + 우편번호 ---- + --- - - + **`address`** **Address** - + 주소 형식 - - - -**`code`** **\*** **string** +
+

Address

-`INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ -`TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_TOTAL_AMOUNT`: 면세금액은 결제금액보다 작거나 같아야 합니다.\ -`BILLING_KEY_ALREADY_DELETED`: 삭제된 빌링키로 결제를 시도하셨습니다.\ -`PAYMENT_ALREADY_PAID`: 이미 결제되었습니다.\ + **`address_line_1`** **\*** **string** -`"INVALID_REQUEST"`, `"TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_TOTAL_AMOUNT"`, `"BILLING_KEY_ALREADY_DELETED"`, `"PAYMENT_ALREADY_PAID"` + 주소1 ---- + --- -**`params`** **object** + **`address_line_2`** **\*** **string** -에러 상세 정보를 담은 파라미터 모음 + 주소2 ---- + --- - - + **`city`** **string** - + 도시 - - - -**`code`** **\*** **string** + --- -`UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\ + **`province`** **string** -`"UNAUTHORIZED"` + 주, 도, 시 ---- + --- -**`params`** **object** + **`country`** **Country** -에러 상세 정보를 담은 파라미터 모음 + 국가 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` - - + --- +
-
+ --- - - - -**`code`** **\*** **string** + **`gender`** **Gender** -`PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\ + 성별 -`"PERMISSION_DENIED"` + `"MALE"`, `"FEMALE"`, `"OTHER"` ---- + --- -**`params`** **object** + **`birth_year`** **string** -에러 상세 정보를 담은 파라미터 모음 + 출생연도 ---- + --- - - + **`country`** **Country** - + 국가 - - - -**`code`** **\*** **string** + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -`STORE_NOT_FOUND`: 하위\_상점을\_찾을\_수\_없습니다.\ -`BILLING_KEY_NOT_FOUND`: 빌링키를 찾을 수 없습니다.\ + --- -`"STORE_NOT_FOUND"`, `"BILLING_KEY_NOT_FOUND"` + **`birth_month`** **string** ---- + 출생월 -**`params`** **object** + --- -에러 상세 정보를 담은 파라미터 모음 + **`birth_day`** **string** ---- + 출생일 - + --- + - - - - -**`code`** **\*** **string** + + **`full_name`** **string** -`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` + --- ---- + **`first_name`** **string** -**`params`** **object** + --- -에러 상세 정보를 담은 파라미터 모음 + **`last_name`** **string** ---- + --- + - - + + 성별 - + `"MALE"`, `"FEMALE"`, `"OTHER"` + -
+ + **`id`** **\*** **string** - - -**`address_line_1`** **\*** **string** + --- -주소1 + **`name`** **\*** **string** ---- + --- -**`address_line_2`** **\*** **string** + **`tag`** **string** -주소2 + --- ---- + **`code`** **string** -**`city`** **string** + --- -도시 + **`quantity`** **\*** **integer** ---- + --- -**`province`** **string** + **`amount`** **\*** **number** -주, 도, 시 + --- ---- + **`currency`** **\*** **Currency** -**`country`** **country_Country** + 화폐 -국가 + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + --- + ---- + + 상품 유형 - + `"REAL"`, `"DIGITAL"` + + - -국가 +## ⌨ 빌링키 결제 -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + - + ### Parameters - -화폐 + #### Path -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + + 결제 ID + - + #### Body - -**`phone_number`** **string** + + 빌링키 결제에 사용할 빌링키 + -휴대폰 번호 + + 빌링키 결제를 진행하는 상점의 id + ---- + + 주문명 + -**`customer_name`** **CustomerName** + + 문화비 지출 여부 (기본값: `"false"`) + -고객 이름 정보. full_name만 채워져 있거나, first_name & last_name이 채워져 있어야 함 + + 에스크로 여부 (기본값: `"false"`) + -
-

CustomerName

+ + 상품 정보 (에스크로 결제 상품 정보) + -**`full_name`** **string** + + 고객 정보 + ---- + + 고객사에서 추가로 저장할 데이터 + -**`first_name`** **string** + + 결제 금액 + ---- + + 면세 금액 (기본값: `"0"`) + -**`last_name`** **string** + + 국가 + ---- + + 화폐 + -
+ + 결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + ---- + + 할부 개월 수 + + + + 무이자 할부 이자를 상점이 부담할지 여부 + -**`email`** **string** + + 상품 유형 + -고객 이메일 + + 상품 개수 + ---- + + 카드 포인트 사용 여부 + -**`zipcode`** **string** + + 각 PG사 별로 필요한 파라미터를 받습니다. + -우편번호 + ### Responses ---- + + + + **`tx_id`** **\*** **string** -**`address`** **Address** + --- -주소 형식 + **`customer_id`** **\*** **string** -
-

Address

+ --- -**`address_line_1`** **\*** **string** + **`requested_at`** **\*** **string** -주소1 + --- ---- + **`paid_at`** **\*** **string** -**`address_line_2`** **\*** **string** + --- -주소2 + **`pg_tx_id`** **\*** **string** ---- + PG사 거래ID -**`city`** **string** + --- + + + -도시 + + + + **`code`** **\*** **string** ---- + `INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ + `TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_TOTAL_AMOUNT`: 면세금액은 결제금액보다 작거나 같아야 합니다.\ + `BILLING_KEY_ALREADY_DELETED`: 삭제된 빌링키로 결제를 시도하셨습니다.\ + `PAYMENT_ALREADY_PAID`: 이미 결제되었습니다.\\ -**`province`** **string** + `"INVALID_REQUEST"`, `"TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_TOTAL_AMOUNT"`, `"BILLING_KEY_ALREADY_DELETED"`, `"PAYMENT_ALREADY_PAID"` -주, 도, 시 + --- ---- + **`params`** **object** -**`country`** **country_Country** + 에러 상세 정보를 담은 파라미터 모음 -국가 + --- + + + -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + + + **`code`** **\*** **string** ---- + `UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\ -
+ `"UNAUTHORIZED"` ---- + --- -**`gender`** **gender_Gender** + **`params`** **object** -성별 + 에러 상세 정보를 담은 파라미터 모음 -`"MALE"`, `"FEMALE"`, `"OTHER"` + --- +
+
+
---- + + + + **`code`** **\*** **string** -**`birth_year`** **string** + `PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\\ -출생연도 + `"PERMISSION_DENIED"` ---- + --- -**`country`** **country_Country** + **`params`** **object** -국가 + 에러 상세 정보를 담은 파라미터 모음 -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + --- + + + ---- + + + + **`code`** **\*** **string** -**`birth_month`** **string** + `STORE_NOT_FOUND`: 하위\_상점을\_찾을\_수\_없습니다.\ + `BILLING_KEY_NOT_FOUND`: 빌링키를 찾을 수 없습니다.\\ -출생월 + `"STORE_NOT_FOUND"`, `"BILLING_KEY_NOT_FOUND"` ---- + --- -**`birth_day`** **string** + **`params`** **object** -출생일 + 에러 상세 정보를 담은 파라미터 모음 ---- + --- + + + -
- + + + + **`code`** **\*** **string** - - -**`full_name`** **string** + `"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` ---- + --- -**`first_name`** **string** + **`params`** **object** ---- + 에러 상세 정보를 담은 파라미터 모음 -**`last_name`** **string** + --- + + + + ---- + + + **`address_line_1`** **\*** **string** - + 주소1 - -성별 + --- -`"MALE"`, `"FEMALE"`, `"OTHER"` + **`address_line_2`** **\*** **string** - + 주소2 - -**`id`** **\*** **string** + --- ---- + **`city`** **string** -**`name`** **\*** **string** + 도시 ---- + --- -**`tag`** **string** + **`province`** **string** ---- + 주, 도, 시 -**`code`** **string** + --- ---- + **`country`** **country\_Country** -**`quantity`** **\*** **integer** + 국가 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -**`amount`** **\*** **number** + --- + ---- + + 국가 -**`currency`** **\*** **currency_Currency** + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + -화폐 + + 화폐 -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + ---- + + **`phone_number`** **string** - + 휴대폰 번호 - -상품 유형 + --- -`"REAL"`, `"DIGITAL"` + **`customer_name`** **CustomerName** - - + 고객 이름 정보. full\_name만 채워져 있거나, first\_name & last\_name이 채워져 있어야 함 -## ⌨ 키인(수기) 결제 / 가상계좌 발급 +
+

CustomerName

- - + **`full_name`** **string** - + --- -### Parameters + **`first_name`** **string** -#### Path + --- - + **`last_name`** **string** - + --- +
-#### Body + --- - -하위 상점 ID + **`email`** **string** - - + 고객 이메일 - - -문화비 지출 여부 (기본값: `"false"`) + --- - - -에스크로 여부 (기본값: `"false"`) + **`zipcode`** **string** - - -상품 정보. 아래 두 가지 목적으로 사용함. + 우편번호 - - -고객 정보 + --- - - + **`address`** **Address** - - -결제 금액 + 주소 형식 - - -면세 금액 (기본값: `"0"`) +
+

Address

- - -국가 + **`address_line_1`** **\*** **string** - - -화폐 + 주소1 - - -결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + --- - - -결제 채널 키 + **`address_line_2`** **\*** **string** - - -상품 유형 + 주소2 - - -상품 개수 + --- - - -가능한 결제 수단: 카드, 가상계좌 선택한 결제 수단에 따라 + **`city`** **string** -`card` + 도시 -와 + --- -`virtual_account` + **`province`** **string** -중 하나에만 값이 들어있어야 합니다. + 주, 도, 시 - + --- -### Responses + **`country`** **country\_Country** - - - -**`tx_id`** **\*** **string** + 국가 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -**`customer_id`** **\*** **string** + --- +
---- + --- -**`requested_at`** **\*** **string** + **`gender`** **gender\_Gender** ---- + 성별 -**`paid_at`** **\*** **string** + `"MALE"`, `"FEMALE"`, `"OTHER"` ---- + --- -**`pg_tx_id`** **\*** **string** + **`birth_year`** **string** -PG사 거래ID + 출생연도 ---- + --- - - + **`country`** **country\_Country** - + 국가 - - - -**`code`** **\*** **string** + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -`INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ -`TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_TOTAL_AMOUNT`: 면세금액은\_결제금액보다\_작거나\_같아야\_합니다.\ -`PAYMENT_ALREADY_PAID`: 이미 결제되었습니다.\ + --- -`"INVALID_REQUEST"`, `"TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_TOTAL_AMOUNT"`, `"PAYMENT_ALREADY_PAID"` + **`birth_month`** **string** ---- + 출생월 -**`params`** **object** + --- -에러 상세 정보를 담은 파라미터 모음 + **`birth_day`** **string** ---- + 출생일 - + --- + - - - - -**`code`** **\*** **string** + + **`full_name`** **string** -`UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\ + --- -`"UNAUTHORIZED"` + **`first_name`** **string** ---- + --- -**`params`** **object** + **`last_name`** **string** -에러 상세 정보를 담은 파라미터 모음 + --- + ---- + + 성별 - - + `"MALE"`, `"FEMALE"`, `"OTHER"` + - + + **`id`** **\*** **string** - - - -**`code`** **\*** **string** + --- -`PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\ + **`name`** **\*** **string** -`"PERMISSION_DENIED"` + --- ---- + **`tag`** **string** -**`params`** **object** + --- -에러 상세 정보를 담은 파라미터 모음 + **`code`** **string** ---- + --- - - + **`quantity`** **\*** **integer** - + --- - - - -**`code`** **\*** **string** + **`amount`** **\*** **number** -`STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ -`CHANNEL_NOT_FOUND`: 결제 채널을 찾을 수 없습니다.\ + --- -`"STORE_NOT_FOUND"`, `"CHANNEL_NOT_FOUND"` + **`currency`** **\*** **currency\_Currency** ---- + 화폐 -**`params`** **object** + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` -에러 상세 정보를 담은 파라미터 모음 + --- + ---- + + 상품 유형 - + `"REAL"`, `"DIGITAL"` + - +## ⌨ 키인(수기) 결제 / 가상계좌 발급 - - - -**`code`** **\*** **string** + + -`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` + ### Parameters ---- + #### Path -**`params`** **object** + -에러 상세 정보를 담은 파라미터 모음 + #### Body ---- + + 하위 상점 ID + - - + - + + 문화비 지출 여부 (기본값: `"false"`) + - + + 에스크로 여부 (기본값: `"false"`) + - - -**`address_line_1`** **\*** **string** + + 상품 정보. 아래 두 가지 목적으로 사용함. + -주소1 + + 고객 정보 + ---- + -**`address_line_2`** **\*** **string** + + 결제 금액 + -주소2 + + 면세 금액 (기본값: `"0"`) + ---- + + 국가 + -**`city`** **string** + + 화폐 + -도시 + + 결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + ---- + + 결제 채널 키 + -**`province`** **string** + + 상품 유형 + -주, 도, 시 + + 상품 개수 + ---- + + 가능한 결제 수단: 카드, 가상계좌 선택한 결제 수단에 따라 -**`country`** **country_Country** + `card` -국가 + 와 -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + `virtual_account` ---- + 중 하나에만 값이 들어있어야 합니다. + - + ### Responses - -은행 + + + + **`tx_id`** **\*** **string** -`"BANK_OF_KOREA"`, `"KOREA_DEVELOPMENT_BANK"`, `"INDUSTRIAL_BANK_OF_KOREA"`, `"KOOKMIN_BANK"`, `"SUHYUP_BANK"`, `"EXPORT_IMPORT_BANK_OF_KOREA"`, `"NH_NONGHYUP_BANK"`, `"LOCAL_NONGHYUP"`, `"WOORI_BANK"`, `"SC_BANK_KOREA"`, `"CITI_BANK_KOREA"`, `"DAEGU_BANK"`, `"BUSAN_BANK"`, `"GWANGJU_BANK"`, `"JEJU_BANK"`, `"JEONBUK_BANK"`, `"KYONGNAM_BANK"`, `"KFCC"`, `"SHINHYUP"`, `"SAVINGS_BANK_KOREA"`, `"MORGAN_STANLEY_BANK"`, `"HSBC_BANK"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN_CHASE_BANK"`, `"MIZUHO_BANK"`, `"MUFG_BANK"`, `"BANK_OF_AMERICA_BANK"`, `"BNP_PARIBAS_BANK"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"NATIONAL_FORESTRY_COOPERATIVE_FEDERATION"`, `"UNITED_OVERSEAS_BANK"`, `"BANK_OF_COMMUNICATIONS"`, `"CHINA_CONSTRUCTION_BANK"`, `"EPOST"`, `"KODIT"`, `"KIBO"`, `"HANA_BANK"`, `"SHINHAN_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"`, `"KCIS"`, `"DAISHIN_SAVINGS_BANK"`, `"SBI_SAVINGS_BANK"`, `"HK_SAVINGS_BANK"`, `"WELCOME_SAVINGS_BANK"`, `"SHINHAN_SAVINGS_BANK"`, `"KYOBO_SECURITIES"`, `"DAISHIN_SECURITIES"`, `"MERITZ_SECURITIES"`, `"MIRAE_ASSET_SECURITIES"`, `"BOOKOOK_SECURITIES"`, `"SAMSUNG_SECURITIES"`, `"SHINYOUNG_SECURITIES"`, `"SHINHAN_FINANCIAL_INVESTMENT"`, `"YUANTA_SECURITIES"`, `"EUGENE_INVESTMENT_SECURITIES"`, `"KAKAO_PAY_SECURITIES"`, `"TOSS_SECURITIES"`, `"KOREA_FOSS_SECURITIES"`, `"HANA_FINANCIAL_INVESTMENT"`, `"HI_INVESTMENT_SECURITIES"`, `"KOREA_INVESTMENT_SECURITIES"`, `"HANWHA_INVESTMENT_SECURITIES"`, `"HYUNDAI_MOTOR_SECURITIES"`, `"DB_FINANCIAL_INVESTMENT"`, `"KB_SECURITIES"`, `"KTB_INVESTMENT_SECURITIES"`, `"NH_INVESTMENT_SECURITIES"`, `"SK_SECURITIES"`, `"SGI"`, `"KIWOOM_SECURITIES"`, `"EBEST_INVESTMENT_SECURITIES"`, `"CAPE_INVESTMENT_CERTIFICATE"` + --- - + **`customer_id`** **\*** **string** - -**`card_number`** **\*** **string** + --- ---- + **`requested_at`** **\*** **string** -**`expiry_month`** **\*** **string** + --- ---- + **`paid_at`** **\*** **string** -**`expiry_year`** **\*** **string** + --- ---- + **`pg_tx_id`** **\*** **string** -**`birth_or_business_registration_number`** **\*** **string** + PG사 거래ID ---- + --- + + + -**`password_two_digits`** **\*** **string** + + + + **`code`** **\*** **string** ---- + `INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ + `TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_TOTAL_AMOUNT`: 면세금액은\_결제금액보다\_작거나\_같아야\_합니다.\ + `PAYMENT_ALREADY_PAID`: 이미 결제되었습니다.\\ - + `"INVALID_REQUEST"`, `"TAX_FREE_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_TOTAL_AMOUNT"`, `"PAYMENT_ALREADY_PAID"` - -현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스 + --- -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + **`params`** **object** - - + 에러 상세 정보를 담은 파라미터 모음 - - -국가 + --- + + + -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + + + **`code`** **\*** **string** - + `UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\ - -화폐 + `"UNAUTHORIZED"` -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + --- - + **`params`** **object** - -**`customer_id`** **string** + 에러 상세 정보를 담은 파라미터 모음 -고객사의 고객 고유 ID - 값을 넣지 않으면 PortOne에서 자체 채번합니다. + --- + + + ---- + + + + **`code`** **\*** **string** -**`phone_number`** **string** + `PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\\ -휴대폰 번호 + `"PERMISSION_DENIED"` ---- + --- -**`customer_name`** **CustomerName** + **`params`** **object** -고객 이름 정보. full_name만 채워져 있거나, first_name & last_name이 채워져 있어야 함 + 에러 상세 정보를 담은 파라미터 모음 -
-

CustomerName

+ --- + + + -**`full_name`** **string** + + + + **`code`** **\*** **string** ---- + `STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ + `CHANNEL_NOT_FOUND`: 결제 채널을 찾을 수 없습니다.\\ -**`first_name`** **string** + `"STORE_NOT_FOUND"`, `"CHANNEL_NOT_FOUND"` ---- + --- -**`last_name`** **string** + **`params`** **object** ---- + 에러 상세 정보를 담은 파라미터 모음 -
+ --- +
+
+
---- + + + + **`code`** **\*** **string** -**`email`** **string** + `"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` -고객 이메일 + --- ---- + **`params`** **object** -**`zipcode`** **string** + 에러 상세 정보를 담은 파라미터 모음 -우편번호 + --- + + + + ---- + + + **`address_line_1`** **\*** **string** -**`address`** **Address** + 주소1 -주소 형식 + --- -
-

Address

+ **`address_line_2`** **\*** **string** -**`address_line_1`** **\*** **string** + 주소2 -주소1 + --- ---- + **`city`** **string** -**`address_line_2`** **\*** **string** + 도시 -주소2 + --- ---- + **`province`** **string** -**`city`** **string** + 주, 도, 시 -도시 + --- ---- + **`country`** **country\_Country** -**`province`** **string** + 국가 -주, 도, 시 + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` ---- + --- + -**`country`** **country_Country** + + 은행 -국가 + `"BANK_OF_KOREA"`, `"KOREA_DEVELOPMENT_BANK"`, `"INDUSTRIAL_BANK_OF_KOREA"`, `"KOOKMIN_BANK"`, `"SUHYUP_BANK"`, `"EXPORT_IMPORT_BANK_OF_KOREA"`, `"NH_NONGHYUP_BANK"`, `"LOCAL_NONGHYUP"`, `"WOORI_BANK"`, `"SC_BANK_KOREA"`, `"CITI_BANK_KOREA"`, `"DAEGU_BANK"`, `"BUSAN_BANK"`, `"GWANGJU_BANK"`, `"JEJU_BANK"`, `"JEONBUK_BANK"`, `"KYONGNAM_BANK"`, `"KFCC"`, `"SHINHYUP"`, `"SAVINGS_BANK_KOREA"`, `"MORGAN_STANLEY_BANK"`, `"HSBC_BANK"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN_CHASE_BANK"`, `"MIZUHO_BANK"`, `"MUFG_BANK"`, `"BANK_OF_AMERICA_BANK"`, `"BNP_PARIBAS_BANK"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"NATIONAL_FORESTRY_COOPERATIVE_FEDERATION"`, `"UNITED_OVERSEAS_BANK"`, `"BANK_OF_COMMUNICATIONS"`, `"CHINA_CONSTRUCTION_BANK"`, `"EPOST"`, `"KODIT"`, `"KIBO"`, `"HANA_BANK"`, `"SHINHAN_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"`, `"KCIS"`, `"DAISHIN_SAVINGS_BANK"`, `"SBI_SAVINGS_BANK"`, `"HK_SAVINGS_BANK"`, `"WELCOME_SAVINGS_BANK"`, `"SHINHAN_SAVINGS_BANK"`, `"KYOBO_SECURITIES"`, `"DAISHIN_SECURITIES"`, `"MERITZ_SECURITIES"`, `"MIRAE_ASSET_SECURITIES"`, `"BOOKOOK_SECURITIES"`, `"SAMSUNG_SECURITIES"`, `"SHINYOUNG_SECURITIES"`, `"SHINHAN_FINANCIAL_INVESTMENT"`, `"YUANTA_SECURITIES"`, `"EUGENE_INVESTMENT_SECURITIES"`, `"KAKAO_PAY_SECURITIES"`, `"TOSS_SECURITIES"`, `"KOREA_FOSS_SECURITIES"`, `"HANA_FINANCIAL_INVESTMENT"`, `"HI_INVESTMENT_SECURITIES"`, `"KOREA_INVESTMENT_SECURITIES"`, `"HANWHA_INVESTMENT_SECURITIES"`, `"HYUNDAI_MOTOR_SECURITIES"`, `"DB_FINANCIAL_INVESTMENT"`, `"KB_SECURITIES"`, `"KTB_INVESTMENT_SECURITIES"`, `"NH_INVESTMENT_SECURITIES"`, `"SK_SECURITIES"`, `"SGI"`, `"KIWOOM_SECURITIES"`, `"EBEST_INVESTMENT_SECURITIES"`, `"CAPE_INVESTMENT_CERTIFICATE"` + -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + + **`card_number`** **\*** **string** ---- + --- -
+ **`expiry_month`** **\*** **string** ---- + --- -**`gender`** **gender_Gender** + **`expiry_year`** **\*** **string** -성별 + --- -`"MALE"`, `"FEMALE"`, `"OTHER"` + **`birth_or_business_registration_number`** **\*** **string** ---- + --- -**`birth_year`** **string** + **`password_two_digits`** **\*** **string** -출생연도 + --- +
---- + + 현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스 -**`birth_month`** **string** + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + +
-출생월 + + + 국가 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + -**`birth_day`** **string** + + 화폐 -출생일 + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + ---- + + **`customer_id`** **string** -**`country`** **country_Country** + 고객사의 고객 고유 ID - 값을 넣지 않으면 PortOne에서 자체 채번합니다. -국가 + --- -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + **`phone_number`** **string** ---- + 휴대폰 번호 - + --- - -**`full_name`** **string** + **`customer_name`** **CustomerName** ---- + 고객 이름 정보. full\_name만 채워져 있거나, first\_name & last\_name이 채워져 있어야 함 -**`first_name`** **string** +
+

CustomerName

---- + **`full_name`** **string** -**`last_name`** **string** + --- ---- + **`first_name`** **string** - - + --- - - -성별 + **`last_name`** **string** -`"MALE"`, `"FEMALE"`, `"OTHER"` + --- +
-
+ --- - -**`card_credential`** **\*** **CardCredential** + **`email`** **string** -카드를 이용한 결제 및 빌링키 발급에 필요한 인증 관련 정보 + 고객 이메일 -
-

CardCredential

+ --- -**`card_number`** **\*** **string** + **`zipcode`** **string** ---- + 우편번호 -**`expiry_month`** **\*** **string** + --- ---- + **`address`** **Address** -**`expiry_year`** **\*** **string** + 주소 형식 ---- +
+

Address

-**`birth_or_business_registration_number`** **\*** **string** + **`address_line_1`** **\*** **string** ---- + 주소1 -**`password_two_digits`** **\*** **string** + --- ---- + **`address_line_2`** **\*** **string** -
+ 주소2 ---- + --- -**`cvc`** **string** + **`city`** **string** ---- + 도시 -**`vbv`** **VBV** + --- -3DS 인증 결과를 담는 객체 (Verified by Visa) + **`province`** **string** -
-

VBV

+ 주, 도, 시 -**`cavv`** **\*** **string** + --- ---- + **`country`** **country\_Country** -**`xid`** **\*** **string** + 국가 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -**`eci`** **\*** **string** + --- +
---- + --- -
+ **`gender`** **gender\_Gender** ---- + 성별 -**`card_installment_plan`** **integer** + `"MALE"`, `"FEMALE"`, `"OTHER"` -카드 할부 개월 수 + --- ---- + **`birth_year`** **string** -**`use_free_installment_plan`** **boolean** + 출생연도 -무이자 할부 적용 여부 + --- ---- + **`birth_month`** **string** -**`use_free_interest_from_mall`** **boolean** + 출생월 ---- + --- -
+ **`birth_day`** **string** - -**`card`** **InstantCardForm** + 출생일 -카드를 이용한 결제 & 빌링키 발급 시에 필요한 카드 관련 정보 + --- -
-

InstantCardForm

+ **`country`** **country\_Country** -**`card_credential`** **\*** **CardCredential** + 국가 -카드를 이용한 결제 및 빌링키 발급에 필요한 인증 관련 정보 + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` ---- + --- + -**`cvc`** **string** + + **`full_name`** **string** ---- + --- -**`vbv`** **VBV** + **`first_name`** **string** -3DS 인증 결과를 담는 객체 (Verified by Visa) + --- ---- + **`last_name`** **string** -**`card_installment_plan`** **integer** + --- + + -카드 할부 개월 수 + + + 성별 ---- + `"MALE"`, `"FEMALE"`, `"OTHER"` + -**`use_free_installment_plan`** **boolean** + + **`card_credential`** **\*** **CardCredential** -무이자 할부 적용 여부 + 카드를 이용한 결제 및 빌링키 발급에 필요한 인증 관련 정보 ---- +
+

CardCredential

-**`use_free_interest_from_mall`** **boolean** + **`card_number`** **\*** **string** ---- + --- -
+ **`expiry_month`** **\*** **string** ---- + --- -**`virtual_account`** **InstantVirtualAccountForm** + **`expiry_year`** **\*** **string** -가상계좌 발급을 위해 필요한 가상계좌 발급 관련 정보 + --- -
-

InstantVirtualAccountForm

+ **`birth_or_business_registration_number`** **\*** **string** -**`bank`** **\*** **Bank** + --- -은행 + **`password_two_digits`** **\*** **string** -`"BANK_OF_KOREA"`, `"KOREA_DEVELOPMENT_BANK"`, `"INDUSTRIAL_BANK_OF_KOREA"`, `"KOOKMIN_BANK"`, `"SUHYUP_BANK"`, `"EXPORT_IMPORT_BANK_OF_KOREA"`, `"NH_NONGHYUP_BANK"`, `"LOCAL_NONGHYUP"`, `"WOORI_BANK"`, `"SC_BANK_KOREA"`, `"CITI_BANK_KOREA"`, `"DAEGU_BANK"`, `"BUSAN_BANK"`, `"GWANGJU_BANK"`, `"JEJU_BANK"`, `"JEONBUK_BANK"`, `"KYONGNAM_BANK"`, `"KFCC"`, `"SHINHYUP"`, `"SAVINGS_BANK_KOREA"`, `"MORGAN_STANLEY_BANK"`, `"HSBC_BANK"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN_CHASE_BANK"`, `"MIZUHO_BANK"`, `"MUFG_BANK"`, `"BANK_OF_AMERICA_BANK"`, `"BNP_PARIBAS_BANK"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"NATIONAL_FORESTRY_COOPERATIVE_FEDERATION"`, `"UNITED_OVERSEAS_BANK"`, `"BANK_OF_COMMUNICATIONS"`, `"CHINA_CONSTRUCTION_BANK"`, `"EPOST"`, `"KODIT"`, `"KIBO"`, `"HANA_BANK"`, `"SHINHAN_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"`, `"KCIS"`, `"DAISHIN_SAVINGS_BANK"`, `"SBI_SAVINGS_BANK"`, `"HK_SAVINGS_BANK"`, `"WELCOME_SAVINGS_BANK"`, `"SHINHAN_SAVINGS_BANK"`, `"KYOBO_SECURITIES"`, `"DAISHIN_SECURITIES"`, `"MERITZ_SECURITIES"`, `"MIRAE_ASSET_SECURITIES"`, `"BOOKOOK_SECURITIES"`, `"SAMSUNG_SECURITIES"`, `"SHINYOUNG_SECURITIES"`, `"SHINHAN_FINANCIAL_INVESTMENT"`, `"YUANTA_SECURITIES"`, `"EUGENE_INVESTMENT_SECURITIES"`, `"KAKAO_PAY_SECURITIES"`, `"TOSS_SECURITIES"`, `"KOREA_FOSS_SECURITIES"`, `"HANA_FINANCIAL_INVESTMENT"`, `"HI_INVESTMENT_SECURITIES"`, `"KOREA_INVESTMENT_SECURITIES"`, `"HANWHA_INVESTMENT_SECURITIES"`, `"HYUNDAI_MOTOR_SECURITIES"`, `"DB_FINANCIAL_INVESTMENT"`, `"KB_SECURITIES"`, `"KTB_INVESTMENT_SECURITIES"`, `"NH_INVESTMENT_SECURITIES"`, `"SK_SECURITIES"`, `"SGI"`, `"KIWOOM_SECURITIES"`, `"EBEST_INVESTMENT_SECURITIES"`, `"CAPE_INVESTMENT_CERTIFICATE"` + --- +
---- + --- -**`account_expiry`** **\*** **object** + **`cvc`** **string** -valid_hours와 due_date 둘 중 하나의 값만 채워야 함 + --- ---- + **`vbv`** **VBV** -**`account_type`** **\*** **virtual_account_type_VirtualAccountType** + 3DS 인증 결과를 담는 객체 (Verified by Visa) -가상계좌 유형(일반 or 고정) +
+

VBV

-`"NORMAL"`, `"FIXED"` + **`cavv`** **\*** **string** ---- + --- -**`pg_account_id`** **string** + **`xid`** **\*** **string** -고정식 가상계좌 방식에서, 고객사가 가상계좌 번호를 관리하지 않고 PG사가 pg_account_id에 매핑되는 가상계좌 번호를 내려줄 때 사용하는 필드입니다. 동일한 pg_account_id로 가상계좌 발급 요청시에는 항상 같은 가상계좌 번호가 내려옵니다. account_type이 FIXED일 때만 유효하며, account_number 필드와 함께 사용할 수 없습니다. + --- ---- + **`eci`** **\*** **string** -**`account_number`** **string** + --- +
-고정식 가상계좌 방식에서, PG사로부터 일정 갯수의 가상계좌 번호를 미리 전달받았을 때 사용하는 필드입니다. 고객사로부터 전달받은 가상계좌 번호를 직접 입력하면 됩니다. account_type이 FIXED일 때만 유효하며, pg_account_id 필드와 함께 사용할 수 없습니다. + --- ---- + **`card_installment_plan`** **integer** -**`cash_receipt_form`** **object** + 카드 할부 개월 수 -현금영수증 발급을 위해 필요한 정보 + --- ---- + **`use_free_installment_plan`** **boolean** -**`remittee_name`** **string** + 무이자 할부 적용 여부 -예금주명 + --- ---- + **`use_free_interest_from_mall`** **boolean** -
+ --- +
---- + + **`card`** **InstantCardForm** - + 카드를 이용한 결제 & 빌링키 발급 시에 필요한 카드 관련 정보 - -**`bank`** **\*** **Bank** +
+

InstantCardForm

-은행 + **`card_credential`** **\*** **CardCredential** -`"BANK_OF_KOREA"`, `"KOREA_DEVELOPMENT_BANK"`, `"INDUSTRIAL_BANK_OF_KOREA"`, `"KOOKMIN_BANK"`, `"SUHYUP_BANK"`, `"EXPORT_IMPORT_BANK_OF_KOREA"`, `"NH_NONGHYUP_BANK"`, `"LOCAL_NONGHYUP"`, `"WOORI_BANK"`, `"SC_BANK_KOREA"`, `"CITI_BANK_KOREA"`, `"DAEGU_BANK"`, `"BUSAN_BANK"`, `"GWANGJU_BANK"`, `"JEJU_BANK"`, `"JEONBUK_BANK"`, `"KYONGNAM_BANK"`, `"KFCC"`, `"SHINHYUP"`, `"SAVINGS_BANK_KOREA"`, `"MORGAN_STANLEY_BANK"`, `"HSBC_BANK"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN_CHASE_BANK"`, `"MIZUHO_BANK"`, `"MUFG_BANK"`, `"BANK_OF_AMERICA_BANK"`, `"BNP_PARIBAS_BANK"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"NATIONAL_FORESTRY_COOPERATIVE_FEDERATION"`, `"UNITED_OVERSEAS_BANK"`, `"BANK_OF_COMMUNICATIONS"`, `"CHINA_CONSTRUCTION_BANK"`, `"EPOST"`, `"KODIT"`, `"KIBO"`, `"HANA_BANK"`, `"SHINHAN_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"`, `"KCIS"`, `"DAISHIN_SAVINGS_BANK"`, `"SBI_SAVINGS_BANK"`, `"HK_SAVINGS_BANK"`, `"WELCOME_SAVINGS_BANK"`, `"SHINHAN_SAVINGS_BANK"`, `"KYOBO_SECURITIES"`, `"DAISHIN_SECURITIES"`, `"MERITZ_SECURITIES"`, `"MIRAE_ASSET_SECURITIES"`, `"BOOKOOK_SECURITIES"`, `"SAMSUNG_SECURITIES"`, `"SHINYOUNG_SECURITIES"`, `"SHINHAN_FINANCIAL_INVESTMENT"`, `"YUANTA_SECURITIES"`, `"EUGENE_INVESTMENT_SECURITIES"`, `"KAKAO_PAY_SECURITIES"`, `"TOSS_SECURITIES"`, `"KOREA_FOSS_SECURITIES"`, `"HANA_FINANCIAL_INVESTMENT"`, `"HI_INVESTMENT_SECURITIES"`, `"KOREA_INVESTMENT_SECURITIES"`, `"HANWHA_INVESTMENT_SECURITIES"`, `"HYUNDAI_MOTOR_SECURITIES"`, `"DB_FINANCIAL_INVESTMENT"`, `"KB_SECURITIES"`, `"KTB_INVESTMENT_SECURITIES"`, `"NH_INVESTMENT_SECURITIES"`, `"SK_SECURITIES"`, `"SGI"`, `"KIWOOM_SECURITIES"`, `"EBEST_INVESTMENT_SECURITIES"`, `"CAPE_INVESTMENT_CERTIFICATE"` + 카드를 이용한 결제 및 빌링키 발급에 필요한 인증 관련 정보 ---- + --- -**`account_expiry`** **\*** **object** + **`cvc`** **string** -valid_hours와 due_date 둘 중 하나의 값만 채워야 함 + --- -
-

account_expiry

+ **`vbv`** **VBV** -**`valid_hours`** **integer** + 3DS 인증 결과를 담는 객체 (Verified by Visa) ---- + --- -**`due_date`** **string** + **`card_installment_plan`** **integer** ---- + 카드 할부 개월 수 -
+ --- ---- + **`use_free_installment_plan`** **boolean** -**`account_type`** **\*** **virtual_account_type_VirtualAccountType** + 무이자 할부 적용 여부 -가상계좌 유형(일반 or 고정) + --- -`"NORMAL"`, `"FIXED"` + **`use_free_interest_from_mall`** **boolean** ---- + --- +
-**`pg_account_id`** **string** + --- -고정식 가상계좌 방식에서, 고객사가 가상계좌 번호를 관리하지 않고 PG사가 pg_account_id에 매핑되는 가상계좌 번호를 내려줄 때 사용하는 필드입니다. 동일한 pg_account_id로 가상계좌 발급 요청시에는 항상 같은 가상계좌 번호가 내려옵니다. account_type이 FIXED일 때만 유효하며, account_number 필드와 함께 사용할 수 없습니다. + **`virtual_account`** **InstantVirtualAccountForm** ---- + 가상계좌 발급을 위해 필요한 가상계좌 발급 관련 정보 -**`account_number`** **string** +
+

InstantVirtualAccountForm

-고정식 가상계좌 방식에서, PG사로부터 일정 갯수의 가상계좌 번호를 미리 전달받았을 때 사용하는 필드입니다. 고객사로부터 전달받은 가상계좌 번호를 직접 입력하면 됩니다. account_type이 FIXED일 때만 유효하며, pg_account_id 필드와 함께 사용할 수 없습니다. + **`bank`** **\*** **Bank** ---- + 은행 -**`cash_receipt_form`** **object** + `"BANK_OF_KOREA"`, `"KOREA_DEVELOPMENT_BANK"`, `"INDUSTRIAL_BANK_OF_KOREA"`, `"KOOKMIN_BANK"`, `"SUHYUP_BANK"`, `"EXPORT_IMPORT_BANK_OF_KOREA"`, `"NH_NONGHYUP_BANK"`, `"LOCAL_NONGHYUP"`, `"WOORI_BANK"`, `"SC_BANK_KOREA"`, `"CITI_BANK_KOREA"`, `"DAEGU_BANK"`, `"BUSAN_BANK"`, `"GWANGJU_BANK"`, `"JEJU_BANK"`, `"JEONBUK_BANK"`, `"KYONGNAM_BANK"`, `"KFCC"`, `"SHINHYUP"`, `"SAVINGS_BANK_KOREA"`, `"MORGAN_STANLEY_BANK"`, `"HSBC_BANK"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN_CHASE_BANK"`, `"MIZUHO_BANK"`, `"MUFG_BANK"`, `"BANK_OF_AMERICA_BANK"`, `"BNP_PARIBAS_BANK"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"NATIONAL_FORESTRY_COOPERATIVE_FEDERATION"`, `"UNITED_OVERSEAS_BANK"`, `"BANK_OF_COMMUNICATIONS"`, `"CHINA_CONSTRUCTION_BANK"`, `"EPOST"`, `"KODIT"`, `"KIBO"`, `"HANA_BANK"`, `"SHINHAN_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"`, `"KCIS"`, `"DAISHIN_SAVINGS_BANK"`, `"SBI_SAVINGS_BANK"`, `"HK_SAVINGS_BANK"`, `"WELCOME_SAVINGS_BANK"`, `"SHINHAN_SAVINGS_BANK"`, `"KYOBO_SECURITIES"`, `"DAISHIN_SECURITIES"`, `"MERITZ_SECURITIES"`, `"MIRAE_ASSET_SECURITIES"`, `"BOOKOOK_SECURITIES"`, `"SAMSUNG_SECURITIES"`, `"SHINYOUNG_SECURITIES"`, `"SHINHAN_FINANCIAL_INVESTMENT"`, `"YUANTA_SECURITIES"`, `"EUGENE_INVESTMENT_SECURITIES"`, `"KAKAO_PAY_SECURITIES"`, `"TOSS_SECURITIES"`, `"KOREA_FOSS_SECURITIES"`, `"HANA_FINANCIAL_INVESTMENT"`, `"HI_INVESTMENT_SECURITIES"`, `"KOREA_INVESTMENT_SECURITIES"`, `"HANWHA_INVESTMENT_SECURITIES"`, `"HYUNDAI_MOTOR_SECURITIES"`, `"DB_FINANCIAL_INVESTMENT"`, `"KB_SECURITIES"`, `"KTB_INVESTMENT_SECURITIES"`, `"NH_INVESTMENT_SECURITIES"`, `"SK_SECURITIES"`, `"SGI"`, `"KIWOOM_SECURITIES"`, `"EBEST_INVESTMENT_SECURITIES"`, `"CAPE_INVESTMENT_CERTIFICATE"` -현금영수증 발급을 위해 필요한 정보 + --- -
-

cash_receipt_form

+ **`account_expiry`** **\*** **object** -**`receipt_type`** **\*** **cash_receipt_type_CashReceiptType** + valid\_hours와 due\_date 둘 중 하나의 값만 채워야 함 -현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스 + --- -`"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` + **`account_type`** **\*** **virtual\_account\_type\_VirtualAccountType** ---- + 가상계좌 유형(일반 or 고정) -**`registration_number`** **\*** **string** + `"NORMAL"`, `"FIXED"` -현금영수증 신청 번호 + --- ---- + **`pg_account_id`** **string** -**`business_number`** **string** + 고정식 가상계좌 방식에서, 고객사가 가상계좌 번호를 관리하지 않고 PG사가 pg\_account\_id에 매핑되는 가상계좌 번호를 내려줄 때 사용하는 필드입니다. 동일한 pg\_account\_id로 가상계좌 발급 요청시에는 항상 같은 가상계좌 번호가 내려옵니다. account\_type이 FIXED일 때만 유효하며, account\_number 필드와 함께 사용할 수 없습니다. -현금영수증을 발급할 사업자등록번호 + --- ---- + **`account_number`** **string** -
+ 고정식 가상계좌 방식에서, PG사로부터 일정 갯수의 가상계좌 번호를 미리 전달받았을 때 사용하는 필드입니다. 고객사로부터 전달받은 가상계좌 번호를 직접 입력하면 됩니다. account\_type이 FIXED일 때만 유효하며, pg\_account\_id 필드와 함께 사용할 수 없습니다. ---- + --- -**`remittee_name`** **string** + **`cash_receipt_form`** **object** -예금주명 + 현금영수증 발급을 위해 필요한 정보 ---- + --- - - + **`remittee_name`** **string** - - -**`id`** **\*** **string** + 예금주명 ---- + --- +
-**`name`** **\*** **string** + --- +
---- + + **`bank`** **\*** **Bank** -**`tag`** **string** + 은행 ---- + `"BANK_OF_KOREA"`, `"KOREA_DEVELOPMENT_BANK"`, `"INDUSTRIAL_BANK_OF_KOREA"`, `"KOOKMIN_BANK"`, `"SUHYUP_BANK"`, `"EXPORT_IMPORT_BANK_OF_KOREA"`, `"NH_NONGHYUP_BANK"`, `"LOCAL_NONGHYUP"`, `"WOORI_BANK"`, `"SC_BANK_KOREA"`, `"CITI_BANK_KOREA"`, `"DAEGU_BANK"`, `"BUSAN_BANK"`, `"GWANGJU_BANK"`, `"JEJU_BANK"`, `"JEONBUK_BANK"`, `"KYONGNAM_BANK"`, `"KFCC"`, `"SHINHYUP"`, `"SAVINGS_BANK_KOREA"`, `"MORGAN_STANLEY_BANK"`, `"HSBC_BANK"`, `"DEUTSCHE_BANK"`, `"JP_MORGAN_CHASE_BANK"`, `"MIZUHO_BANK"`, `"MUFG_BANK"`, `"BANK_OF_AMERICA_BANK"`, `"BNP_PARIBAS_BANK"`, `"ICBC"`, `"BANK_OF_CHINA"`, `"NATIONAL_FORESTRY_COOPERATIVE_FEDERATION"`, `"UNITED_OVERSEAS_BANK"`, `"BANK_OF_COMMUNICATIONS"`, `"CHINA_CONSTRUCTION_BANK"`, `"EPOST"`, `"KODIT"`, `"KIBO"`, `"HANA_BANK"`, `"SHINHAN_BANK"`, `"K_BANK"`, `"KAKAO_BANK"`, `"TOSS_BANK"`, `"KCIS"`, `"DAISHIN_SAVINGS_BANK"`, `"SBI_SAVINGS_BANK"`, `"HK_SAVINGS_BANK"`, `"WELCOME_SAVINGS_BANK"`, `"SHINHAN_SAVINGS_BANK"`, `"KYOBO_SECURITIES"`, `"DAISHIN_SECURITIES"`, `"MERITZ_SECURITIES"`, `"MIRAE_ASSET_SECURITIES"`, `"BOOKOOK_SECURITIES"`, `"SAMSUNG_SECURITIES"`, `"SHINYOUNG_SECURITIES"`, `"SHINHAN_FINANCIAL_INVESTMENT"`, `"YUANTA_SECURITIES"`, `"EUGENE_INVESTMENT_SECURITIES"`, `"KAKAO_PAY_SECURITIES"`, `"TOSS_SECURITIES"`, `"KOREA_FOSS_SECURITIES"`, `"HANA_FINANCIAL_INVESTMENT"`, `"HI_INVESTMENT_SECURITIES"`, `"KOREA_INVESTMENT_SECURITIES"`, `"HANWHA_INVESTMENT_SECURITIES"`, `"HYUNDAI_MOTOR_SECURITIES"`, `"DB_FINANCIAL_INVESTMENT"`, `"KB_SECURITIES"`, `"KTB_INVESTMENT_SECURITIES"`, `"NH_INVESTMENT_SECURITIES"`, `"SK_SECURITIES"`, `"SGI"`, `"KIWOOM_SECURITIES"`, `"EBEST_INVESTMENT_SECURITIES"`, `"CAPE_INVESTMENT_CERTIFICATE"` -**`code`** **string** + --- ---- + **`account_expiry`** **\*** **object** -**`quantity`** **\*** **integer** + valid\_hours와 due\_date 둘 중 하나의 값만 채워야 함 ---- +
+

account\_expiry

-**`amount`** **\*** **number** + **`valid_hours`** **integer** ---- + --- -**`currency`** **\*** **currency_Currency** + **`due_date`** **string** -화폐 + --- +
-`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + --- ---- + **`account_type`** **\*** **virtual\_account\_type\_VirtualAccountType** -
+ 가상계좌 유형(일반 or 고정) - -상품 유형 + `"NORMAL"`, `"FIXED"` -`"REAL"`, `"DIGITAL"` + --- - + **`pg_account_id`** **string** - -**`cavv`** **\*** **string** + 고정식 가상계좌 방식에서, 고객사가 가상계좌 번호를 관리하지 않고 PG사가 pg\_account\_id에 매핑되는 가상계좌 번호를 내려줄 때 사용하는 필드입니다. 동일한 pg\_account\_id로 가상계좌 발급 요청시에는 항상 같은 가상계좌 번호가 내려옵니다. account\_type이 FIXED일 때만 유효하며, account\_number 필드와 함께 사용할 수 없습니다. ---- + --- -**`xid`** **\*** **string** + **`account_number`** **string** ---- + 고정식 가상계좌 방식에서, PG사로부터 일정 갯수의 가상계좌 번호를 미리 전달받았을 때 사용하는 필드입니다. 고객사로부터 전달받은 가상계좌 번호를 직접 입력하면 됩니다. account\_type이 FIXED일 때만 유효하며, pg\_account\_id 필드와 함께 사용할 수 없습니다. -**`eci`** **\*** **string** + --- ---- + **`cash_receipt_form`** **object** - + 현금영수증 발급을 위해 필요한 정보 - -가상계좌 유형(일반 or 고정) +
+

cash\_receipt\_form

-`"NORMAL"`, `"FIXED"` + **`receipt_type`** **\*** **cash\_receipt\_type\_CashReceiptType** - - + 현금영수증 용도. personal = 소득공제용, corporate = 지출증빙용, anonymous = 국세청번호 자동발급 케이스 -## ⌨ 에스크로 배송정보 등록/변경 + `"PERSONAL"`, `"CORPORATE"`, `"ANONYMOUS"` - - + --- - + **`registration_number`** **\*** **string** -### Parameters + 현금영수증 신청 번호 -#### Path + --- - -결제 ID + **`business_number`** **string** - + 현금영수증을 발급할 사업자등록번호 -#### Body + --- +
- + --- - - + **`remittee_name`** **string** - - + 예금주명 - - + --- +
+
-
- -에스크로 구매 확정시 결제 창에 입력했던 이메일로 해당 사실을 전송할지 여부. -지원 PG: (신)나이스페이먼츠 - + + + **`id`** **\*** **string** -### Responses + --- - - - -**`company`** **\*** **string** + **`name`** **\*** **string** ---- + --- -**`invoice_number`** **\*** **string** + **`tag`** **string** ---- + --- -**`sent_at`** **\*** **string** + **`code`** **string** ---- + --- -**`applied_at`** **\*** **string** + **`quantity`** **\*** **integer** ---- + --- - - + **`amount`** **\*** **number** - + --- - - - -**`code`** **\*** **string** + **`currency`** **\*** **currency\_Currency** -`INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ -`NOT_PAID`: 지불되지 않은 결제 건입니다.\ + 화폐 -`"INVALID_REQUEST"`, `"NOT_PAID"` + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` ---- + --- + -**`params`** **object** + + 상품 유형 -에러 상세 정보를 담은 파라미터 모음 + `"REAL"`, `"DIGITAL"` + ---- + + **`cavv`** **\*** **string** - - + --- - + **`xid`** **\*** **string** - - - -**`code`** **\*** **string** + --- -`UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\ + **`eci`** **\*** **string** -`"UNAUTHORIZED"` + --- + ---- + + 가상계좌 유형(일반 or 고정) -**`params`** **object** + `"NORMAL"`, `"FIXED"` + + -에러 상세 정보를 담은 파라미터 모음 +## ⌨ 에스크로 배송정보 등록/변경 ---- + + - - + ### Parameters - + #### Path - - - -**`code`** **\*** **string** + + 결제 ID + -`PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\ + #### Body -`"PERMISSION_DENIED"` + ---- + -**`params`** **object** + -에러 상세 정보를 담은 파라미터 모음 + ---- + + 에스크로 구매 확정시 결제 창에 입력했던 이메일로 해당 사실을 전송할지 여부. + 지원 PG: (신)나이스페이먼츠 + - - + ### Responses - + + + + **`company`** **\*** **string** - - - -**`code`** **\*** **string** + --- -`STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ -`PAYMENT_NOT_FOUND`: 해당하는 결제를 찾을 수 없습니다.\ + **`invoice_number`** **\*** **string** -`"STORE_NOT_FOUND"`, `"PAYMENT_NOT_FOUND"` + --- ---- + **`sent_at`** **\*** **string** -**`params`** **object** + --- -에러 상세 정보를 담은 파라미터 모음 + **`applied_at`** **\*** **string** ---- + --- + + + - - + + + + **`code`** **\*** **string** - + `INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ + `NOT_PAID`: 지불되지 않은 결제 건입니다.\\ - - - -**`code`** **\*** **string** + `"INVALID_REQUEST"`, `"NOT_PAID"` -`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` + --- ---- + **`params`** **object** -**`params`** **object** + 에러 상세 정보를 담은 파라미터 모음 -에러 상세 정보를 담은 파라미터 모음 + --- + + + ---- + + + + **`code`** **\*** **string** - - + `UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\ - + `"UNAUTHORIZED"` - + --- - - -**`address_line_1`** **\*** **string** + **`params`** **object** -주소1 + 에러 상세 정보를 담은 파라미터 모음 ---- + --- + + + -**`address_line_2`** **\*** **string** + + + + **`code`** **\*** **string** -주소2 + `PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\\ ---- + `"PERMISSION_DENIED"` -**`city`** **string** + --- -도시 + **`params`** **object** ---- + 에러 상세 정보를 담은 파라미터 모음 -**`province`** **string** + --- + + + -주, 도, 시 + + + + **`code`** **\*** **string** ---- + `STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ + `PAYMENT_NOT_FOUND`: 해당하는 결제를 찾을 수 없습니다.\\ -**`country`** **country_Country** + `"STORE_NOT_FOUND"`, `"PAYMENT_NOT_FOUND"` -국가 + --- -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + **`params`** **object** ---- + 에러 상세 정보를 담은 파라미터 모음 - + --- + + + - -국가 + + + + **`code`** **\*** **string** -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + `"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` - + --- - -**`name`** **string** + **`params`** **object** ---- + 에러 상세 정보를 담은 파라미터 모음 -**`phone_number`** **string** + --- + + + + ---- + + + **`address_line_1`** **\*** **string** -**`post_code`** **string** + 주소1 ---- + --- -**`address`** **\*** **Address** + **`address_line_2`** **\*** **string** -주소 형식 + 주소2 -
-

Address

+ --- -**`address_line_1`** **\*** **string** + **`city`** **string** -주소1 + 도시 ---- + --- -**`address_line_2`** **\*** **string** + **`province`** **string** -주소2 + 주, 도, 시 ---- + --- -**`city`** **string** + **`country`** **country\_Country** -도시 + 국가 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -**`province`** **string** + --- + -주, 도, 시 + + 국가 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + -**`country`** **country_Country** + + **`name`** **string** -국가 + --- -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + **`phone_number`** **string** ---- + --- -
+ **`post_code`** **string** ---- + --- -
+ **`address`** **\*** **Address** - -**`name`** **string** + 주소 형식 ---- +
+

Address

-**`phone_number`** **string** + **`address_line_1`** **\*** **string** ---- + 주소1 -**`post_code`** **string** + --- ---- + **`address_line_2`** **\*** **string** -**`relationship`** **string** + 주소2 ---- + --- -**`address`** **Address** + **`city`** **string** -주소 형식 + 도시 -
-

Address

+ --- -**`address_line_1`** **\*** **string** + **`province`** **string** -주소1 + 주, 도, 시 ---- + --- -**`address_line_2`** **\*** **string** + **`country`** **country\_Country** -주소2 + 국가 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -**`city`** **string** + --- +
-도시 + --- + ---- + + **`name`** **string** -**`province`** **string** + --- -주, 도, 시 + **`phone_number`** **string** ---- + --- -**`country`** **country_Country** + **`post_code`** **string** -국가 + --- -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + **`relationship`** **string** ---- + --- -
+ **`address`** **Address** ---- + 주소 형식 -
-
+
+

Address

- - -**`company`** **\*** **string** + **`address_line_1`** **\*** **string** -`"HYUNDAI"`, `"HANARO"`, `"SAGAWA"`, `"KGB"`, `"YELLOWCAP"`, `"DONGBU"`, `"EPOST"`, `"CJGLS"`, `"HANJIN"`, `"DAESIN"`, `"ETC"`, `"ILYANG"`, `"KYONGDONG"`, `"CHUNIL"` + 주소1 ---- + --- -**`invoice_number`** **\*** **string** + **`address_line_2`** **\*** **string** ---- + 주소2 -**`sent_at`** **\*** **string** + --- ---- + **`city`** **string** -**`received_at`** **string** + 도시 ---- + --- -**`address`** **Address** + **`province`** **string** -주소 형식 + 주, 도, 시 -
-

Address

+ --- -**`address_line_1`** **\*** **string** + **`country`** **country\_Country** -주소1 + 국가 ---- + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -**`address_line_2`** **\*** **string** + --- +
-주소2 + --- +
+
---- + + + **`company`** **\*** **string** -**`city`** **string** + `"HYUNDAI"`, `"HANARO"`, `"SAGAWA"`, `"KGB"`, `"YELLOWCAP"`, `"DONGBU"`, `"EPOST"`, `"CJGLS"`, `"HANJIN"`, `"DAESIN"`, `"ETC"`, `"ILYANG"`, `"KYONGDONG"`, `"CHUNIL"` -도시 + --- ---- + **`invoice_number`** **\*** **string** -**`province`** **string** + --- -주, 도, 시 + **`sent_at`** **\*** **string** ---- + --- -**`country`** **country_Country** + **`received_at`** **string** -국가 + --- -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + **`address`** **Address** ---- + 주소 형식 -
+
+

Address

---- + **`address_line_1`** **\*** **string** - - + 주소1 -## ⌨ 에스크로 구매완료 + --- - - + **`address_line_2`** **\*** **string** - + 주소2 -### Parameters + --- -#### Path + **`city`** **string** - -결제 ID + 도시 - + --- -#### Body + **`province`** **string** - + 주, 도, 시 - - + --- - + **`country`** **country\_Country** -### Responses + 국가 - - - -**`completed_at`** **\*** **string** + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` ---- + --- +
-
+ --- + - - - - - -**`code`** **\*** **string** +## ⌨ 에스크로 구매완료 -`INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ -`NOT_PAID`: 지불되지 않은 결제 건입니다.\ + + -`"INVALID_REQUEST"`, `"NOT_PAID"` + ### Parameters ---- + #### Path -**`params`** **object** + + 결제 ID + -에러 상세 정보를 담은 파라미터 모음 + #### Body ---- + - - + - + ### Responses - - - -**`code`** **\*** **string** + + + + **`completed_at`** **\*** **string** -`UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\ + --- + + + -`"UNAUTHORIZED"` + + + + **`code`** **\*** **string** ---- + `INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ + `NOT_PAID`: 지불되지 않은 결제 건입니다.\\ -**`params`** **object** + `"INVALID_REQUEST"`, `"NOT_PAID"` -에러 상세 정보를 담은 파라미터 모음 + --- ---- + **`params`** **object** - - + 에러 상세 정보를 담은 파라미터 모음 - + --- + + + - - - -**`code`** **\*** **string** + + + + **`code`** **\*** **string** -`PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\ + `UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\ -`"PERMISSION_DENIED"` + `"UNAUTHORIZED"` ---- + --- -**`params`** **object** + **`params`** **object** -에러 상세 정보를 담은 파라미터 모음 + 에러 상세 정보를 담은 파라미터 모음 ---- + --- + + + - - + + + + **`code`** **\*** **string** - + `PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\\ - - - -**`code`** **\*** **string** + `"PERMISSION_DENIED"` -`STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ -`PAYMENT_NOT_FOUND`: 해당하는 결제를 찾을 수 없습니다.\ + --- -`"STORE_NOT_FOUND"`, `"PAYMENT_NOT_FOUND"` + **`params`** **object** ---- + 에러 상세 정보를 담은 파라미터 모음 -**`params`** **object** + --- + + + -에러 상세 정보를 담은 파라미터 모음 + + + + **`code`** **\*** **string** ---- + `STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ + `PAYMENT_NOT_FOUND`: 해당하는 결제를 찾을 수 없습니다.\\ - - + `"STORE_NOT_FOUND"`, `"PAYMENT_NOT_FOUND"` - + --- - - - -**`code`** **\*** **string** + **`params`** **object** -`"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` + 에러 상세 정보를 담은 파라미터 모음 ---- + --- + + + -**`params`** **object** + + + + **`code`** **\*** **string** -에러 상세 정보를 담은 파라미터 모음 + `"PORTONE_ERROR"`, `"PG_PROVIDER_ERROR"` ---- + --- - - + **`params`** **object** - + 에러 상세 정보를 담은 파라미터 모음 + --- + + + ## - 가상계좌 말소 - - - + -### Parameters + ### Parameters -#### Path + #### Path 결제 ID - + #### Query -{" "} + {" "} - - 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 - 입력됩니다. - + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 + 입력됩니다. + @@ -10548,11 +10147,9 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 동일한 `payment_id`로 결제시도된 결제내역들 --- -
--- - @@ -10610,7 +10207,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 카드전표인자명 --- -
--- @@ -10645,7 +10241,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 무이자할부 여부 --- -
--- @@ -10655,7 +10250,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 카드 포인트 사용여부 --- - @@ -10706,7 +10300,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 카드전표인자명 --- - @@ -10754,7 +10347,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 카드 포인트 사용여부 --- -
--- @@ -10771,7 +10363,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 표준 은행 코드 (계좌 이체시 입력됨) --- -
--- @@ -10788,11 +10379,9 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 표준 은행 코드 --- -
--- - @@ -10809,7 +10398,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 상품권 승인번호 --- - @@ -10824,7 +10412,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 무이자할부 여부 --- - @@ -10841,7 +10428,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 휴대전화번호 --- - @@ -10876,7 +10462,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 상세 주소 --- - @@ -10956,7 +10541,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 PG사에 등록된 고객사 ID --- -
--- @@ -10973,19 +10557,18 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 --- - **`notifications`** **Array\[notification_Notification]** + **`notifications`** **Array\[notification\_Notification]** 웹훅 발송 내역
-

notification_Notification

+

notification\_Notification

**`webhook`** **Webhook** 웹훅 정보 --- -
--- @@ -11078,7 +10661,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 취소 금액 중 면세 금액 --- -
--- @@ -11143,7 +10725,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 구매자 우편번호 --- -
--- @@ -11180,7 +10761,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 결제근원의 IP 주소 --- - --- @@ -11235,7 +10815,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 배송등록 처리 일자 --- - --- @@ -11282,7 +10861,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 주문 수량 --- - --- @@ -11335,7 +10913,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 PG사 전달 에러 메세지 --- - --- @@ -11402,7 +10979,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 간편결제 정보 (충전식 간편결제일 경우 card와 transfer 값이 null임) --- - --- @@ -11479,7 +11055,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 영수증 url --- - --- @@ -11546,7 +11121,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 `"REQUESTED"`, `"FAILED"`, `"SUCCEEDED"` --- - --- @@ -11556,7 +11130,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 결제취소시각 - `status`가 `CANCELLED`인 경우 제공됩니다. --- - @@ -11565,7 +11138,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 표준 은행 코드 --- - @@ -11620,7 +11192,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 `"PENDING"`, `"PARTIAL_FAILED"`, `"FAILED"`, `"COMPLETED"` --- - @@ -11702,7 +11273,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 요청 시각 --- - --- @@ -11737,7 +11307,6 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 응답 시각 --- - --- @@ -11747,10 +11316,8 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 웹훅 처리 시작 시각 --- - - @@ -11759,7 +11326,7 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 **`code`** **\*** **string** `INVALID_REQUEST`: 파라미터를 포함한 요청을 처리하는 데에 실패했습니다. 올바른 형식의 파라미터를 전송했는지 확인해주세요.\ - `NOT_PAID`: 지불되지 않은 결제 건입니다.\ + `NOT_PAID`: 지불되지 않은 결제 건입니다.\\ `"INVALID_REQUEST"`, `"NOT_PAID"` @@ -11770,10 +11337,8 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 에러 상세 정보를 담은 파라미터 모음 --- - - @@ -11781,7 +11346,7 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 **`code`** **\*** **string** - `UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\ + `UNAUTHORIZED`: 권한이 없습니다. 올바른 API Key를 헤더에 제공했는지 확인해주세요.\\ `"UNAUTHORIZED"` @@ -11792,10 +11357,8 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 에러 상세 정보를 담은 파라미터 모음 --- - - @@ -11803,7 +11366,7 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 **`code`** **\*** **string** - `PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\ + `PERMISSION_DENIED`: 해당 요청을 수행하기 위한 권한이 없습니다.\\ `"PERMISSION_DENIED"` @@ -11814,10 +11377,8 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 에러 상세 정보를 담은 파라미터 모음 --- - - @@ -11826,7 +11387,7 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 **`code`** **\*** **string** `STORE_NOT_FOUND`: 하위 상점을 찾을 수 없습니다.\ - `PAYMENT_NOT_FOUND`: 해당하는 결제를 찾을 수 없습니다.\ + `PAYMENT_NOT_FOUND`: 해당하는 결제를 찾을 수 없습니다.\\ `"STORE_NOT_FOUND"`, `"PAYMENT_NOT_FOUND"` @@ -11837,10 +11398,8 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 에러 상세 정보를 담은 파라미터 모음 --- - - @@ -11857,9 +11416,7 @@ valid_hours와 due_date 둘 중 하나의 값만 채워야 함 에러 상세 정보를 담은 파라미터 모음 --- - - diff --git a/src/content/docs/ko/api-v2/schedule.mdx b/src/content/docs/ko/api-v2/schedule.mdx index de639f2dc..11130c12e 100644 --- a/src/content/docs/ko/api-v2/schedule.mdx +++ b/src/content/docs/ko/api-v2/schedule.mdx @@ -8,929 +8,885 @@ import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## ⌨ 정기결제예약 다건 조회 - + - + ### Parameters -### Parameters + #### Query -#### Query + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + + 결제예약시각( - - -결제예약시각( + `scheduled_at` -`scheduled_at` + ) 범위의 시작 - 값을 넣지 않으면 파라미터 end의 90일 전으로 설정됩니다. + -) 범위의 시작 - 값을 넣지 않으면 파라미터 end의 90일 전으로 설정됩니다. + + 결제예약시각( - - -결제예약시각( + `scheduled_at` -`scheduled_at` + ) 범위의 끝 - 값을 넣지 않으면 현재 시각으로 설정됩니다. + -) 범위의 끝 - 값을 넣지 않으면 현재 시각으로 설정됩니다. + + 결제예약 상태 리스트 + - - -결제예약 상태 리스트 + + 페이지 - 0부터 시작합니다. + - - -페이지 - 0부터 시작합니다. + + 페이지 크기 (최대 1000까지 허용) + - - -페이지 크기 (최대 1000까지 허용) + ### Responses - + + + + **`current_page`** **\*** **integer** -### Responses + --- - - - -**`current_page`** **\*** **integer** + **`total_page`** **\*** **integer** ---- + --- -**`total_page`** **\*** **integer** + **`total_count`** **\*** **integer** ---- + --- -**`total_count`** **\*** **integer** + **`schedules`** **\*** **Array\[Schedule]** ---- + 결제예약정보 -**`schedules`** **\*** **Array\[Schedule]** +
+

Schedule

-결제예약정보 + **`id`** **\*** **string** -
-

Schedule

+ 결제예약 ID -**`id`** **\*** **string** + --- -결제예약 ID + **`merchant_id`** **\*** **string** ---- + 고객사 ID -**`merchant_id`** **\*** **string** + --- -고객사 ID + **`store_id`** **\*** **string** ---- + 하위 상점 ID -**`store_id`** **\*** **string** + --- -하위 상점 ID + **`billing_key`** **\*** **string** ---- + 빌링키 -**`billing_key`** **\*** **string** + --- -빌링키 + **`payment_id`** **\*** **string** ---- + 결제 ID -**`payment_id`** **\*** **string** + --- -결제 ID + **`status`** **\*** **ScheduleStatus** ---- + 예약결제 상태\ + `SCHEDULED`: 결제 예약\ + `STARTED`: 결제 실행\ + `COMPLETED`: 실행 완료\ + `CANCELLED`: 예약 취소\\ -**`status`** **\*** **ScheduleStatus** + `"SCHEDULED"`, `"STARTED"`, `"COMPLETED"`, `"CANCELLED"` -예약결제 상태\ -`SCHEDULED`: 결제 예약\ -`STARTED`: 결제 실행\ -`COMPLETED`: 실행 완료\ -`CANCELLED`: 예약 취소\ + --- -`"SCHEDULED"`, `"STARTED"`, `"COMPLETED"`, `"CANCELLED"` + **`scheduled_at`** **\*** **string** ---- + 결제 예약 시각 -**`scheduled_at`** **\*** **string** + --- -결제 예약 시각 + **`started_at`** **string** ---- + 결제 실행 시각 (`status`가 `STARTED`로 되었을 경우 제공) -**`started_at`** **string** + --- -결제 실행 시각 (`status`가 `STARTED`로 되었을 경우 제공) + **`completed_at`** **string** ---- + 결제 완료 시각 (`status`가 `COMPLETED`인 경우 제공) -**`completed_at`** **string** + --- -결제 완료 시각 (`status`가 `COMPLETED`인 경우 제공) + **`cancelled_at`** **string** ---- + 결제 취소 시각 (`status`가 `CANCELLED`인 경우 제공) -**`cancelled_at`** **string** + --- -결제 취소 시각 (`status`가 `CANCELLED`인 경우 제공) + **`order_name`** **\*** **string** ---- + 주문명 -**`order_name`** **\*** **string** + --- -주문명 + **`is_cultural_expense`** **\*** **boolean** ---- + 문화비 지출 여부 -**`is_cultural_expense`** **\*** **boolean** + --- -문화비 지출 여부 + **`is_escrow`** **\*** **boolean** ---- + 에스크로 결제 여부 -**`is_escrow`** **\*** **boolean** + --- -에스크로 결제 여부 + **`products`** **Array\[Product]** ---- + 상품 정보 (에스크로 결제 시 에스크로 상품 정보로 활용됨) -**`products`** **Array\[Product]** + --- -상품 정보 (에스크로 결제 시 에스크로 상품 정보로 활용됨) + **`customer`** **\*** **Customer** ---- + 구매자 정보 -**`customer`** **\*** **Customer** + --- -구매자 정보 + **`custom_data`** **string** ---- + 커스텀 데이터 -**`custom_data`** **string** + --- -커스텀 데이터 + **`total_amount`** **\*** **integer** ---- + 결제 금액 -**`total_amount`** **\*** **integer** + --- -결제 금액 + **`tax_free_amount`** **integer** ---- + 면세 금액 -**`tax_free_amount`** **integer** + --- -면세 금액 + **`currency`** **\*** **Currency** ---- + 통화 -**`currency`** **\*** **Currency** + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` -통화 + --- -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + **`origin`** **Origin** ---- + 결제를 요청한 근원에 대한 정보 -**`origin`** **Origin** + --- -결제를 요청한 근원에 대한 정보 + **`notice_urls`** **\*** **Array\[string]** ---- + 결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. -**`notice_urls`** **\*** **Array\[string]** + --- -결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + **`installment_month`** **integer** ---- + 할부개월 -**`installment_month`** **integer** + --- +
-할부개월 + --- + ---- + + **`id`** **string** -
+ 구매자 ID ---- + --- -
+ **`name`** **string** - -**`id`** **string** + 구매자 이름 -구매자 ID + --- ---- + **`birthYear`** **string** -**`name`** **string** + 구매자 생년 -구매자 이름 + --- ---- + **`gender`** **Gender** -**`birthYear`** **string** + `"MALE"`, `"FEMALE"`, `"OTHER"` -구매자 생년 + --- ---- + **`email`** **string** -**`gender`** **Gender** + 구매자 이메일 -`"MALE"`, `"FEMALE"`, `"OTHER"` + --- ---- + **`phone_number`** **string** -**`email`** **string** + 구매자 전화번호 -구매자 이메일 + --- ---- + **`one_line_address`** **string** -**`phone_number`** **string** + 구매자 주소 (한 줄) -구매자 전화번호 + --- ---- + **`separated_address`** **SeparatedAddress** -**`one_line_address`** **string** + 구매자 주소 (단위별) -구매자 주소 (한 줄) +
+

SeparatedAddress

---- + **`country`** **Country** -**`separated_address`** **SeparatedAddress** + 국가 -구매자 주소 (단위별) + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` -
-

SeparatedAddress

+ --- -**`country`** **Country** + **`province`** **string** -국가 + 시/도/구 -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + --- ---- + **`city`** **string** -**`province`** **string** + 도시 -시/도/구 + --- ---- + **`address_line_1`** **\*** **string** -**`city`** **string** + 일반 주소 -도시 + --- ---- + **`address_line_2`** **\*** **string** -**`address_line_1`** **\*** **string** + 상세 주소 -일반 주소 + --- +
---- + --- -**`address_line_2`** **\*** **string** + **`zipcode`** **string** -상세 주소 + 구매자 우편번호 ---- + --- + -
+ + **`platform_type`** **\*** **string** ---- - -**`zipcode`** **string** - -구매자 우편번호 - ---- + 결제를 요청한 단말의 플랫폼 분류 - + `"PC"`, `"MOBILE"`, `"API"` - -**`platform_type`** **\*** **string** + --- -결제를 요청한 단말의 플랫폼 분류 + **`user_agent`** **string** -`"PC"`, `"MOBILE"`, `"API"` + 결제근원의 환경 정보 (Http 의 User-Agent header value) ---- - -**`user_agent`** **string** - -결제근원의 환경 정보 (Http 의 User-Agent header value) - ---- + --- -**`url`** **string** + **`url`** **string** -결제근원의 페이지 url + 결제근원의 페이지 url ---- + --- -**`ip_address`** **\*** **string** + **`ip_address`** **\*** **string** -결제근원의 IP 주소 + 결제근원의 IP 주소 ---- + --- + -
+ + **`id`** **\*** **string** - -**`id`** **\*** **string** + 상품 ID -상품 ID + --- ---- + **`name`** **\*** **string** -**`name`** **\*** **string** + 상품명 -상품명 + --- ---- + **`tag`** **string** -**`tag`** **string** + 상품 태그(카테고리) -상품 태그(카테고리) + --- ---- + **`code`** **string** -**`code`** **string** + 상품 코드 -상품 코드 + --- ---- + **`amount`** **\*** **integer** -**`amount`** **\*** **integer** + 상품 단위가격 -상품 단위가격 + --- ---- + **`quantity`** **\*** **integer** -**`quantity`** **\*** **integer** + 주문 수량 -주문 수량 + --- + +
+
---- + + + + **`code`** **\*** **string** - - + `"UNAUTHORIZED"` - + --- - - - -**`code`** **\*** **string** + **`params`** **object** -`"UNAUTHORIZED"` + 에러 세부사항 ---- + --- + + + -**`params`** **object** + + + + **`code`** **\*** **string** -에러 세부사항 + `"PORTONE_ERROR"` ---- + --- - - + **`params`** **object** - - - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - + 에러 세부사항 + --- +
+
+
## ⌨ 빌링키 정기결제예약 취소 - + - + ### Parameters -### Parameters + #### Query -#### Query + + 하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + - -하위 상점 ID - 값을 넣지 않으면 Merchant 유저의 기본값으로 설정된 상점의 id가 입력됩니다. + + 정기결제예약 빌링키 + - - -정기결제예약 빌링키 + + 삭제할 정기결제예약 아이디 목록, 비어있을 경우 빌링키로 예약한 모든 예약을 취소함 + - - -삭제할 정기결제예약 아이디 목록, 비어있을 경우 빌링키로 예약한 모든 예약을 취소함 + ### Responses - + + + + **`deleted_schedule_ids`** **\*** **Array\[string]** -### Responses + 삭제된 정기결제예약 아이디 목록 - - - -**`deleted_schedule_ids`** **\*** **Array\[string]** + --- + + + -삭제된 정기결제예약 아이디 목록 + + + + **`code`** **\*** **string** ---- + `"INVALID_REQUEST"`, `"SCHEDULE_ALREADY_PROCESSED"` - - + --- - + **`params`** **object** - - - -**`code`** **\*** **string** + 에러 세부사항 -`"INVALID_REQUEST"`, `"SCHEDULE_ALREADY_PROCESSED"` + --- + + + ---- + + + + **`code`** **\*** **string** -**`params`** **object** + `"UNAUTHORIZED"` -에러 세부사항 + --- ---- + **`params`** **object** - - + 에러 세부사항 - + --- + + + - - - -**`code`** **\*** **string** + + + + **`code`** **\*** **string** -`"UNAUTHORIZED"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- + `"PORTONE_ERROR"` - - + --- - + **`params`** **object** - - - -**`code`** **\*** **string** - -`"PORTONE_ERROR"` - ---- - -**`params`** **object** - -에러 세부사항 - ---- - - - - - + 에러 세부사항 + --- + + + ## ⌨ 정기결제예약 단건 조회 - - - + -### Parameters + ### Parameters -#### Path + #### Path - -정기결제예약 ID + + 정기결제예약 ID + - + ### Responses -### Responses + + + + **`schedule`** **\*** **Schedule** - - - -**`schedule`** **\*** **Schedule** + 결제예약정보 -결제예약정보 +
+

Schedule

-
-

Schedule

+ **`id`** **\*** **string** -**`id`** **\*** **string** + 결제예약 ID -결제예약 ID + --- ---- + **`merchant_id`** **\*** **string** -**`merchant_id`** **\*** **string** + 고객사 ID -고객사 ID + --- ---- + **`store_id`** **\*** **string** -**`store_id`** **\*** **string** + 하위 상점 ID -하위 상점 ID + --- ---- + **`billing_key`** **\*** **string** -**`billing_key`** **\*** **string** + 빌링키 -빌링키 - ---- + --- -**`payment_id`** **\*** **string** + **`payment_id`** **\*** **string** -결제 ID + 결제 ID ---- + --- -**`status`** **\*** **ScheduleStatus** + **`status`** **\*** **ScheduleStatus** -예약결제 상태\ -`SCHEDULED`: 결제 예약\ -`STARTED`: 결제 실행\ -`COMPLETED`: 실행 완료\ -`CANCELLED`: 예약 취소\ + 예약결제 상태\ + `SCHEDULED`: 결제 예약\ + `STARTED`: 결제 실행\ + `COMPLETED`: 실행 완료\ + `CANCELLED`: 예약 취소\\ -`"SCHEDULED"`, `"STARTED"`, `"COMPLETED"`, `"CANCELLED"` + `"SCHEDULED"`, `"STARTED"`, `"COMPLETED"`, `"CANCELLED"` ---- + --- -**`scheduled_at`** **\*** **string** + **`scheduled_at`** **\*** **string** -결제 예약 시각 + 결제 예약 시각 ---- + --- -**`started_at`** **string** + **`started_at`** **string** -결제 실행 시각 (`status`가 `STARTED`로 되었을 경우 제공) + 결제 실행 시각 (`status`가 `STARTED`로 되었을 경우 제공) ---- + --- -**`completed_at`** **string** + **`completed_at`** **string** -결제 완료 시각 (`status`가 `COMPLETED`인 경우 제공) + 결제 완료 시각 (`status`가 `COMPLETED`인 경우 제공) ---- + --- -**`cancelled_at`** **string** - -결제 취소 시각 (`status`가 `CANCELLED`인 경우 제공) - ---- - -**`order_name`** **\*** **string** - -주문명 - ---- - -**`is_cultural_expense`** **\*** **boolean** - -문화비 지출 여부 - ---- - -**`is_escrow`** **\*** **boolean** - -에스크로 결제 여부 - ---- - -**`products`** **Array\[Product]** - -상품 정보 (에스크로 결제 시 에스크로 상품 정보로 활용됨) - ---- + **`cancelled_at`** **string** -**`customer`** **\*** **Customer** + 결제 취소 시각 (`status`가 `CANCELLED`인 경우 제공) -구매자 정보 + --- ---- + **`order_name`** **\*** **string** -**`custom_data`** **string** + 주문명 -커스텀 데이터 + --- ---- + **`is_cultural_expense`** **\*** **boolean** -**`total_amount`** **\*** **integer** + 문화비 지출 여부 -결제 금액 + --- ---- + **`is_escrow`** **\*** **boolean** -**`tax_free_amount`** **integer** + 에스크로 결제 여부 -면세 금액 + --- ---- + **`products`** **Array\[Product]** -**`currency`** **\*** **Currency** + 상품 정보 (에스크로 결제 시 에스크로 상품 정보로 활용됨) -통화 + --- -`"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` + **`customer`** **\*** **Customer** ---- + 구매자 정보 -**`origin`** **Origin** + --- -결제를 요청한 근원에 대한 정보 + **`custom_data`** **string** ---- + 커스텀 데이터 -**`notice_urls`** **\*** **Array\[string]** + --- -결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. + **`total_amount`** **\*** **integer** ---- + 결제 금액 -**`installment_month`** **integer** + --- -할부개월 + **`tax_free_amount`** **integer** ---- + 면세 금액 -
+ --- ---- + **`currency`** **\*** **Currency** - + 통화 - -**`id`** **string** + `"KRW"`, `"USD"`, `"EUR"`, `"JPY"`, `"CNY"`, `"VND"`, `"THB"`, `"SGD"`, `"AUD"`, `"HKD"`, `"AED"`, `"AFN"`, `"ALL"`, `"AMD"`, `"ANG"`, `"AOA"`, `"ARS"`, `"AWG"`, `"AZN"`, `"BAM"`, `"BBD"`, `"BDT"`, `"BGN"`, `"BHD"`, `"BIF"`, `"BMD"`, `"BND"`, `"BOB"`, `"BOV"`, `"BRL"`, `"BSD"`, `"BTN"`, `"BWP"`, `"BYN"`, `"BZD"`, `"CAD"`, `"CDF"`, `"CHE"`, `"CHF"`, `"CHW"`, `"CLF"`, `"CLP"`, `"COP"`, `"COU"`, `"CRC"`, `"CUC"`, `"CUP"`, `"CVE"`, `"CZK"`, `"DJF"`, `"DKK"`, `"DOP"`, `"DZD"`, `"EGP"`, `"ERN"`, `"ETB"`, `"FJD"`, `"FKP"`, `"GBP"`, `"GEL"`, `"GHS"`, `"GIP"`, `"GMD"`, `"GNF"`, `"GTQ"`, `"GYD"`, `"HNL"`, `"HRK"`, `"HTG"`, `"HUF"`, `"IDR"`, `"ILS"`, `"INR"`, `"IQD"`, `"IRR"`, `"ISK"`, `"JMD"`, `"JOD"`, `"KES"`, `"KGS"`, `"KHR"`, `"KMF"`, `"KPW"`, `"KWD"`, `"KYD"`, `"KZT"`, `"LAK"`, `"LBP"`, `"LKR"`, `"LRD"`, `"LSL"`, `"LYD"`, `"MAD"`, `"MDL"`, `"MGA"`, `"MKD"`, `"MMK"`, `"MNT"`, `"MOP"`, `"MRU"`, `"MUR"`, `"MVR"`, `"MWK"`, `"MXN"`, `"MXV"`, `"MYR"`, `"MZN"`, `"NAD"`, `"NGN"`, `"NIO"`, `"NOK"`, `"NPR"`, `"NZD"`, `"OMR"`, `"PAB"`, `"PEN"`, `"PGK"`, `"PHP"`, `"PKR"`, `"PLN"`, `"PYG"`, `"QAR"`, `"RON"`, `"RSD"`, `"RUB"`, `"RWF"`, `"SAR"`, `"SBD"`, `"SCR"`, `"SDG"`, `"SEK"`, `"SHP"`, `"SLE"`, `"SLL"`, `"SOS"`, `"SRD"`, `"SSP"`, `"STN"`, `"SVC"`, `"SYP"`, `"SZL"`, `"TJS"`, `"TMT"`, `"TND"`, `"TOP"`, `"TRY"`, `"TTD"`, `"TWD"`, `"TZS"`, `"UAH"`, `"UGX"`, `"USN"`, `"UYI"`, `"UYU"`, `"UYW"`, `"UZS"`, `"VED"`, `"VES"`, `"VUV"`, `"WST"`, `"XAF"`, `"XAG"`, `"XAU"`, `"XBA"`, `"XBB"`, `"XBC"`, `"XBD"`, `"XCD"`, `"XDR"`, `"XOF"`, `"XPD"`, `"XPF"`, `"XPT"`, `"XSU"`, `"XTS"`, `"XUA"`, `"XXX"`, `"YER"`, `"ZAR"`, `"ZMW"`, `"ZWL"` -구매자 ID + --- ---- + **`origin`** **Origin** -**`name`** **string** + 결제를 요청한 근원에 대한 정보 -구매자 이름 + --- ---- + **`notice_urls`** **\*** **Array\[string]** -**`birthYear`** **string** + 결제 승인/실패 시 요청을 받을 웹훅 주소입니다. 상점에 설정되어 있는 값보다 우선적으로 적용됩니다. -구매자 생년 + --- ---- + **`installment_month`** **integer** -**`gender`** **Gender** + 할부개월 -`"MALE"`, `"FEMALE"`, `"OTHER"` + --- +
---- + --- +
-**`email`** **string** + + **`id`** **string** -구매자 이메일 + 구매자 ID ---- + --- -**`phone_number`** **string** + **`name`** **string** -구매자 전화번호 + 구매자 이름 ---- + --- -**`one_line_address`** **string** + **`birthYear`** **string** -구매자 주소 (한 줄) + 구매자 생년 ---- + --- -**`separated_address`** **SeparatedAddress** + **`gender`** **Gender** -구매자 주소 (단위별) + `"MALE"`, `"FEMALE"`, `"OTHER"` -
-

SeparatedAddress

+ --- -**`country`** **Country** + **`email`** **string** -국가 코드 + 구매자 이메일 -`"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` + --- ---- + **`phone_number`** **string** -**`province`** **string** + 구매자 전화번호 -시/도/구 + --- ---- + **`one_line_address`** **string** -**`city`** **string** + 구매자 주소 (한 줄) -도시 + --- ---- + **`separated_address`** **SeparatedAddress** -**`address_line_1`** **\*** **string** + 구매자 주소 (단위별) -일반 주소 +
+

SeparatedAddress

---- + **`country`** **Country** -**`address_line_2`** **\*** **string** + 국가 코드 -상세 주소 + `"AF"`, `"AX"`, `"AL"`, `"DZ"`, `"AS"`, `"AD"`, `"AO"`, `"AI"`, `"AQ"`, `"AG"`, `"AR"`, `"AM"`, `"AW"`, `"AU"`, `"AT"`, `"AZ"`, `"BH"`, `"BS"`, `"BD"`, `"BB"`, `"BY"`, `"BE"`, `"BZ"`, `"BJ"`, `"BM"`, `"BT"`, `"BO"`, `"BQ"`, `"BA"`, `"BW"`, `"BV"`, `"BR"`, `"IO"`, `"BN"`, `"BG"`, `"BF"`, `"BI"`, `"KH"`, `"CM"`, `"CA"`, `"CV"`, `"KY"`, `"CF"`, `"TD"`, `"CL"`, `"CN"`, `"CX"`, `"CC"`, `"CO"`, `"KM"`, `"CG"`, `"CD"`, `"CK"`, `"CR"`, `"CI"`, `"HR"`, `"CU"`, `"CW"`, `"CY"`, `"CZ"`, `"DK"`, `"DJ"`, `"DM"`, `"DO"`, `"EC"`, `"EG"`, `"SV"`, `"GQ"`, `"ER"`, `"EE"`, `"ET"`, `"FK"`, `"FO"`, `"FJ"`, `"FI"`, `"FR"`, `"GF"`, `"PF"`, `"TF"`, `"GA"`, `"GM"`, `"GE"`, `"DE"`, `"GH"`, `"GI"`, `"GR"`, `"GL"`, `"GD"`, `"GP"`, `"GU"`, `"GT"`, `"GG"`, `"GN"`, `"GW"`, `"GY"`, `"HT"`, `"HM"`, `"VA"`, `"HN"`, `"HK"`, `"HU"`, `"IS"`, `"IN"`, `"ID"`, `"IR"`, `"IQ"`, `"IE"`, `"IM"`, `"IL"`, `"IT"`, `"JM"`, `"JP"`, `"JE"`, `"JO"`, `"KZ"`, `"KE"`, `"KI"`, `"KP"`, `"KR"`, `"KW"`, `"KG"`, `"LA"`, `"LV"`, `"LB"`, `"LS"`, `"LR"`, `"LY"`, `"LI"`, `"LT"`, `"LU"`, `"MO"`, `"MK"`, `"MG"`, `"MW"`, `"MY"`, `"MV"`, `"ML"`, `"MT"`, `"MH"`, `"MQ"`, `"MR"`, `"MU"`, `"YT"`, `"MX"`, `"FM"`, `"MD"`, `"MC"`, `"MN"`, `"ME"`, `"MS"`, `"MA"`, `"MZ"`, `"MM"`, `"NA"`, `"NR"`, `"NP"`, `"NL"`, `"NC"`, `"NZ"`, `"NI"`, `"NE"`, `"NG"`, `"NU"`, `"NF"`, `"MP"`, `"NO"`, `"OM"`, `"PK"`, `"PW"`, `"PS"`, `"PA"`, `"PG"`, `"PY"`, `"PE"`, `"PH"`, `"PN"`, `"PL"`, `"PT"`, `"PR"`, `"QA"`, `"RE"`, `"RO"`, `"RU"`, `"RW"`, `"BL"`, `"SH"`, `"KN"`, `"LC"`, `"MF"`, `"PM"`, `"VC"`, `"WS"`, `"SM"`, `"ST"`, `"SA"`, `"SN"`, `"RS"`, `"SC"`, `"SL"`, `"SG"`, `"SX"`, `"SK"`, `"SI"`, `"SB"`, `"SO"`, `"ZA"`, `"GS"`, `"SS"`, `"ES"`, `"LK"`, `"SD"`, `"SR"`, `"SJ"`, `"SZ"`, `"SE"`, `"CH"`, `"SY"`, `"TW"`, `"TJ"`, `"TZ"`, `"TH"`, `"TL"`, `"TG"`, `"TK"`, `"TO"`, `"TT"`, `"TN"`, `"TR"`, `"TM"`, `"TC"`, `"TV"`, `"UG"`, `"UA"`, `"AE"`, `"GB"`, `"US"`, `"UM"`, `"UY"`, `"UZ"`, `"VU"`, `"VE"`, `"VN"`, `"VG"`, `"VI"`, `"WF"`, `"EH"`, `"YE"`, `"ZM"`, `"ZW"` ---- + --- -
+ **`province`** **string** ---- + 시/도/구 -**`zipcode`** **string** + --- -구매자 우편번호 + **`city`** **string** ---- + 도시 - + --- - -**`platform_type`** **\*** **string** + **`address_line_1`** **\*** **string** -결제를 요청한 단말의 플랫폼 분류 + 일반 주소 -`"PC"`, `"MOBILE"`, `"API"` + --- ---- + **`address_line_2`** **\*** **string** -**`user_agent`** **string** + 상세 주소 -결제근원의 환경 정보 (Http 의 User-Agent header value) + --- +
---- + --- -**`url`** **string** + **`zipcode`** **string** -결제근원의 페이지 url + 구매자 우편번호 ---- + --- +
-**`ip_address`** **\*** **string** + + **`platform_type`** **\*** **string** -결제근원의 IP 주소 + 결제를 요청한 단말의 플랫폼 분류 ---- + `"PC"`, `"MOBILE"`, `"API"` - + --- - -**`id`** **\*** **string** + **`user_agent`** **string** -상품 ID + 결제근원의 환경 정보 (Http 의 User-Agent header value) ---- + --- -**`name`** **\*** **string** + **`url`** **string** -상품명 + 결제근원의 페이지 url ---- + --- -**`tag`** **string** + **`ip_address`** **\*** **string** -상품 태그(카테고리) + 결제근원의 IP 주소 ---- + --- + -**`code`** **string** + + **`id`** **\*** **string** -상품 코드 + 상품 ID ---- + --- -**`amount`** **\*** **integer** + **`name`** **\*** **string** -상품 단위가격 + 상품명 ---- + --- -**`quantity`** **\*** **integer** + **`tag`** **string** -주문 수량 + 상품 태그(카테고리) ---- + --- - -
+ **`code`** **string** -
+ 상품 코드 - - - -**`code`** **\*** **string** + --- -`"UNAUTHORIZED"` + **`amount`** **\*** **integer** ---- + 상품 단위가격 -**`params`** **object** + --- -에러 세부사항 + **`quantity`** **\*** **integer** ---- + 주문 수량 - - + --- +
+
+
- + + + + **`code`** **\*** **string** - - - -**`code`** **\*** **string** + `"UNAUTHORIZED"` -`"SCHEDULE_NOT_FOUND"` + --- ---- + **`params`** **object** -**`params`** **object** + 에러 세부사항 -에러 세부사항 + --- + + + ---- + + + + **`code`** **\*** **string** - - + `"SCHEDULE_NOT_FOUND"` - + --- - - - -**`code`** **\*** **string** + **`params`** **object** -`"PORTONE_ERROR"` + 에러 세부사항 ---- + --- + + + -**`params`** **object** + + + + **`code`** **\*** **string** -에러 세부사항 + `"PORTONE_ERROR"` ---- + --- - - + **`params`** **object** - + 에러 세부사항 + --- + + +
diff --git a/src/content/docs/ko/api-v2/store.mdx b/src/content/docs/ko/api-v2/store.mdx index 4b205df1d..ffc15755a 100644 --- a/src/content/docs/ko/api-v2/store.mdx +++ b/src/content/docs/ko/api-v2/store.mdx @@ -8,1708 +8,1646 @@ import Swagger from "~/components/gitbook/swagger/Swagger.astro"; import SwaggerDescription from "~/components/gitbook/swagger/SwaggerDescription.astro"; import SwaggerParameter from "~/components/gitbook/swagger/SwaggerParameter.astro"; import SwaggerResponse from "~/components/gitbook/swagger/SwaggerResponse.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## ⌨ 하위상점 다건 조회 - -하위상점 다건 조회 - + + 하위상점 다건 조회 + -### Parameters + ### Parameters -#### Header + #### Header - -jwt 토큰 헤더 + + jwt 토큰 헤더 + - + ### Responses -### Responses + + + + **`stores`** **\*** **Array\[PublicStoreResponse]** - - - -**`stores`** **\*** **Array\[PublicStoreResponse]** + store 목록 -store 목록 +
+

PublicStoreResponse

-
-

PublicStoreResponse

+ **`id`** **\*** **string** -**`id`** **\*** **string** + 상점 아이디 -상점 아이디 + --- ---- + **`name`** **\*** **string** -**`name`** **\*** **string** + 상점 이름 -상점 이름 + --- ---- + **`tier_code`** **\*** **string** -**`tier_code`** **\*** **string** + 상점 식별 코드 ex) ABC 영문, 숫자 3자리 -상점 식별 코드 ex) ABC 영문, 숫자 3자리 + --- ---- + **`service_urls`** **\*** **Array\[string]** -**`service_urls`** **\*** **Array\[string]** + 서비스 url 리스트 -서비스 url 리스트 + --- ---- + **`manager_name`** **string** -**`manager_name`** **string** + 담당자명 -담당자명 + --- ---- + **`manager_phone_number`** **string** -**`manager_phone_number`** **string** + 담당자 휴대폰번호 -담당자 휴대폰번호 + --- ---- + **`manager_email`** **string** -**`manager_email`** **string** + 담당자 이메일 -담당자 이메일 + --- ---- + **`representative`** **\*** **PublicStoreRepresentativeResponse** -**`representative`** **\*** **PublicStoreRepresentativeResponse** + 상점 대표자 정보 -상점 대표자 정보 + --- ---- + **`business_license`** **\*** **PublicStoreBusinessLicense** -**`business_license`** **\*** **PublicStoreBusinessLicense** + 사업자 정보 -사업자 정보 + --- +
---- + --- + -
+ + **`taxation_type`** **\*** **TaxationType** ---- + 사업자 구분 - - -**`taxation_type`** **\*** **TaxationType** + `"PERSON"`, `"CORPORATE"` -사업자 구분 + --- -`"PERSON"`, `"CORPORATE"` + **`company_name`** **\*** **string** ---- + 회사명 -**`company_name`** **\*** **string** + --- -회사명 + **`registration_number`** **\*** **string** ---- + 사업자번호 -**`registration_number`** **\*** **string** + --- -사업자번호 + **`business_location`** **\*** **string** ---- + 회사 주소 -**`business_location`** **\*** **string** + --- -회사 주소 + **`business_location_detail`** **\*** **string** ---- + 회사 상세 주소 -**`business_location_detail`** **\*** **string** + --- -회사 상세 주소 + **`postal_code`** **\*** **string** ---- + 우편번호 -**`postal_code`** **\*** **string** + --- -우편번호 + **`business_types`** **\*** **Array\[string]** ---- + 업태 -**`business_types`** **\*** **Array\[string]** + --- -업태 + **`business_items`** **\*** **Array\[string]** ---- + 종목 -**`business_items`** **\*** **Array\[string]** + --- -종목 + **`corporate_registration_number`** **string** ---- + 법인등록번호 - 법인 only -**`corporate_registration_number`** **string** + --- -법인등록번호 - 법인 only + **`headquarter_location`** **string** ---- + 본사 주소 - 법인 only -**`headquarter_location`** **string** + --- -본사 주소 - 법인 only + **`business_establishment_date`** **string** ---- + 개업 연월일 -**`business_establishment_date`** **string** + --- -개업 연월일 + **`issuance_date`** **string** ---- + 사업자등록증 발급일 -**`issuance_date`** **string** + --- -사업자등록증 발급일 + **`issuance_reason`** **string** ---- + 발급 사유 -**`issuance_reason`** **string** + --- + -발급 사유 + + **`name_ko`** **\*** **string** ---- + 대표자 이름 - - -**`name_ko`** **\*** **string** + --- -대표자 이름 + **`name_en`** **string** ---- + 대표자 영문 이름 -**`name_en`** **string** + --- -대표자 영문 이름 + **`email`** **\*** **string** ---- + 대표자 이메일 -**`email`** **\*** **string** + --- -대표자 이메일 + **`phone_number`** **\*** **string** ---- + 대표자 전화번호 -**`phone_number`** **\*** **string** + --- -대표자 전화번호 + **`birth_date`** **string** ---- + 대표자 생년월일 format: yyyy-MM-dd + ex) 2000-01-01 -**`birth_date`** **string** + --- + +
+
-대표자 생년월일 format: yyyy-MM-dd -ex) 2000-01-01 + + + + **`code`** **\*** **string** ---- + 에러 코드 - - + --- - - - - -**`code`** **\*** **string** + **`params`** **\*** **object** -에러 코드 + 에러 세부사항 ---- +
+

params

-**`params`** **\*** **object** + **`message`** **string** -에러 세부사항 + 에러 메시지 -
-

params

+ --- +
-**`message`** **string** + --- + + + -에러 메시지 + + + + **`code`** **\*** **string** ---- + 에러 코드 -
+ --- ---- + **`params`** **\*** **object** -
-
+ 에러 세부사항 -
- - - -**`code`** **\*** **string** +
+

params

-에러 코드 + **`message`** **string** ---- + 에러 메시지 -**`params`** **\*** **object** + --- +
-에러 세부사항 + --- +
+
+
-
-

params

+ + + + **`code`** **\*** **string** -**`message`** **string** + 에러 코드 -에러 메시지 + --- ---- + **`params`** **\*** **object** -
+ 에러 세부사항 ---- +
+

params

- - - - - - - -**`code`** **\*** **string** - -에러 코드 - ---- - -**`params`** **\*** **object** - -에러 세부사항 - -
-

params

- -**`message`** **string** - -에러 메시지 - ---- - -
- ---- - -
-
- -
- - - -**`code`** **\*** **string** + **`message`** **string** -에러 코드 + 에러 메시지 ---- + --- +
-**`params`** **\*** **object** + --- +
+
+
-에러 세부사항 + + + + **`code`** **\*** **string** -
-

params

+ 에러 코드 -**`message`** **string** + --- -에러 메시지 + **`params`** **\*** **object** ---- + 에러 세부사항 -
+
+

params

---- + **`message`** **string** - - + 에러 메시지 - + --- +
+ --- +
+
+
## ⌨ 하위상점 생성 - - -하위상점 생성 - - -### Parameters - -#### Header - - -jwt 토큰 헤더 - - - -#### Body - - -상점 이름 - - - -상점 식별 코드 ex) ABC 영문, 숫자 3자리 - - - -서비스 url 리스트 - - - -담당자명 - - - -담당자 휴대폰번호 - - - -담당자 이메일 - - - -상점 대표자 정보 - - - -사업자 정보 - - - -약관 동의 여부, 두 가지 필수 약관 모두 동의 필요 -첫번째 약관: 개인정보 수집 동의 -두번째 약관: 상위 고객사에게 상점 정보 제공 동의 -ex) 두 약관 모두 동의 [true, true] - - -### Responses + + + 하위상점 생성 + - - - -**`id`** **\*** **string** + ### Parameters -상점 아이디 + #### Header ---- + + jwt 토큰 헤더 + -**`name`** **\*** **string** + #### Body -상점 이름 - ---- + + 상점 이름 + -**`tier_code`** **\*** **string** + + 상점 식별 코드 ex) ABC 영문, 숫자 3자리 + -상점 식별 코드 ex) ABC 영문, 숫자 3자리 + + 서비스 url 리스트 + ---- + + 담당자명 + -**`service_urls`** **\*** **Array\[string]** + + 담당자 휴대폰번호 + -서비스 url 리스트 + + 담당자 이메일 + ---- + + 상점 대표자 정보 + -**`manager_name`** **string** + + 사업자 정보 + -담당자명 + + 약관 동의 여부, 두 가지 필수 약관 모두 동의 필요 + 첫번째 약관: 개인정보 수집 동의 + 두번째 약관: 상위 고객사에게 상점 정보 제공 동의 + ex) 두 약관 모두 동의 \[true, true] + ---- + ### Responses -**`manager_phone_number`** **string** + + + + **`id`** **\*** **string** -담당자 휴대폰번호 + 상점 아이디 ---- + --- -**`manager_email`** **string** + **`name`** **\*** **string** -담당자 이메일 + 상점 이름 ---- + --- -**`representative`** **\*** **PublicStoreRepresentativeResponse** + **`tier_code`** **\*** **string** -상점 대표자 정보 + 상점 식별 코드 ex) ABC 영문, 숫자 3자리 -
-

PublicStoreRepresentativeResponse

+ --- -**`name_ko`** **\*** **string** + **`service_urls`** **\*** **Array\[string]** -대표자 이름 + 서비스 url 리스트 ---- + --- -**`name_en`** **string** + **`manager_name`** **string** -대표자 영문 이름 + 담당자명 ---- + --- -**`email`** **\*** **string** + **`manager_phone_number`** **string** -대표자 이메일 + 담당자 휴대폰번호 ---- + --- -**`phone_number`** **\*** **string** + **`manager_email`** **string** -대표자 전화번호 + 담당자 이메일 ---- + --- -**`birth_date`** **string** + **`representative`** **\*** **PublicStoreRepresentativeResponse** -대표자 생년월일 format: yyyy-MM-dd -ex) 2000-01-01 + 상점 대표자 정보 ---- +
+

PublicStoreRepresentativeResponse

-
+ **`name_ko`** **\*** **string** ---- + 대표자 이름 -**`business_license`** **\*** **PublicStoreBusinessLicense** + --- -사업자 정보 + **`name_en`** **string** -
-

PublicStoreBusinessLicense

+ 대표자 영문 이름 -**`taxation_type`** **\*** **TaxationType** + --- -사업자 구분 + **`email`** **\*** **string** -`"PERSON"`, `"CORPORATE"` + 대표자 이메일 ---- + --- -**`company_name`** **\*** **string** + **`phone_number`** **\*** **string** -회사명 + 대표자 전화번호 ---- + --- -**`registration_number`** **\*** **string** + **`birth_date`** **string** -사업자번호 + 대표자 생년월일 format: yyyy-MM-dd + ex) 2000-01-01 ---- + --- +
-**`business_location`** **\*** **string** + --- -회사 주소 + **`business_license`** **\*** **PublicStoreBusinessLicense** ---- + 사업자 정보 -**`business_location_detail`** **\*** **string** +
+

PublicStoreBusinessLicense

-회사 상세 주소 + **`taxation_type`** **\*** **TaxationType** ---- + 사업자 구분 -**`postal_code`** **\*** **string** + `"PERSON"`, `"CORPORATE"` -우편번호 + --- ---- + **`company_name`** **\*** **string** -**`business_types`** **\*** **Array\[string]** + 회사명 -업태 + --- ---- + **`registration_number`** **\*** **string** -**`business_items`** **\*** **Array\[string]** + 사업자번호 -종목 + --- ---- + **`business_location`** **\*** **string** -**`corporate_registration_number`** **string** + 회사 주소 -법인등록번호 - 법인 only + --- ---- + **`business_location_detail`** **\*** **string** -**`headquarter_location`** **string** + 회사 상세 주소 -본사 주소 - 법인 only + --- ---- + **`postal_code`** **\*** **string** -**`business_establishment_date`** **string** + 우편번호 -개업 연월일 + --- ---- + **`business_types`** **\*** **Array\[string]** -**`issuance_date`** **string** + 업태 -사업자등록증 발급일 + --- ---- + **`business_items`** **\*** **Array\[string]** -**`issuance_reason`** **string** + 종목 -발급 사유 + --- ---- + **`corporate_registration_number`** **string** -
+ 법인등록번호 - 법인 only ---- + --- - - + **`headquarter_location`** **string** - - - - -**`code`** **\*** **string** + 본사 주소 - 법인 only -에러 코드 + --- ---- + **`business_establishment_date`** **string** -**`params`** **\*** **object** + 개업 연월일 -에러 세부사항 + --- -
-

params

+ **`issuance_date`** **string** -**`message`** **string** + 사업자등록증 발급일 -에러 메시지 + --- ---- + **`issuance_reason`** **string** -
+ 발급 사유 ---- + --- +
-
-
+ --- +
+
+
- - - - -**`code`** **\*** **string** + + + + **`code`** **\*** **string** -에러 코드 + 에러 코드 ---- + --- -**`params`** **\*** **object** + **`params`** **\*** **object** -에러 세부사항 + 에러 세부사항 -
-

params

+
+

params

-**`message`** **string** + **`message`** **string** -에러 메시지 + 에러 메시지 ---- + --- +
-
+ --- +
+
+
---- + + + + **`code`** **\*** **string** - - + 에러 코드 - - - - -**`code`** **\*** **string** + --- -에러 코드 + **`params`** **\*** **object** ---- + 에러 세부사항 -**`params`** **\*** **object** +
+

params

-에러 세부사항 + **`message`** **string** -
-

params

+ 에러 메시지 -**`message`** **string** + --- +
-에러 메시지 + --- + + + ---- + + + + **`code`** **\*** **string** -
+ 에러 코드 ---- + --- -
-
+ **`params`** **\*** **object** -
- - - -**`code`** **\*** **string** + 에러 세부사항 -에러 코드 +
+

params

---- + **`message`** **string** -**`params`** **\*** **object** + 에러 메시지 -에러 세부사항 + --- +
-
-

params

+ --- + + + -**`message`** **string** + + + + **`code`** **\*** **string** -에러 메시지 + 에러 코드 ---- + --- -
+ **`params`** **\*** **object** ---- + 에러 세부사항 -
-
+
+

params

- - - - -**`code`** **\*** **string** + **`message`** **string** -에러 코드 + 에러 메시지 ---- + --- +
-**`params`** **\*** **object** + --- +
+
+
-에러 세부사항 + + + + **`code`** **\*** **string** -
-

params

+ 에러 코드 -**`message`** **string** + --- -에러 메시지 + **`params`** **\*** **object** ---- + 에러 세부사항 -
+
+

params

---- + **`message`** **string** - - + 에러 메시지 - + --- +
+ --- +
+
+
+ - -**`taxation_type`** **\*** **TaxationType** + + **`taxation_type`** **\*** **TaxationType** -사업자 구분 + 사업자 구분 -`"PERSON"`, `"CORPORATE"` + `"PERSON"`, `"CORPORATE"` ---- + --- -**`company_name`** **\*** **string** + **`company_name`** **\*** **string** -회사명 - ---- + 회사명 -**`registration_number`** **\*** **string** + --- -사업자번호 + **`registration_number`** **\*** **string** ---- + 사업자번호 -**`business_location`** **\*** **string** + --- -회사 주소 + **`business_location`** **\*** **string** ---- + 회사 주소 -**`business_location_detail`** **\*** **string** + --- -회사 상세 주소 + **`business_location_detail`** **\*** **string** ---- + 회사 상세 주소 -**`postal_code`** **\*** **string** + --- -우편번호 + **`postal_code`** **\*** **string** ---- + 우편번호 -**`business_types`** **\*** **Array\[string]** + --- -업태 + **`business_types`** **\*** **Array\[string]** ---- + 업태 -**`business_items`** **\*** **Array\[string]** + --- -종목 + **`business_items`** **\*** **Array\[string]** ---- + 종목 -**`corporate_registration_number`** **string** + --- -법인등록번호 - 법인 only + **`corporate_registration_number`** **string** ---- + 법인등록번호 - 법인 only -**`headquarter_location`** **string** + --- -본사 주소 - 법인 only + **`headquarter_location`** **string** ---- + 본사 주소 - 법인 only -**`business_establishment_date`** **string** + --- -개업 연월일 + **`business_establishment_date`** **string** ---- + 개업 연월일 -**`issuance_date`** **string** + --- -사업자등록증 발급일 + **`issuance_date`** **string** ---- + 사업자등록증 발급일 -**`issuance_reason`** **string** + --- -발급 사유 + **`issuance_reason`** **string** ---- + 발급 사유 - - -**`name_ko`** **\*** **string** + --- + -대표자 이름 + + **`name_ko`** **\*** **string** ---- + 대표자 이름 -**`name_en`** **\*** **string** + --- -대표자 영문 이름 + **`name_en`** **\*** **string** ---- + 대표자 영문 이름 -**`email`** **\*** **string** + --- -대표자 이메일 + **`email`** **\*** **string** ---- + 대표자 이메일 -**`phone_number`** **\*** **string** + --- -대표자 전화번호 + **`phone_number`** **\*** **string** ---- + 대표자 전화번호 -**`birth_date`** **\*** **string** + --- -대표자 생년월일 format: yyyy-MM-dd -ex) 2000-01-01 + **`birth_date`** **\*** **string** ---- + 대표자 생년월일 format: yyyy-MM-dd + ex) 2000-01-01 - - -사업자 구분 + --- + -`"PERSON"`, `"CORPORATE"` + + 사업자 구분 - + `"PERSON"`, `"CORPORATE"` + ## ⌨ 하위상점 단건 조회 - - -하위상점 단건 조회 - - -### Parameters - -#### Header - - -jwt 토큰 헤더 - - -#### Path - - -store의 id - - - -### Responses - - - - -**`id`** **\*** **string** - -상점 아이디 - ---- - -**`name`** **\*** **string** - -상점 이름 - ---- - -**`tier_code`** **\*** **string** - -상점 식별 코드 ex) ABC 영문, 숫자 3자리 + + + 하위상점 단건 조회 + ---- + ### Parameters -**`service_urls`** **\*** **Array\[string]** + #### Header -서비스 url 리스트 + + jwt 토큰 헤더 + ---- + #### Path -**`manager_name`** **string** + + store의 id + -담당자명 - ---- + ### Responses -**`manager_phone_number`** **string** + + + + **`id`** **\*** **string** -담당자 휴대폰번호 + 상점 아이디 ---- + --- -**`manager_email`** **string** + **`name`** **\*** **string** -담당자 이메일 + 상점 이름 ---- + --- -**`representative`** **\*** **PublicStoreRepresentativeResponse** + **`tier_code`** **\*** **string** -상점 대표자 정보 + 상점 식별 코드 ex) ABC 영문, 숫자 3자리 -
-

PublicStoreRepresentativeResponse

+ --- -**`name_ko`** **\*** **string** + **`service_urls`** **\*** **Array\[string]** -대표자 이름 + 서비스 url 리스트 ---- + --- -**`name_en`** **string** + **`manager_name`** **string** -대표자 영문 이름 + 담당자명 ---- + --- -**`email`** **\*** **string** + **`manager_phone_number`** **string** -대표자 이메일 + 담당자 휴대폰번호 ---- + --- -**`phone_number`** **\*** **string** + **`manager_email`** **string** -대표자 전화번호 + 담당자 이메일 ---- + --- -**`birth_date`** **string** + **`representative`** **\*** **PublicStoreRepresentativeResponse** -대표자 생년월일 format: yyyy-MM-dd -ex) 2000-01-01 + 상점 대표자 정보 ---- +
+

PublicStoreRepresentativeResponse

-
+ **`name_ko`** **\*** **string** ---- + 대표자 이름 -**`business_license`** **\*** **PublicStoreBusinessLicense** + --- -사업자 정보 + **`name_en`** **string** -
-

PublicStoreBusinessLicense

+ 대표자 영문 이름 -**`taxation_type`** **\*** **TaxationType** + --- -사업자 구분 + **`email`** **\*** **string** -`"PERSON"`, `"CORPORATE"` + 대표자 이메일 ---- + --- -**`company_name`** **\*** **string** + **`phone_number`** **\*** **string** -회사명 + 대표자 전화번호 ---- + --- -**`registration_number`** **\*** **string** + **`birth_date`** **string** -사업자번호 + 대표자 생년월일 format: yyyy-MM-dd + ex) 2000-01-01 ---- + --- +
-**`business_location`** **\*** **string** + --- -회사 주소 + **`business_license`** **\*** **PublicStoreBusinessLicense** ---- + 사업자 정보 -**`business_location_detail`** **\*** **string** +
+

PublicStoreBusinessLicense

-회사 상세 주소 + **`taxation_type`** **\*** **TaxationType** ---- + 사업자 구분 -**`postal_code`** **\*** **string** + `"PERSON"`, `"CORPORATE"` -우편번호 + --- ---- + **`company_name`** **\*** **string** -**`business_types`** **\*** **Array\[string]** + 회사명 -업태 + --- ---- + **`registration_number`** **\*** **string** -**`business_items`** **\*** **Array\[string]** + 사업자번호 -종목 + --- ---- + **`business_location`** **\*** **string** -**`corporate_registration_number`** **string** + 회사 주소 -법인등록번호 - 법인 only + --- ---- + **`business_location_detail`** **\*** **string** -**`headquarter_location`** **string** + 회사 상세 주소 -본사 주소 - 법인 only + --- ---- + **`postal_code`** **\*** **string** -**`business_establishment_date`** **string** + 우편번호 -개업 연월일 + --- ---- + **`business_types`** **\*** **Array\[string]** -**`issuance_date`** **string** + 업태 -사업자등록증 발급일 + --- ---- + **`business_items`** **\*** **Array\[string]** -**`issuance_reason`** **string** + 종목 -발급 사유 + --- ---- + **`corporate_registration_number`** **string** -
+ 법인등록번호 - 법인 only ---- + --- - - + **`headquarter_location`** **string** - - - - -**`code`** **\*** **string** + 본사 주소 - 법인 only -에러 코드 + --- ---- + **`business_establishment_date`** **string** -**`params`** **\*** **object** + 개업 연월일 -에러 세부사항 + --- -
-

params

+ **`issuance_date`** **string** -**`message`** **string** + 사업자등록증 발급일 -에러 메시지 + --- ---- + **`issuance_reason`** **string** -
+ 발급 사유 ---- + --- +
-
-
+ --- +
+
+
- - - - -**`code`** **\*** **string** + + + + **`code`** **\*** **string** -에러 코드 + 에러 코드 ---- + --- -**`params`** **\*** **object** + **`params`** **\*** **object** -에러 세부사항 + 에러 세부사항 -
-

params

+
+

params

-**`message`** **string** + **`message`** **string** -에러 메시지 + 에러 메시지 ---- + --- +
-
+ --- +
+
+
---- + + + + **`code`** **\*** **string** - - + 에러 코드 - - - - -**`code`** **\*** **string** + --- -에러 코드 + **`params`** **\*** **object** ---- + 에러 세부사항 -**`params`** **\*** **object** +
+

params

-에러 세부사항 + **`message`** **string** -
-

params

+ 에러 메시지 -**`message`** **string** + --- +
-에러 메시지 + --- + + + ---- + + + + **`code`** **\*** **string** -
+ 에러 코드 ---- + --- -
-
+ **`params`** **\*** **object** -
- - - -**`code`** **\*** **string** + 에러 세부사항 -에러 코드 +
+

params

---- + **`message`** **string** -**`params`** **\*** **object** + 에러 메시지 -에러 세부사항 + --- +
-
-

params

+ --- + + + -**`message`** **string** + + + + **`code`** **\*** **string** -에러 메시지 + 에러 코드 ---- + --- -
+ **`params`** **\*** **object** ---- + 에러 세부사항 -
-
+
+

params

- - - - -**`code`** **\*** **string** + **`message`** **string** -에러 코드 + 에러 메시지 ---- + --- +
-**`params`** **\*** **object** + --- +
+
+
-에러 세부사항 + + + + **`code`** **\*** **string** -
-

params

+ 에러 코드 -**`message`** **string** + --- -에러 메시지 + **`params`** **\*** **object** ---- + 에러 세부사항 -
+
+

params

---- + **`message`** **string** - - + 에러 메시지 - + --- +
+ --- +
+
+
## ⌨ 하위상점 수정 - - -하위상점 수정 - - -### Parameters - -#### Header - - -jwt 토큰 헤더 - - - -#### Path - - -store의 id - - - -#### Body - - -상점 이름 - - - -서비스 url 리스트 - - - -담당자명 - - -담당자 휴대폰번호 - - - -담당자 이메일 - - - -상점 대표자 정보 - - - -사업자 정보 - - - -### Responses + + + 하위상점 수정 + - - - -**`id`** **\*** **string** + ### Parameters -상점 아이디 + #### Header ---- + + jwt 토큰 헤더 + -**`name`** **\*** **string** + #### Path -상점 이름 - ---- + + store의 id + -**`tier_code`** **\*** **string** + #### Body -상점 식별 코드 ex) ABC 영문, 숫자 3자리 + + 상점 이름 + ---- + + 서비스 url 리스트 + -**`service_urls`** **\*** **Array\[string]** + + 담당자명 + -서비스 url 리스트 + + 담당자 휴대폰번호 + ---- + + 담당자 이메일 + -**`manager_name`** **string** + + 상점 대표자 정보 + -담당자명 + + 사업자 정보 + ---- + ### Responses -**`manager_phone_number`** **string** + + + + **`id`** **\*** **string** -담당자 휴대폰번호 + 상점 아이디 ---- + --- -**`manager_email`** **string** + **`name`** **\*** **string** -담당자 이메일 + 상점 이름 ---- + --- -**`representative`** **\*** **PublicStoreRepresentativeResponse** + **`tier_code`** **\*** **string** -상점 대표자 정보 + 상점 식별 코드 ex) ABC 영문, 숫자 3자리 -
-

PublicStoreRepresentativeResponse

+ --- -**`name_ko`** **\*** **string** + **`service_urls`** **\*** **Array\[string]** -대표자 이름 + 서비스 url 리스트 ---- + --- -**`name_en`** **string** + **`manager_name`** **string** -대표자 영문 이름 + 담당자명 ---- + --- -**`email`** **\*** **string** + **`manager_phone_number`** **string** -대표자 이메일 + 담당자 휴대폰번호 ---- + --- -**`phone_number`** **\*** **string** + **`manager_email`** **string** -대표자 전화번호 + 담당자 이메일 ---- + --- -**`birth_date`** **string** + **`representative`** **\*** **PublicStoreRepresentativeResponse** -대표자 생년월일 format: yyyy-MM-dd -ex) 2000-01-01 + 상점 대표자 정보 ---- +
+

PublicStoreRepresentativeResponse

-
+ **`name_ko`** **\*** **string** ---- + 대표자 이름 -**`business_license`** **\*** **PublicStoreBusinessLicense** + --- -사업자 정보 + **`name_en`** **string** -
-

PublicStoreBusinessLicense

+ 대표자 영문 이름 -**`taxation_type`** **\*** **TaxationType** + --- -사업자 구분 + **`email`** **\*** **string** -`"PERSON"`, `"CORPORATE"` + 대표자 이메일 ---- + --- -**`company_name`** **\*** **string** + **`phone_number`** **\*** **string** -회사명 + 대표자 전화번호 ---- + --- -**`registration_number`** **\*** **string** + **`birth_date`** **string** -사업자번호 + 대표자 생년월일 format: yyyy-MM-dd + ex) 2000-01-01 ---- + --- +
-**`business_location`** **\*** **string** + --- -회사 주소 + **`business_license`** **\*** **PublicStoreBusinessLicense** ---- + 사업자 정보 -**`business_location_detail`** **\*** **string** +
+

PublicStoreBusinessLicense

-회사 상세 주소 + **`taxation_type`** **\*** **TaxationType** ---- + 사업자 구분 -**`postal_code`** **\*** **string** + `"PERSON"`, `"CORPORATE"` -우편번호 + --- ---- + **`company_name`** **\*** **string** -**`business_types`** **\*** **Array\[string]** + 회사명 -업태 + --- ---- + **`registration_number`** **\*** **string** -**`business_items`** **\*** **Array\[string]** + 사업자번호 -종목 + --- ---- + **`business_location`** **\*** **string** -**`corporate_registration_number`** **string** + 회사 주소 -법인등록번호 - 법인 only + --- ---- + **`business_location_detail`** **\*** **string** -**`headquarter_location`** **string** + 회사 상세 주소 -본사 주소 - 법인 only + --- ---- + **`postal_code`** **\*** **string** -**`business_establishment_date`** **string** + 우편번호 -개업 연월일 + --- ---- + **`business_types`** **\*** **Array\[string]** -**`issuance_date`** **string** + 업태 -사업자등록증 발급일 + --- ---- + **`business_items`** **\*** **Array\[string]** -**`issuance_reason`** **string** + 종목 -발급 사유 + --- ---- + **`corporate_registration_number`** **string** -
+ 법인등록번호 - 법인 only ---- + --- - - + **`headquarter_location`** **string** - - - - -**`code`** **\*** **string** + 본사 주소 - 법인 only -에러 코드 + --- ---- + **`business_establishment_date`** **string** -**`params`** **\*** **object** + 개업 연월일 -에러 세부사항 + --- -
-

params

+ **`issuance_date`** **string** -**`message`** **string** + 사업자등록증 발급일 -에러 메시지 + --- ---- + **`issuance_reason`** **string** -
+ 발급 사유 ---- + --- +
-
-
+ --- +
+
+
- - - - -**`code`** **\*** **string** + + + + **`code`** **\*** **string** -에러 코드 + 에러 코드 ---- + --- -**`params`** **\*** **object** + **`params`** **\*** **object** -에러 세부사항 + 에러 세부사항 -
-

params

+
+

params

-**`message`** **string** + **`message`** **string** -에러 메시지 + 에러 메시지 ---- + --- +
-
+ --- +
+
+
---- + + + + **`code`** **\*** **string** - - + 에러 코드 - - - - -**`code`** **\*** **string** + --- -에러 코드 + **`params`** **\*** **object** ---- + 에러 세부사항 -**`params`** **\*** **object** +
+

params

-에러 세부사항 + **`message`** **string** -
-

params

+ 에러 메시지 -**`message`** **string** + --- +
-에러 메시지 + --- + + + ---- + + + + **`code`** **\*** **string** -
+ 에러 코드 ---- + --- -
-
+ **`params`** **\*** **object** -
- - - -**`code`** **\*** **string** + 에러 세부사항 -에러 코드 +
+

params

---- + **`message`** **string** -**`params`** **\*** **object** + 에러 메시지 -에러 세부사항 + --- +
-
-

params

+ --- + + + -**`message`** **string** + + + + **`code`** **\*** **string** -에러 메시지 + 에러 코드 ---- + --- -
+ **`params`** **\*** **object** ---- + 에러 세부사항 -
-
+
+

params

- - - - -**`code`** **\*** **string** + **`message`** **string** -에러 코드 + 에러 메시지 ---- + --- +
-**`params`** **\*** **object** + --- +
+
+
-에러 세부사항 + + + + **`code`** **\*** **string** -
-

params

+ 에러 코드 -**`message`** **string** + --- -에러 메시지 + **`params`** **\*** **object** ---- + 에러 세부사항 -
+
+

params

---- + **`message`** **string** - - + 에러 메시지 - + --- +
+ --- +
+
+
+ - -**`name_ko`** **\*** **string** + + **`name_ko`** **\*** **string** -대표자 이름 + 대표자 이름 ---- + --- -**`name_en`** **\*** **string** + **`name_en`** **\*** **string** -대표자 영문 이름 - ---- + 대표자 영문 이름 -**`email`** **\*** **string** + --- -대표자 이메일 + **`email`** **\*** **string** ---- + 대표자 이메일 -**`phone_number`** **\*** **string** + --- -대표자 전화번호 + **`phone_number`** **\*** **string** ---- + 대표자 전화번호 -**`birth_date`** **\*** **string** + --- -대표자 생년월일 format: yyyy-MM-dd -ex) 2000-01-01 + **`birth_date`** **\*** **string** ---- + 대표자 생년월일 format: yyyy-MM-dd + ex) 2000-01-01 - - -**`company_name`** **\*** **string** + --- + -회사명 + + **`company_name`** **\*** **string** ---- + 회사명 -**`registration_number`** **\*** **string** + --- -사업자번호 + **`registration_number`** **\*** **string** ---- + 사업자번호 -**`business_location`** **\*** **string** + --- -회사 주소 + **`business_location`** **\*** **string** ---- + 회사 주소 -**`business_location_detail`** **\*** **string** + --- -회사 상세 주소 + **`business_location_detail`** **\*** **string** ---- + 회사 상세 주소 -**`postal_code`** **\*** **string** + --- -우편번호 + **`postal_code`** **\*** **string** ---- + 우편번호 -**`business_types`** **\*** **Array\[string]** + --- -업태 + **`business_types`** **\*** **Array\[string]** ---- + 업태 -**`business_items`** **\*** **Array\[string]** + --- -종목 + **`business_items`** **\*** **Array\[string]** ---- + 종목 -**`corporate_registration_number`** **string** + --- -법인등록번호 - 법인 only + **`corporate_registration_number`** **string** ---- + 법인등록번호 - 법인 only -**`headquarter_location`** **string** + --- -본사 주소 - 법인 only + **`headquarter_location`** **string** ---- + 본사 주소 - 법인 only -**`business_establishment_date`** **string** + --- -개업 연월일 + **`business_establishment_date`** **string** ---- + 개업 연월일 -**`issuance_date`** **string** + --- -사업자등록증 발급일 + **`issuance_date`** **string** ---- + 사업자등록증 발급일 -**`issuance_reason`** **string** + --- -발급 사유 + **`issuance_reason`** **string** ---- + 발급 사유 - + --- + diff --git a/src/content/docs/ko/api-v2/v2-api.mdx b/src/content/docs/ko/api-v2/v2-api.mdx index b758ffd78..00967633c 100644 --- a/src/content/docs/ko/api-v2/v2-api.mdx +++ b/src/content/docs/ko/api-v2/v2-api.mdx @@ -6,11 +6,10 @@ description: '' import Hint from "~/components/Hint.astro"; -V2 API 사용 시 필요한 Key는 관리자콘솔의 REST API Key와 다르며,\ -기술지원 이메일을 통한 요청 시 직접 발급을 진행해드리고 있습니다. + V2 API 사용 시 필요한 Key는 관리자콘솔의 REST API Key와 다르며,\ + 기술지원 이메일을 통한 요청 시 직접 발급을 진행해드리고 있습니다. -V2 API Key 요청 또는 추가적으로 궁금하신 사항은 아래 이메일로 문의주시기 바랍니다. + V2 API Key 요청 또는 추가적으로 궁금하신 사항은 아래 이메일로 문의주시기 바랍니다. -- V2 기술지원 이메일: tech.support@portone.io - - \ No newline at end of file + - V2 기술지원 이메일: [tech.support@portone.io](mailto:tech.support@portone.io) + diff --git a/src/content/docs/ko/auth/guide-1/bill/pg.mdx b/src/content/docs/ko/auth/guide-1/bill/pg.mdx index a44821b9c..647771beb 100644 --- a/src/content/docs/ko/auth/guide-1/bill/pg.mdx +++ b/src/content/docs/ko/auth/guide-1/bill/pg.mdx @@ -5,157 +5,157 @@ description: PG사에서 제공하는 결제창을 이용하여 빌링키를 획 import Figure from "~/components/Figure.astro"; import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -import Tab from "~/components/gitbook/tabs/Tab.astro"; -#### PG사가 제공하는 일반 결제창에 고객이 카드정보를 입력하여 빌링키를 발급 받을수 있습니다. +**PG사가 제공하는 일반 결제창에 고객이 카드 정보를 입력하여 빌링키를 발급받을 수 있습니다.** -- **장점**: 카드정보가 서버 또는 포트원의 서버를 거치지 않고 직접 PG사로 전달되기 때문에 데이터 및 통신구간 암호화 등의 **추가 보안 프로세스가 없다**. -- **단점**: PG사의 일반결제창을 통해 카드정보를 입력받기 때문에 웹브라우저를 통해서만 빌링키 발급이 이루어지며, **카드정보 입력란을 커스터마이징 할 수 없다.**(고객사 사이트 친화적인 UI/UX 구성불가) +- **장점**: 카드 정보가 고객사의 서버 또는 포트원의 서버를 거치지 않고 직접 PG사로 전달되기 때문에 + 데이터 및 통신구간 암호화 등의 **추가 보안 프로세스가 없다**. -
+- **단점**: PG사의 일반결제창을 통해 카드 정보를 입력받기 때문에 웹브라우저를 통해서만 빌링키 발급이 이루어지며, + **카드 정보 입력란을 커스터마이징할 수 없다.** (고객사 사이트 친화적인 UI/UX 구성불가) -### **STEP 01.** 발급 요청하기 +
-인증결제와 동일하게 **JavaScript SDK** 를 이용하여 PG사 결제창을 호출합니다. 빌링키를 획득하기 위해 아래 파라미터를 추가적으로 설정하면 모든 준비가 완료됩니다. +## **STEP 01.** 발급 요청하기 -> #### customer_uid : 빌링키와 1:1로 매칭될 고유키 +인증결제와 동일하게 **JavaScript SDK**를 이용하여 PG사 결제창을 호출합니다. +빌링키를 획득하기 위해 아래 파라미터를 추가적으로 설정하면 모든 준비가 완료됩니다. - - -```javascript title="client-side" - IMP.request_pay({ +> **`customer_uid`: 빌링키와 1:1로 매칭될 고유 키** + +```ts title="client-side" +IMP.request_pay( + { customer_uid: "gildong_0001_1234", // 카드(빌링키)와 1:1로 대응하는 값 /* ...생략... */ - }, function (rsp) { // callback + }, + function (rsp) { + // callback if (rsp.success) { // 빌링키 발급 성공 } else { // 빌링키 발급 실패 } - }); + }, +); ``` -**customer\_uid 란?** - -PG사가 발급한 빌링키와 1:1로 맵핑되는 고객사가 지정한 고유값입니다. customer_uid 는 카드번호 단위로 구분되서 저장되어야 합니다. + **`customer_uid` 란?** -예) **홍길동** 고객이 **A카드** 빌링키를 요청하는 경우 customer_uid는 **회원 별 카드번호 단위**로 고유하게 발급되어야 합니다. + PG사가 발급한 빌링키와 1:1로 맵핑되는, 고객사가 지정한 고유한 값입니다. + `customer_uid`는 카드 번호 단위로 구분하여 저장되어야 합니다. + 예) **홍길동** 고객이 **A 카드** 빌링키를 요청하는 경우 + `customer_uid`는 **회원별 카드 번호 단위**로 고유하게 발급되어야 합니다. -이전 빌링키 발급에 사용된 customer\_uid 를 재 사용하는 경우 가장 마지막 빌링키 발급에 사용된 카드번호의 빌링키로 대체됩니다.(**기존에 발급된 빌링키는 자동으로 해지되지 않습니다.**) + 이전 빌링키 발급에 사용된 `customer_uid`를 재사용하는 경우 가장 마지막 빌링키 발급에 사용된 + 카드번호의 빌링키로 대체됩니다. (**기존에 발급된 빌링키는 자동으로 해지되지 않습니다.**) - - +## **STEP 02.** 발급 응답 처리하기 -### **STEP 02.** 발급 응답 처리하기 - - - -```javascript title="client-side" - IMP.request_pay({ +```ts title="client-side" +IMP.request_pay( + { /* ...중략... */ - }, function (rsp) { // callback + }, + function (rsp) { + // callback if (rsp.success) { // 빌링키 발급 성공 // jQuery로 HTTP 요청 jQuery.ajax({ - url: "{customer_uid를 받을 서비스 URL}", + url: "{customer_uid를 받을 서비스 URL}", method: "POST", headers: { "Content-Type": "application/json" }, data: { customer_uid: "gildong_0001_1234", // 카드(빌링키)와 1:1로 대응하는 값 - } + }, }); } else { // 빌링키 발급 실패 } - }); + }, +); ``` -빌링키가 성공적으로 발급되면 고객사 서버로 **customer_uid** 를 전달합니다. 서버에서는 클라이언트로부터 **customer_uid**를 전달받는 API endpoint를 생성합니다. 서버에서 해당 **customer_uid** 를 사용하여 차후에 결제를 요청할 수 있습니다. +빌링키가 성공적으로 발급되면 고객사 서버로 `customer_uid`를 전달합니다. +서버에서는 클라이언트로부터 `customer_uid`를 전달받는 API endpoint를 생성합니다. +서버에서 해당 `customer_uid`를 사용하여 차후에 결제를 요청할 수 있습니다. -```javascript title="server-side" - app.post("/billings", async (req, res) => { - try { - const { customer_uid } = req.body; // req body에서 customer_uid 추출 - ... - } catch (e) { - res.status(400).send(e); - } - }); +```ts title="server-side" +app.post("/billings", async (req, res) => { + try { + const { customer_uid } = req.body; // req body에서 customer_uid 추출 + // ... + } catch (e) { + res.status(400).send(e); + } +}); ``` -전달받은 customer_uid 를 고객사 내부서버 DB에 저장 후 추후 해당 정보를 이용하여 결제를 요청 합니다. - - - +전달받은 `customer_uid` 를 고객사 내부 서버 DB에 저장 후 추후 해당 정보를 이용하여 결제를 요청합니다. -### **STEP 03.** 결제 요청하기 +## **STEP 03.** 결제 요청하기 -위에서 저장된 **customer_uid** 를 이용하여 [**비 인증 결제(빌링키)API**](../../../api/api-4/api)를 호출하여 결제를 요청합니다. +위에서 저장된 `customer_uid`를 이용하여 [**비 인증 결제(빌링키)API**](../../../api/api-4/api)를 호출하여 결제를 요청합니다. -**REST API 를 이용하기 위해서는** [**Access Token**](../../../api/rest-api-access-token) **획득이 선행되어야 하는점 잊지 마세요** - + **REST API 를 이용하기 위해서는** [**Access Token**](../../../api/rest-api-access-token) **획득이 선행되어야 하는 점 잊지 마세요** - - -```javascript title="server-side" +```ts title="Node.js" app.post("/billings", async (req, res) => { - try { - const { customer_uid } = req.body; // req의 body에서 customer_uid 추출 - // 인증 토큰 발급 받기 - const getToken = await axios({ - url: "https://api.iamport.kr/users/getToken", - method: "post", // POST method - headers: { "Content-Type": "application/json" }, - data: { - imp_key: "imp_apikey", // REST API 키 - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret - } - }); - const { access_token } = getToken.data; // 인증 토큰 - ... - // 결제(재결제) 요청 - const paymentResult = await axios({ - url: \`https://api.iamport.kr/subscribe/payments/again\`, - method: "post", - // 인증 토큰을 Authorization header에 추가 - headers: { "Authorization": access_token }, - data: { - customer_uid, - merchant_uid: "order_monthly_0001", // 새로 생성한 결제(재결제)용 주문 번호 - amount: 8900, - name: "월간 이용권 정기결제" - } - }); - ... - const { code, message } = paymentResult; - if (code === 0) { // 카드사 통신에 성공(실제 승인 성공 여부는 추가 판단이 필요함) - if ( paymentResult.status === "paid" ) { //카드 정상 승인 - res.send({ ... }); - } else { //카드 승인 실패 (예: 고객 카드 한도초과, 거래정지카드, 잔액부족 등) - //paymentResult.status : failed 로 수신됨 - res.send({ ... }); - } - res.send({ ... }); - } else { // 카드사 요청에 실패 (paymentResult is null) - res.send({ ... }); + try { + const { customer_uid } = req.body; // req의 body에서 customer_uid 추출 + // 인증 토큰 발급 받기 + const getToken = await axios({ + url: "https://api.iamport.kr/users/getToken", + method: "post", // POST method + headers: { "Content-Type": "application/json" }, + data: { + imp_key: "imp_apikey", // REST API 키 + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, + }); + const { access_token } = getToken.data; // 인증 토큰 + // ... + // 결제(재결제) 요청 + const paymentResult = await axios({ + url: `https://api.iamport.kr/subscribe/payments/again`, + method: "post", + // 인증 토큰을 Authorization header에 추가 + headers: { Authorization: access_token }, + data: { + customer_uid, + merchant_uid: "order_monthly_0001", // 새로 생성한 결제(재결제)용 주문 번호 + amount: 8900, + name: "월간 이용권 정기결제", + }, + }); + // ... + const { code, message } = paymentResult; + if (code === 0) { + // 카드사 통신에 성공(실제 승인 성공 여부는 추가 판단이 필요함) + if (paymentResult.status === "paid") { + //카드 정상 승인 + res.send(/* ... */); + } else { + //카드 승인 실패 (예: 고객 카드 한도초과, 거래정지카드, 잔액부족 등) + //paymentResult.status : failed 로 수신됨 + res.send(/* ... */); } - } catch (e) { - res.status(400).send(e); + res.send(/* ... */); + } else { + // 카드사 요청에 실패 (paymentResult is null) + res.send(/* ... */); } - }); + } catch (e) { + res.status(400).send(e); + } +}); ``` - - - diff --git a/src/content/docs/ko/auth/guide-1/bill/readme.mdx b/src/content/docs/ko/auth/guide-1/bill/readme.mdx index d59c0bea4..236a62e19 100644 --- a/src/content/docs/ko/auth/guide-1/bill/readme.mdx +++ b/src/content/docs/ko/auth/guide-1/bill/readme.mdx @@ -3,80 +3,80 @@ title: 빌링키 결제 요청하기 description: 카드정보를 이용하여 비 인증 결제를 요청하는 방법을 안내합니다. --- -import ContentRef from "~/components/gitbook/ContentRef.astro"; import Figure from "~/components/Figure.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import ContentRef from "~/components/gitbook/ContentRef.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; ## 빌링키(Billing key)를 이용한 비 인증 결제 -**빌링키란?** - -구독형 정기결제, 종량제 과금결제 등 원하는 시점에 재 결제를 진행할 수 있는 결제용 암호화 키 입니다. 고객사가 고객의 카드정보를 소유할 수 없기 때문에 카드사로부터 해당 카드에 대응하는 빌링키 발급 받아 저장하고 원하는 시점에 해당 빌링키로 결제를 청구할 수 있습니다. + **빌링키란?** + 구독형 정기결제, 종량제 과금결제 등 구현 시 원하는 시점에 재 결제를 진행할 수 있는 결제용 암호화 키 입니다. + 고객사가 고객의 카드 정보를 소유할 수 없기 때문에 카드사로부터 해당 카드에 대응하는 빌링키를 + 발급받아 저장하고, 이후 원하는 시점에 해당 빌링키로 결제를 청구하기 위해 사용합니다. -빌링키는 PG사에 따라 다음 두 가지 방식을 활용하여 발급 받을 수 있습니다. +빌링키는 PG사에 따라 다음 두 가지 방식을 활용하여 발급받을 수 있습니다. - -**포트원 REST API를 이용하여 빌링키를 획득할 수 있습니다.** - -- `(구) 나이스페이먼츠` -- `(신) 나이스페이먼츠` -- `KCP` -- `KSNET` -- `(신) 토스페이먼츠` -- `세틀뱅크` -- `이니시스` -- `키움페이(구 다우, 페이조아)` -- `웰컴페이먼츠` - - - - -**PG 결제창을 이용하여 빌링키를 획득할 수 있습니다.** - -- `이니시스` -- `다날(신용카드,휴대폰)` -- `모빌리언스` -- `페이코` -- `KICC` -- `KCP` -- `카카오페이` -- `네이버페이` -- `(신) 토스페이먼츠` -- `웰컴페이먼츠` -- `(신) 스마트로` -- `(신) 페이팔` -- `페이먼트월` -- `세틀뱅크 내통장결제` -- `(신) 토스페이` - - + + **포트원 REST API를 이용하여 빌링키를 획득할 수 있습니다.** + + - `(구) 나이스페이먼츠` + - `(신) 나이스페이먼츠` + - `KCP` + - `KSNET` + - `(신) 토스페이먼츠` + - `세틀뱅크` + - `이니시스` + - `키움페이(구 다우, 페이조아)` + - `웰컴페이먼츠` + + + + **PG 결제창을 이용하여 빌링키를 획득할 수 있습니다.** + + - `이니시스` + - `다날(신용카드,휴대폰)` + - `모빌리언스` + - `페이코` + - `KICC` + - `KCP` + - `카카오페이` + - `네이버페이` + - `(신) 토스페이먼츠` + - `웰컴페이먼츠` + - `(신) 스마트로` + - `(신) 페이팔` + - `페이먼트월` + - `세틀뱅크 내통장결제` + - `(신) 토스페이` + - + - + -## 2. 카드정보를 이용한 결제(키인결제) +## 2. 카드정보를 이용한 결제(키인결제) -PG사와 협의가 된 경우 카드정보를 이용하여 빌링키 없이 매번 1회성으로 결제요청이 가능합니다. 해당방식은 매번 카드정보를 기입하여 결제를 요청하는 방식으로 주로 ARS를 통해 고객분께 카드 정보를 획득하여 결제를 요청하는 콜센타 또는 인증결제의 번거로움을 회피하기 위해 일부 고객사에서 사용하는 방식입니다. 최근에는 인증결제가 간편결제방식으로 전환되면서 매번 카드정보를 기입해야 하는 번거로움 때문에 많이 사용되지 않은 방식입니다. +PG사와 협의가 된 경우 카드 정보를 이용하여 빌링키 없이 매번 1회성으로 결제 요청이 가능합니다. +해당 방식은 매번 카드 정보를 기입하여 결제를 요청하는 방식으로 +주로 ARS를 통해 고객분께 카드 정보를 획득하여 결제를 요청하는 콜센타 +또는 인증결제의 번거로움을 회피하기 위해 일부 고객사에서 사용하는 방식입니다. +최근에는 인증결제가 간편결제 방식으로 전환되면서 +매번 카드정보를 기입해야 하는 번거로움 때문에 많이 사용되지 않는 방식입니다. -
+
-**키인결제를 이용하기 위해서는 PG사와 협의가 필요합니다.** - + **키인결제를 이용하기 위해서는 PG사와 협의가 필요합니다.** -#### 키인결제 지원 PG사 +### 키인결제 지원 PG사 - NHN KCP - 나이스페이 diff --git a/src/content/docs/ko/auth/guide-1/bill/rest-api.mdx b/src/content/docs/ko/auth/guide-1/bill/rest-api.mdx index 08198ff49..b4074ad32 100644 --- a/src/content/docs/ko/auth/guide-1/bill/rest-api.mdx +++ b/src/content/docs/ko/auth/guide-1/bill/rest-api.mdx @@ -4,147 +4,162 @@ description: 포트원 REST API 를 이용하여 손쉽게 빌링키를 획득 --- import Codepen from "~/components/gitbook/Codepen.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; 포트원 REST API 를 이용하여 빌링키를 획득하여 결제를 요청할 수 있습니다. 고객 카드정보를 이용하여 빌링키 발급을 요청하면 포트원 서버가 PG사의 API를 호출하여 빌링키를 발급받습니다. 이 과정에서 -카드정보는 기록되지 않습니다.이 방식은 다음과 같은 특징이 있습니다. +카드정보는 기록되지 않습니다. 이 방식은 다음과 같은 특징이 있습니다. - **장점**: 고객사가 원하는 형태의 화면으로 **카드정보 입력란을 커스터마이징**할 수 있다. - **단점**: **개인정보 이용약관**을 명시해야 하며 PG사 및 카드사 심사가 까다롭고 개인정보 유출에 유의해야 합니다. -#### 고객사 UI/UX 친화적인 결제 환경을 계획하고 계시다면 API 연동 개발을 선택하시면 됩니다. +**고객사 UI/UX 친화적인 결제 환경을 계획하고 계시다면 API 연동 개발을 선택하시면 됩니다.** -### **STEP 01.** 카드 정보 입력받기 +## **STEP 01.** 카드 정보 입력받기 -카드 정보를 입력하는 필드들을 다음과 같이 작성합니다. 요청 시 **customer_uid**를 저장 할 히든필드를 -작성합니다. 법인카드(개인명의로 발급된 _기명카드_ 제외)의 경우 `birth` 파라미터에 \_사업자번호 -10자리\_를 입력하시면 됩니다. 결제하기 버튼 클릭 시 입력 값들과 customer_uid로 -`/subscription/issue-billing`에 대해`POST`요청이 호출되는 예제입니다. +카드 정보를 입력하는 필드들을 다음과 같이 작성합니다. 요청 시 **customer\_uid**를 저장 할 히든필드를 +작성합니다. 법인카드(개인명의로 발급된 _기명카드_ 제외)의 경우 `birth` 파라미터에 _사업자번호 +10자리_ 를 입력하시면 됩니다. 결제하기 버튼 클릭 시 입력 값들과 customer\_uid로 +`/subscription/issue-billing`에 대해 `POST`요청이 호출되는 예제입니다. -**customer\_uid 란?** + **`customer_uid` 란?** -PG사가 발급한 빌링키와 1:1로 맵핑되는 고객사가 지정한 고유값입니다. customer_uid 는 카드번호 단위로구분되서 저장되어야 합니다. - -예) **홍길동** 고객이 **A카드** 빌링키를 요청하는 경우 customer_uid는 **회원별 카드번호 단위**로 고유하게 발급되어야 합니다. + PG사가 발급한 빌링키와 1:1로 맵핑되는, 고객사가 지정한 고유한 값입니다. + `customer_uid`는 카드 번호 단위로 구분하여 저장되어야 합니다. + 예) **홍길동** 고객이 **A 카드** 빌링키를 요청하는 경우 + `customer_uid`는 **회원별 카드 번호 단위**로 고유하게 발급되어야 합니다. -이전 빌링키 발급에 사용된 customer\_uid 를 재 사용하는 경우 가장 마지막 빌링키 발급에 사용된 카드번호의 빌링키로 대체됩니다.(**기존에 발급된 빌링키는 자동으로 해지되지 않습니다.**) - + 이전 빌링키 발급에 사용된 `customer_uid`를 재사용하는 경우 가장 마지막 빌링키 발급에 사용된 + 카드번호의 빌링키로 대체됩니다. (**기존에 발급된 빌링키는 자동으로 해지되지 않습니다.**) -**빌링키 발급을 위한 카드정보** - -- **카드번호** -- **유효기간** -- **생년월일** -- **비밀번호 앞 두자리** + **빌링키 발급을 위한 카드정보** + - **카드번호** + - **유효기간** + - **생년월일** + - **비밀번호 앞 두자리** - -```html title="client-side" -
- -
- - -
-
- - -
-
- - -
-
- - -
- - -
-``` - -
- - -```jsx title="client-side" -// React.js - class CardForm extends React.Components { - constructor(props) { - super(props); - this.state = { - cardNumber: "", - expiry: "", - birth: "", - pwd2Digit: "", - customer_uid: "gildong_0001_1234", + + ```html title="client-side" +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+ ``` +
+ + + ```tsx title="client-side" + // React.js + class CardForm extends React.Components { + constructor(props) { + super(props); + this.state = { + cardNumber: "", + expiry: "", + birth: "", + pwd2Digit: "", + customer_uid: "gildong_0001_1234", + }; + } + handleInputChange = (event) => { + const { value, name } = event.target; + this.setState({ + [name]: value, + }); }; + handleFormSubmit = (event) => { + event.preventDefault(); + const { cardNumber, expiry, birth, pwd2Digit, customer_uid } = this.state; + axios({ + // 예: https://www.myservice.com/subscription/issue-billing + url: "{빌링키 발급 요청을 받을 서비스 URL}", + method: "post", + data: { + cardNumber, + expiry, + birth, + pwd2Digit, + customer_uid, + }, + }).then((rsp) => { + // ... + }); + }; + render() { + const { cardNumber, expiry, birth, pwd2Digit } = this.state; + return ( +
+ + + + + +
+ ); + } } - ... - handleInputChange = (event) => { - const { value, name } = event.target; - this.setState({ - [name]: value, - }); - }; - ... - handleFormSubmit = (event) => { - event.preventDefault(); - const { cardNumber, expiry, birth, pwd2Digit, customer_uid } = this.state; - axios({ - // 예: https://www.myservice.com/subscription/issue-billing - url: "{빌링키 발급 요청을 받을 서비스 URL}", - method: "post", - data: { - cardNumber, - expiry, - birth, - pwd2Digit, - customer_uid, - } - }).then(rsp => { - ... - }); - }; - ... - render() { - const { cardNumber, expiry, birth, pwd2Digit } = this.state; - return ( -
- - - - - -
- ) - } - } -``` - -
+ ``` +
@@ -155,96 +170,95 @@ PG사가 발급한 빌링키와 1:1로 맵핑되는 고객사가 지정한 고 추출합니다.`/subscription/issue-billing`에 대한 `POST`요청을 처리하는 **API endpoint**의 예제입니다. - -```javascript title="server-side" -// "/subscription/issue-billing"에 대한 POST 요청을 처리 - app.post("/subscriptions/issue-billing", async (req, res) => { - try { - const { - card_number, // 카드 번호 - expiry, // 카드 유효기간 - birth, // 생년월일 - pwd_2digit, // 카드 비밀번호 앞 두자리, - customer_uid, // 카드(빌링키)와 1:1로 대응하는 값 - } = req.body; // req의 body에서 카드정보 추출 - ... - } catch (e) { - res.status(400).send(e); - } - }); -``` - - + + ```ts title="server-side" + // "/subscription/issue-billing"에 대한 POST 요청을 처리 + app.post("/subscriptions/issue-billing", async (req, res) => { + try { + const { + card_number, // 카드 번호 + expiry, // 카드 유효기간 + birth, // 생년월일 + pwd_2digit, // 카드 비밀번호 앞 두자리, + customer_uid, // 카드(빌링키)와 1:1로 대응하는 값 + } = req.body; // req의 body에서 카드정보 추출 + // ... + } catch (e) { + res.status(400).send(e); + } + }); + ``` + ### **STEP 03.** 빌링키 발급 요청 및 응답 처리하기 -당사가 제공하는 [**빌링키 발급 REST API** ](../../../api/api-4/)를 통해 빌링키 발급을 요청하고 결과값에 따라 응답을 반환하는 예제입니다. +당사가 제공하는 [**빌링키 발급 REST API**](../../../api/api-4/)를 통해 빌링키 발급을 요청하고 결과값에 따라 응답을 반환하는 예제입니다. - -```javascript title="server-side" -// "/subscription/issue-billing"에 대한 POST 요청을 처리 + + ```ts title="server-side" + // "/subscription/issue-billing"에 대한 POST 요청을 처리 app.post("/subscriptions/issue-billing", async (req, res) => { try { const { - card_number, // 카드 번호 - expiry, // 카드 유효기간 - birth, // 생년월일 - pwd_2digit, // 카드 비밀번호 앞 두자리 + card_number, // 카드 번호 + expiry, // 카드 유효기간 + birth, // 생년월일 + pwd_2digit, // 카드 비밀번호 앞 두자리 customer_uid, // 카드(빌링키)와 1:1로 대응하는 값 - } = req.body; // req의 body에서 카드정보 추출 - ... + } = req.body; // req의 body에서 카드정보 추출 // 인증 토큰 발급 받기 const getToken = await axios({ url: "https://api.iamport.kr/users/getToken", - method: "post", // POST method - headers: { "Content-Type": "application/json" }, + method: "post", // POST method + headers: { "Content-Type": "application/json" }, data: { imp_key: "imp_apikey", // REST API 키 - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" - } + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", + }, }); const { access_token } = getToken.data; // 인증 토큰 - ... // 빌링키 발급 요청 const issueBilling = await axios({ url: `https://api.iamport.kr/subscribe/customers/${customer_uid}`, method: "post", // 인증 토큰 Authorization header에 추가 - headers: { "Authorization": access_token }, + headers: { Authorization: access_token }, data: { card_number, // 카드 번호 - expiry, // 카드 유효기간 - birth, // 생년월일 - pwd_2digit, // 카드 비밀번호 앞 두자리 + expiry, // 카드 유효기간 + birth, // 생년월일 + pwd_2digit, // 카드 비밀번호 앞 두자리 pg: YOUR_PG_HERE, // 빌링키 발급에 사용할 PG - } + }, }); - ... const { code, message } = issueBilling.data; - if (code === 0) { // 빌링키 발급 성공 - res.send({ status: "success", message: "Billing has successfully issued" }); - } else { // 빌링키 발급 실패 + if (code === 0) { + // 빌링키 발급 성공 + res.send({ + status: "success", + message: "Billing has successfully issued", + }); + } else { + // 빌링키 발급 실패 res.send({ status: "failed", message }); } } catch (e) { res.status(400).send(e); } }); -``` - - + ``` + -**REST API 를 이용하기 위해서는** [**Access Token**](../../../api/rest-api-access-token) **획득이 선행되어야 하는점 잊지 마세요** - + **REST API 를 이용하기 위해서는** [**Access Token**](../../../api/rest-api-access-token) **획득이 선행되어야 하는점 잊지 마세요** -**빌링키 발급과 결제 요청을 한번에 하기** - -예약결제 REST API [**`/subscribe/payments/schedule`**](../../../api/rest-v1/nonAuthPayment.subscribe#post%20%2Fsubscribe%2Fpayments%2Fschedule)를 사용하면 등록된 customer_uid가 없는 경우 빌링키 신규 발급을 먼저 진행한 후 schedule정보를 예약합니다.(카드정보 필수사항) + **빌링키 발급과 결제 요청을 한번에 하기** + 예약결제 REST API [**`/subscribe/payments/schedule`**](../../../api/rest-v1/nonAuthPayment.subscribe#post%20%2Fsubscribe%2Fpayments%2Fschedule)를 사용하면 등록된 customer\_uid가 없는 경우 빌링키 신규 발급을 먼저 진행한 후 schedule정보를 예약합니다.(카드정보 필수사항) diff --git a/src/content/docs/ko/auth/guide-1/page-1.mdx b/src/content/docs/ko/auth/guide-1/page-1.mdx index 8547f8e76..8d8d3b67a 100644 --- a/src/content/docs/ko/auth/guide-1/page-1.mdx +++ b/src/content/docs/ko/auth/guide-1/page-1.mdx @@ -3,32 +3,32 @@ title: 카드정보를 이용한 키인결제 description: 구매자 인증 없이 카드번호 입력만으로 결제가 가능합니다. --- -import Details from "~/components/gitbook/Details.astro"; import Figure from "~/components/Figure.astro"; +import Details from "~/components/gitbook/Details.astro"; import Hint from "~/components/Hint.astro"; -PG사와 협의가 된 경우 카드정보를 이용하여 1회성 결제요청이 가능합니다. 해당방식은 매번 카드정보를 기입하여 결제를 요청하는 방식으로 주로 ARS를 통해 고객분께 카드 정보를 획득하여 결제를 요청하는 콜센타 또는 인증결제의 번거로움을 회피하기 위해 일부 고객사에서 사용하는 방식입니다. 최근에는 인증결제가 간편결제방식으로 전환되면서 매번 카드정보를 기입해야 하는 번거로움 때문에 많이 사용되지 않은 방식입니다. +PG사와 협의가 된 경우 카드정보를 이용하여 1회성 결제요청이 가능합니다. +해당방식은 매번 카드정보를 기입하여 결제를 요청하는 방식으로 +주로 ARS를 통해 고객분께 카드 정보를 획득하여 결제를 요청하는 콜센타 또는 +인증결제의 번거로움을 회피하기 위해 일부 고객사에서 사용하는 방식입니다. +최근에는 인증결제가 간편결제방식으로 전환되면서 +매번 카드정보를 기입해야 하는 번거로움 때문에 많이 사용되지 않은 방식입니다. -
+
-**키인결제를 이용하기 위해서는 PG사와 협의가 필요합니다.** - + **키인결제를 이용하기 위해서는 PG사와 협의가 필요합니다.**
-

키인결제 지원 PG사 확인하기

- -- 나이스페이 -- NHN KCP -- 세틀뱅크 -- 키움페이(구 다우, 페이조아) -- KSNET -- 토스페이먼츠 (신 모듈) - +

키인결제 지원 PG사 확인하기

+ + - 나이스페이 + - NHN KCP + - 세틀뱅크 + - 키움페이(구 다우, 페이조아) + - KSNET + - 토스페이먼츠 (신 모듈)
키인결제는 [**비인증 결제(1회성) API**](../../api/api-4/api-1) 또는 PG창을 이용하여 결제를 요청할 수 있습니다. diff --git a/src/content/docs/ko/auth/guide-1/undefined.mdx b/src/content/docs/ko/auth/guide-1/undefined.mdx index 976971db0..71e776693 100644 --- a/src/content/docs/ko/auth/guide-1/undefined.mdx +++ b/src/content/docs/ko/auth/guide-1/undefined.mdx @@ -3,61 +3,62 @@ title: 빌링키를 이용한 정기결제 description: customer_uid 로 정기(예약)결제 구현방법을 안내합니다. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -#### [빌링키 발급](../../api/api-2/api-1) 또는 [비 인증 결제(일회성)](../../api/api-4/api-1) API를 이용하여 customer_uid 를 획득했다면 원하는 형태의 정기 또는 예약결제를 이용할 수 있습니다. +**[빌링키 발급](../../api/api-2/api-1) 또는 [비 인증 결제(일회성)](../../api/api-4/api-1) API를 이용하여 +customer\_uid를 획득했다면, 원하는 형태의 정기 또는 예약결제를 이용할 수 있습니다.** -### **STEP 01.** 결제 예약하기 +## **STEP 01.** 결제 예약하기 -미래 특정 시점에 결제가 진행되도록 결제를 예약할 수 있습니다. 포트원 **결제 예약 API**를 이용하여 원하시는 시점에 결제 예약을 손쉽게 등록 할 수 있습니다. +미래 특정 시점에 결제가 진행되도록 결제를 예약할 수 있습니다. +포트원 **결제 예약 API**를 이용하여 +원하시는 시점에 결제 예약을 손쉽게 등록 할 수 있습니다. - -```javascript title="Node.js" -// 결제 예약 - axios({ - url: `https://api.iamport.kr/subscribe/payments/schedule`, - method: "post", - headers: { "Authorization": access_token }, - data: { - customer_uid: "gildong_0001_1234", // 카드(빌링키)와 1:1로 대응하는 값 - schedules: [ - { - merchant_uid: "order_monthly_0001", // 주문 번호 - schedule_at: 1519862400, // 결제 시도 시각 in Unix Time Stamp. 예: 다음 달 1일 - amount: 8900, - name: "월간 이용권 정기결제", - buyer_name: "홍길동", - buyer_tel: "01012345678", - buyer_email: "gildong@gmail.com" - } - ] - } - }); -``` - - + + ```ts title="Node.js" + // 결제 예약 + axios({ + url: `https://api.iamport.kr/subscribe/payments/schedule`, + method: "post", + headers: { Authorization: access_token }, + data: { + customer_uid: "gildong_0001_1234", // 카드(빌링키)와 1:1로 대응하는 값 + schedules: [ + { + merchant_uid: "order_monthly_0001", // 주문 번호 + schedule_at: 1519862400, // 결제 시도 시각 in Unix Time Stamp. 예: 다음 달 1일 + amount: 8900, + name: "월간 이용권 정기결제", + buyer_name: "홍길동", + buyer_tel: "01012345678", + buyer_email: "gildong@gmail.com", + }, + ], + }, + }); + ``` + -### **STEP 02.** 결제 결과 수신받기 +## **STEP 02.** 결제 결과 수신받기 예약한 시간에 결제가 시도되면 Webhook 이벤트가 발생하여 지정한 서버의 callback URL로 결제 번호(`imp_uid`)와 주문 번호(`merchant_uid`)가 전달됩니다. 웹훅으로 예약결제에 대한 결과를 수신으면 결제결과 완료 로직 처리를 진행하시면 됩니다. -**포트원 Webhook** - -포트원 Webhook의 개념과 URL 설정 방법은 [**포트원 Webhook**](../../result/webhook) 문서를 참고하세요. + **포트원 Webhook** + 포트원 Webhook의 개념과 URL 설정 방법은 [**포트원 Webhook**](../../result/webhook) 문서를 참고하세요. - -```javascript title="server-side" -// "/iamport-callback/schedule"에 대한 POST 요청을 처리 + + ```ts title="server-side" + // "/iamport-callback/schedule"에 대한 POST 요청을 처리 app.post("/iamport-callback/schedule", async (req, res) => { try { const { imp_uid, merchant_uid } = req.body; @@ -65,25 +66,27 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; const getToken = await axios({ url: "https://api.iamport.kr/users/getToken", method: "post", // POST method - headers: { "Content-Type": "application/json" }, + headers: { "Content-Type": "application/json" }, data: { imp_key: "imp_apikey", // REST API 키 - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" - } + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", + }, }); const { access_token } = getToken.data; // 인증 토큰 // imp_uid로 포트원 서버에서 결제 정보 조회 const getPaymentData = await axios({ url: `https://api.iamport.kr/payments/${imp_uid}`, // imp_uid 전달 method: "get", // GET method - headers: { "Authorization": access_token } + headers: { Authorization: access_token }, }); const paymentData = getPaymentData.data; // 조회한 결제 정보 const { status } = paymentData; - if (status === "paid") { // 결제 성공적으로 완료 + if (status === "paid") { + // 결제 성공적으로 완료 // DB에 결제 정보 저장 await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // Mongoose - ... + // ... } else { // 재결제 시도 } @@ -91,21 +94,21 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; res.status(400).send(e); } }); -``` - - + ``` + ### 반복결제 구현하기 -포트원 서버에 결제 예약 요청을 하고 예약한 시간에 결제가 시도되면 지정된 웹훅 URL을 통해서 서버에 알리는 과정을 반복적으로 수행하여 반복 결제를 구현할 수 있습니다. +포트원 서버에 결제 예약 요청을 하고 예약한 시간에 결제가 시도되면 지정된 웹훅 URL을 통해서 +서버에 알리는 과정을 반복적으로 수행하여 반복 결제를 구현할 수 있습니다. ![]() - -```javascript title="server-side" -// "/iamport-callback/schedule"에 대한 POST 요청을 처리 + + ```ts title="server-side" + // "/iamport-callback/schedule"에 대한 POST 요청을 처리 app.post("/iamport-callback/schedule", async (req, res) => { try { const { imp_uid, merchant_uid } = req.body; @@ -115,30 +118,31 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; /* ...중략 ... */ const paymentData = getPaymentData.data; // 조회한 결제 정보 const { status } = paymentData; - if (status === "paid") { // 결제 성공적으로 완료 + if (status === "paid") { + // 결제 성공적으로 완료 // DB에 결제 정보 저장 - await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); - ... + await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); + // ... // 새로운 결제 예약 axios({ - url: "{결제예약을 받을 서비스 URL}", + url: "{결제예약을 받을 서비스 URL}", method: "post", // 인증 토큰 Authorization header에 추가 - headers: { "Authorization": access_token }, + headers: { Authorization: access_token }, data: { customer_uid: "gildong_0001_1234", // 카드(빌링키)와 1:1로 대응하는 값 schedules: [ { // 주문 번호 - merchant_uid: "order_monthly_0001", + merchant_uid: "order_monthly_0001", // 결제 시도 시각 in Unix Time Stamp. 예: 다음 달 1일 - schedule_at: 1519516800, + schedule_at: 1519516800, amount: 8900, name: "월간 이용권 정기결제", - ... - } - ] - } + // ... + }, + ], + }, }); } else { // 재결제 시도 @@ -147,9 +151,8 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; res.status(400).send(e); } }); -``` - -예약된 결제가 시도되었을 때 발생하는 webhook 이벤트를 처리하는 로직에서 예약된 결제가 정상적으로 완료되고 결제 내역이 저장되면 다음 결제를 예약하는 예제입니다. + ``` - + 예약된 결제가 시도되었을 때 발생하는 webhook 이벤트를 처리하는 로직에서 예약된 결제가 정상적으로 완료되고 결제 내역이 저장되면 다음 결제를 예약하는 예제입니다. + diff --git a/src/content/docs/ko/auth/guide-2/readme.mdx b/src/content/docs/ko/auth/guide-2/readme.mdx index 79a95ecb1..5b486087e 100644 --- a/src/content/docs/ko/auth/guide-2/readme.mdx +++ b/src/content/docs/ko/auth/guide-2/readme.mdx @@ -4,141 +4,135 @@ description: 포트원 결제취소 API를 이용한 결제취소 방법을 안 --- import Codepen from "~/components/gitbook/Codepen.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -### **STEP 01.** 취소 요청하기 +## **STEP 01.** 취소 요청하기 필요한 취소 정보를 서버로 전달하여 취소 요청을 진행합니다. 가상계좌 환불의 경우 환불수령 계좌 정보를 추가 파라미터로 전달해야 합니다. 다음은 환불요청을 하기 위해 서버로 해당 정보를 전달하는 예제입니다. - -```html title="client-side" - - - -``` - - - - - - -```jsx title="client-side" -class CancelPay extends React.Component { - cancelPay = () => { - axios({ - url: "{환불요청을 받을 서비스 URL}", // 예: http://www.myservice.com/payments/cancel - method: "POST", - headers: { - "Content-Type": "application/json, - }, - data: { - merchant_uid: "{결제건의 주문번호}", // 주문번호 - cancel_request_amount: 2000, // 환불금액 - reason: "테스트 결제 환불" // 환불사유 - refund_holder: "홍길동", // [가상계좌 환불시 필수입력] 환불 수령계좌 예금주 - refund_bank: "88" // [가상계좌 환불시 필수입력] 환불 수령계좌 은행코드(예: KG이니시스의 경우 신한은행은 88번) - refund_account: "56211105948400" // [가상계좌 환불시 필수입력] 환불 수령계좌 번호 + + ```html title="client-side" + + + + ``` + + + + + + ```tsx title="client-side" + class CancelPay extends React.Component { + cancelPay = () => { + axios({ + url: "{환불요청을 받을 서비스 URL}", // 예: http://www.myservice.com/payments/cancel + method: "POST", + headers: { + "Content-Type": "application/json", + }, + data: { + merchant_uid: "{결제건의 주문번호}", // 주문번호 + cancel_request_amount: 2000, // 환불금액 + reason: "테스트 결제 환불", // 환불사유 + refund_holder: "홍길동", // [가상계좌 환불시 필수입력] 환불 수령계좌 예금주 + refund_bank: "88", // [가상계좌 환불시 필수입력] 환불 수령계좌 은행코드(예: KG이니시스의 경우 신한은행은 88번) + refund_account: "56211105948400", // [가상계좌 환불시 필수입력] 환불 수령계좌 번호 + }, + }); + }; + render() { + return ; + } + } + ``` + -### **STEP 02.** 결제정보 조회하기 +## **STEP 02.** 결제정보 조회하기 -아래와 같이 결제정보를 저장하는 **`Payments`**라는 테이블을 생성했다고 가정합니다. +아래와 같이 결제정보를 저장하는 \*\*`Payments`\*\*라는 테이블을 생성했다고 가정합니다. -```javascript title="server-side" +```js title="server-side" /* ... model/payments.js ... */ - var mongoose = require('mongoose'); - var Schema = mongoose.Schema; - ... - var PaymentsSchema = new Schema({ - imp_uid: String, // 포트원 `unique key`(환불 요청시 `unique key`로 사용) - merchant_uid: String, // 주문번호(결제정보 조회시 사용) - amount: { type: Number, default: 0 }, // 결제 금액(환불 가능 금액 계산시 사용) - // 환불 된 총 금액(환불 가능 금액 계산시 사용) - cancel_amount: { type: Number, default: 0 }, - ... - }); - ... - module.exports = mongoose.model('Payments', PaymentsSchema); +const mongoose = require("mongoose"); +const Schema = mongoose.Schema; +const PaymentsSchema = new Schema({ + imp_uid: String, // 포트원 `unique key`(환불 요청시 `unique key`로 사용) + merchant_uid: String, // 주문번호(결제정보 조회시 사용) + amount: { type: Number, default: 0 }, // 결제 금액(환불 가능 금액 계산시 사용) + // 환불 된 총 금액(환불 가능 금액 계산시 사용) + cancel_amount: { type: Number, default: 0 }, +}); +module.exports = mongoose.model("Payments", PaymentsSchema); ``` 클라이언트에서 받은 주문번호(**`merchant_uid`**)를 사용해서 해당 주문의 결제정보를 **`Payments`** 테이블에서 조회합니다. -```javascript title="server-side" +```js title="server-side" /* ... 중략 ... */ - var Payments = require('./models/payments'); - app.post('/payments/cancel', async (req, res, next) => { - try { - /* 액세스 토큰(access token) 발급 */ - /* ... 중략 ... */ - /* 결제정보 조회 */ - const { body } = req; - const { merchant_uid } = body; // 클라이언트로부터 전달받은 주문번호 - Payments.find({ merchant_uid }, async function(err, payment) { - if (err) { - return res.json(err); - } - const paymentData = payment[0]; // 조회된 결제정보 - /* 포트원 REST API로 결제환불 요청 */ - ... - }); - } catch (error) { - res.status(400).send(error); - } - }); - +const Payments = require("./models/payments"); +app.post("/payments/cancel", async (req, res, next) => { + try { + /* 액세스 토큰(access token) 발급 */ + /* ... 중략 ... */ + /* 결제정보 조회 */ + const { body } = req; + const { merchant_uid } = body; // 클라이언트로부터 전달받은 주문번호 + Payments.find({ merchant_uid }, async function (err, payment) { + if (err) { + return res.json(err); + } + const paymentData = payment[0]; // 조회된 결제정보 + /* 포트원 REST API로 결제환불 요청 */ + // ... + }); + } catch (error) { + res.status(400).send(error); + } +}); ``` -### **STEP 03.** 아임**포트 서버에 취소 요청하기** +## **STEP 03.** 아임**포트 서버에 취소 요청하기** -취소 요청을 하기 위해서 먼저 [**REST API access token**](../../api/rest-api-access-token) 을 발급받습니다. 발급받은 액세스 토큰(**`access token`**)을 이용하여[ **아임****포트 취소 API**](../../api/api-1/api) 를 호출하여 결제 취소를 요청합니다. +취소 요청을 하기 위해서 먼저 [**REST API access token**](../../api/rest-api-access-token)을 +발급받습니다. 발급받은 액세스 토큰(**`access token`**)을 이용하여 +[**포트원 취소 API**](../../api/api-1/api)를 호출하여 결제 취소를 요청합니다. -**휴대폰 소액결제 환불 시 유의사항** - -- **결제가 이루어진 월과 환불을 요청하는 월이 다를 경우, 전액환불도 불가능**합니다. 예를 들어, 1월 31일 결제건은 2월 1일에 환불할 수 없습니다. + **휴대폰 소액결제 환불 시 유의사항** + - **결제가 이루어진 월과 환불을 요청하는 월이 다를 경우, 전액환불도 불가능**합니다. 예를 들어, 1월 31일 결제건은 2월 1일에 환불할 수 없습니다. -#### 아래는 환불요청 시 유의해야 하는 파라미터들입니다. +아래는 환불요청 시 유의해야 하는 파라미터들입니다. > **환불 `unique key`** > @@ -152,75 +146,74 @@ class CancelPay extends React.Component { > **환불 가능 금액**(`checksum`) > -> 환불이 가능한 금액을 입력합니다. 예를 들어, 10**,**000원짜리 제품의 `checksum`은 10,000입니다. +> 환불이 가능한 금액을 입력합니다. 예를 들어, 10\*\*,\*\*000원짜리 제품의 `checksum`은 10,000입니다. > 만약 10,000원짜리 제품이 과거 1,000원 부분환불 되었다면, 이후 환불시 `checksum`은 > 9,000입니다.입력된 `checksum`을 사용해서 서버와 포트원 서버간에 환불 가능 금액이 일치하는지 > 확인합니다. 만약 일치하지 않으면 환불 요청은 실패하며 미 입력시 검증은 실행되지 않습니다. -**checksum을 입력해야 하는 이유** + **checksum을 입력해야 하는 이유** -`checksum`은 필수입력은 아니지만 **서버와 포트원 서버간에 환불 가능 금액을 검증하기** 위해서 입력을 권장합니다. + `checksum`은 필수입력은 아니지만 **서버와 포트원 서버간에 환불 가능 금액을 검증하기** 위해서 입력을 권장합니다. -예를 들어, 10**,**000원짜리 제품에 대한 1,000원 부분환불 요청이 포트원 서버에서 완료하였으나 고객사가 서버 혹은 DB오류로 이를 반영하지 못했다면? 포트원 서버의 checksum은 9,000이 되고, 고객사 서버의 checksum은 그대로 10,000이 됩니다. - -이후 남은 금액을 환불하려고 할때 `checksum(10,000)`을 입력하면, 해당 값이 포트원 서버의 `checksum(9,000)`과 일치하지 않으므로 요청은 실패합니다. + 예를 들어, 10,000원짜리 제품에 대한 1,000원 부분환불 요청이 포트원 서버에서 완료하였으나 고객사가 서버 혹은 DB오류로 이를 반영하지 못했다면? 포트원 서버의 checksum은 9,000이 되고, 고객사 서버의 checksum은 그대로 10,000이 됩니다. + 이후 남은 금액을 환불하려고 할때 `checksum(10,000)`을 입력하면, 해당 값이 포트원 서버의 `checksum(9,000)`과 일치하지 않으므로 요청은 실패합니다. -#### 아래는 환불 요청을 하는 예제입니다. +아래는 환불 요청을 하는 예제입니다. -```javascript title="Node.js" +```ts title="Node.js" /* ... 중략 ... */ - app.post('/payments/cancel', async (req, res, next) => { - try { - /* 액세스 토큰(access token) 발급 */ +app.post("/payments/cancel", async (req, res, next) => { + try { + /* 액세스 토큰(access token) 발급 */ + /* ... 중략 ... */ + /* 결제정보 조회 */ + const { body } = req; + // 클라이언트로부터 전달받은 주문번호, 환불사유, 환불금액 + const { merchant_uid, reason, cancel_request_amount } = body; + Payments.find({ merchant_uid }, async function (err, payment) { /* ... 중략 ... */ - /* 결제정보 조회 */ - const { body } = req; - // 클라이언트로부터 전달받은 주문번호, 환불사유, 환불금액 - const { merchant_uid, reason, cancel_request_amount } = body; - Payments.find({ merchant_uid }, async function(err, payment) { - /* ... 중략 ... */ - const paymentData = payment[0]; // 조회된 결제정보 - // 조회한 결제정보로부터 imp_uid, amount(결제금액), cancel_amount(환불된 총 금액) 추출 - const { imp_uid, amount, cancel_amount } = paymentData; - // 환불 가능 금액(= 결제금액 - 환불 된 총 금액) 계산 - const cancelableAmount = amount - cancel_amount; - if (cancelableAmount <= 0) { // 이미 전액 환불된 경우 - return res.status(400).json({ message: "이미 전액환불된 주문입니다." }); - } - ... - /* 포트원 REST API로 결제환불 요청 */ - const getCancelData = await axios({ - url: "https://api.iamport.kr/payments/cancel", - method: "post", - headers: { - "Content-Type": "application/json", - "Authorization": access_token // 포트원 서버로부터 발급받은 엑세스 토큰 - }, - data: { - reason, // 고객사 클라이언트로부터 받은 환불사유 - imp_uid, // imp_uid를 환불 `unique key`로 입력 - amount: cancel_request_amount, // 고객사 클라이언트로부터 받은 환불금액 - checksum: cancelableAmount // [권장] 환불 가능 금액 입력 - } - }); - const { response } = getCancelData.data; // 환불 결과 - /* 환불 결과 동기화 */ - ... + const paymentData = payment[0]; // 조회된 결제정보 + // 조회한 결제정보로부터 imp_uid, amount(결제금액), cancel_amount(환불된 총 금액) 추출 + const { imp_uid, amount, cancel_amount } = paymentData; + // 환불 가능 금액(= 결제금액 - 환불 된 총 금액) 계산 + const cancelableAmount = amount - cancel_amount; + if (cancelableAmount <= 0) { + // 이미 전액 환불된 경우 + return res.status(400).json({ message: "이미 전액환불된 주문입니다." }); + } + /* 포트원 REST API로 결제환불 요청 */ + const getCancelData = await axios({ + url: "https://api.iamport.kr/payments/cancel", + method: "post", + headers: { + "Content-Type": "application/json", + Authorization: access_token, // 포트원 서버로부터 발급받은 엑세스 토큰 + }, + data: { + reason, // 고객사 클라이언트로부터 받은 환불사유 + imp_uid, // imp_uid를 환불 `unique key`로 입력 + amount: cancel_request_amount, // 고객사 클라이언트로부터 받은 환불금액 + checksum: cancelableAmount, // [권장] 환불 가능 금액 입력 + }, }); - } catch (error) { - res.status(400).send(error); - } - }) + const { response } = getCancelData.data; // 환불 결과 + /* 환불 결과 동기화 */ + // ... + }); + } catch (error) { + res.status(400).send(error); + } +}); ``` ### **STEP 04.** 환불 결과 저장하기 #### 결제 취소가 완료되면 그 결과를 데이터베이스에 다음과 같이 저장합니다. -```javascript title="Node.js" +```ts title="Node.js" /* ... 중략 ... */ app.post("/payments/cancel", async (req, res, next) => { try { @@ -244,7 +237,7 @@ app.post("/payments/cancel", async (req, res, next) => { return res.json(err); } res.json(payment); // 고객사 클라이언트로 환불 결과 반환 - } + }, ); }); } catch (error) { @@ -254,10 +247,9 @@ app.post("/payments/cancel", async (req, res, next) => { ``` -**취소 시 유의할 점** - -REST API[**(POST https://api.iamport.kr/payments/cancel)**](../../api/api-1/api) 요청에 대한 **응답 코드가 200**이라도 응답 body의 code가 0이 아니면 **환불에 실패했다는 의미**입니다. 실패 사유는 body의 message를 통해 확인하셔야 합니다. + **취소 시 유의할 점** + REST API[**(POST https://api.iamport.kr/payments/cancel)**](../../api/api-1/api) 요청에 대한 **응답 코드가 200**이라도 응답 body의 code가 0이 아니면 **환불에 실패했다는 의미**입니다. 실패 사유는 body의 message를 통해 확인하셔야 합니다. ### **STEP 04.** 환불 응답 처리하기 @@ -265,46 +257,45 @@ REST API[**(POST https://api.iamport.kr/payments/cancel)**](../../api/api-1/api) 취소요청에 대한 응답을 클라이언트에게 처리하는 로직을 아래와 같이 작성합니다. - -```html title="client-side" - - - -``` - - - - -```jsx title="client-side" -class CancelPay extends React.Component { - cancelPay = () => { - axios({ - /* ... 중략 ... */ - }).then(response => { // 환불 성공시 로직 - alert("환불 성공"); - }).catch(error => { // 환불 실패시 로직 - alert("환불 실패"); - }); - } - ... - render() { - return ; - } -} -``` - - + + ```html title="client-side" + + + + ``` + + + + ```tsx title="client-side" + class CancelPay extends React.Component { + cancelPay = () => { + axios(/* ... 중략 ... */) + .then((response) => { + // 환불 성공시 로직 + alert("환불 성공"); + }) + .catch((error) => { + // 환불 실패시 로직 + alert("환불 실패"); + }); + }; + render() { + return ; + } + } + ``` + diff --git a/src/content/docs/ko/auth/guide-2/refund.mdx b/src/content/docs/ko/auth/guide-2/refund.mdx index 9c1d8baf1..eb9743aea 100644 --- a/src/content/docs/ko/auth/guide-2/refund.mdx +++ b/src/content/docs/ko/auth/guide-2/refund.mdx @@ -6,18 +6,17 @@ description: 가상계좌 입금내역을 환불하는 방법을 확인합니다 import Figure from "~/components/Figure.astro"; import Hint from "~/components/Hint.astro"; -### 가상계좌 환불을 위해서는 PG사 **가상계좌 특약서비스**에 가입되어 있어야 합니다. +**가상계좌 환불을 위해서는 PG사 **가상계좌 특약서비스**에 가입되어 있어야 합니다.** -**가상계좌 특약서비스에 가입해야 하는 이유** + **가상계좌 특약서비스에 가입해야 하는 이유** -신용카드와는 달리 가상계좌의 경우 결제/환불에 대한 수수료는 환불대상에서 제외됩니다.예를 들어 10,000원 결제건에 대해서 고객사는 + 신용카드와는 달리 가상계좌의 경우 결제/환불에 대한 수수료는 환불대상에서 제외됩니다.예를 들어 10,000원 결제건에 대해서 고객사는 -- 결제 시, 9,700원(10,000원 - 가상계좌 발행 수수료 300원)을 PG사로부터 정산받습니다. -- 환불 시, 10,300원(환불되어야할 10,000원 + 환불 계좌로의 송금 수수료 300원)을 PG사로 지불합니다. - -PG사는 이런 과정에서 발생할 수 있는 혼란을 미연에 방지하고자 **가상계좌 특약서비스에 가입한 고객사에 한해서만 가상계좌 환불을 제공**하고 있습니다. + - 결제 시, 9,700원(10,000원 - 가상계좌 발행 수수료 300원)을 PG사로부터 정산받습니다. + - 환불 시, 10,300원(환불되어야할 10,000원 + 환불 계좌로의 송금 수수료 300원)을 PG사로 지불합니다. + PG사는 이런 과정에서 발생할 수 있는 혼란을 미연에 방지하고자 **가상계좌 특약서비스에 가입한 고객사에 한해서만 가상계좌 환불을 제공**하고 있습니다. 가상계좌의 경우 단방향 결제수단이여서 환불 대상을 알 수 없으므로 환불 금액 외에 다음의 환불 수령계좌 정보를 입력해야 합니다. @@ -27,66 +26,69 @@ PG사는 이런 과정에서 발생할 수 있는 혼란을 미연에 방지하 - `refund_bank`: 환불 수령계좌 은행코드 -**가상계좌 은행코드는 PG사에 따라 다릅니다** - -`은행코드는`같은 은행이더라도 PG사에 따라 상이하므로 [**은행코드**](../../tip/pg-1)표에서 은행코드를 확인해 주세요 + **가상계좌 은행코드는 PG사에 따라 다릅니다** + `은행코드는`같은 은행이더라도 PG사에 따라 상이하므로 [**은행코드**](../../tip/pg-1)표에서 은행코드를 확인해 주세요 -#### 아래는 가상계좌 환불을 요청하는 예제입니다. +아래는 가상계좌 환불을 요청하는 예제입니다. -```javascript title="Node.js" +```ts title="Node.js" /* ... 중략 ... */ - app.post('/payments/cancel', async (req, res, next) => { - try { - /* 액세스 토큰(access token) 발급 */ +app.post("/payments/cancel", async (req, res, next) => { + try { + /* 액세스 토큰(access token) 발급 */ + /* ... 중략 ... */ + /* 결제정보 조회 */ + const { body } = req; + // 클라이언트로부터 전달받은 주문번호, 환불사유, 환불금액, 가상계좌 정보(예금주, 계좌번호, 은행코드) + const { + merchant_uid, + reason, + cancel_request_amount, + refund_holder, + refund_bank, + refund_account, + } = body; + Payments.find({ merchant_uid }, async function (err, payment) { /* ... 중략 ... */ - /* 결제정보 조회 */ - const { body } = req; - // 클라이언트로부터 전달받은 주문번호, 환불사유, 환불금액, 가상계좌 정보(예금주, 계좌번호, 은행코드) - const { merchant_uid, reason, cancel_request_amount, refund_holder, refund_bank, refund_account } = body; - Payments.find({ merchant_uid }, async function(err, payment) { - /* ... 중략 ... */ - const paymentData = payment[0]; // 조회된 결제정보 - // 조회한 결제정보로부터 imp_uid, amount(결제금액), cancel_amount(환불된 총 금액) 추출 - const { imp_uid, amount, cancel_amount } = paymentData; - // 환불 가능 금액(= 결제금액 - 환불된 총 금액) 계산 - const cancelableAmount = amount - cancel_amount; - if (cancelableAmount <= 0) { // 이미 전액 환불된 경우 - return res.status(400).json({ message: "이미 전액환불된 주문입니다." }); - } - ... - /* 포트원 REST API로 결제환불 요청 */ - const getCancelData = await axios({ - url: "https://api.iamport.kr/payments/cancel", - method: "post", - headers: { - "Content-Type": "application/json", - "Authorization": access_token // 포트원 서버로부터 발급받은 엑세스 토큰 - }, - data: { - reason, // 고객사 클라이언트로부터 받은 환불사유 - imp_uid, // imp_uid를 환불 `unique key`로 입력 - amount: cancel_request_amount, // 고객사 클라이언트로부터 받은 환불금액 - checksum: cancelableAmount, // [권장] 환불 가능 금액 입력 - refund_holder, // [가상계좌 환불시 필수입력] 환불 수령계좌 예금주 - refund_bank, // [가상계좌 환불시 필수입력] 환불 수령계좌 은행코드(ex. KG이니시스의 경우 신한은행은 88번) - refund_account // [가상계좌 환불시 필수입력] 환불 수령계좌 번호 - } - }); - const { response } = getCancelData.data; // 환불 결과 - /* 환불 결과 동기화 */ - ... + const paymentData = payment[0]; // 조회된 결제정보 + // 조회한 결제정보로부터 imp_uid, amount(결제금액), cancel_amount(환불된 총 금액) 추출 + const { imp_uid, amount, cancel_amount } = paymentData; + // 환불 가능 금액(= 결제금액 - 환불된 총 금액) 계산 + const cancelableAmount = amount - cancel_amount; + if (cancelableAmount <= 0) { + // 이미 전액 환불된 경우 + return res.status(400).json({ message: "이미 전액환불된 주문입니다." }); + } + /* 포트원 REST API로 결제환불 요청 */ + const getCancelData = await axios({ + url: "https://api.iamport.kr/payments/cancel", + method: "post", + headers: { + "Content-Type": "application/json", + Authorization: access_token, // 포트원 서버로부터 발급받은 엑세스 토큰 + }, + data: { + reason, // 고객사 클라이언트로부터 받은 환불사유 + imp_uid, // imp_uid를 환불 `unique key`로 입력 + amount: cancel_request_amount, // 고객사 클라이언트로부터 받은 환불금액 + checksum: cancelableAmount, // [권장] 환불 가능 금액 입력 + refund_holder, // [가상계좌 환불시 필수입력] 환불 수령계좌 예금주 + refund_bank, // [가상계좌 환불시 필수입력] 환불 수령계좌 은행코드(ex. KG이니시스의 경우 신한은행은 88번) + refund_account, // [가상계좌 환불시 필수입력] 환불 수령계좌 번호 + }, }); - } catch (error) { - res.status(400).send(error); - } - }); + const { response } = getCancelData.data; // 환불 결과 + /* 환불 결과 동기화 */ + // ... + }); + } catch (error) { + res.status(400).send(error); + } +}); ``` 다음과 같이 가상계좌 환불을 요청하여 성공하면 PG사 담당자가 다음날 해당 계좌로 환불 금액을 입금합니다. 이는 통상적으로 영엽일 기준 하루 정도 소요됩니다. -
+
diff --git a/src/content/docs/ko/auth/guide/1.mdx b/src/content/docs/ko/auth/guide/1.mdx index 9cb59596b..9f4e8ae2b 100644 --- a/src/content/docs/ko/auth/guide/1.mdx +++ b/src/content/docs/ko/auth/guide/1.mdx @@ -1,11 +1,11 @@ --- title: 1. 포트원 라이브러리 추가 -description: 해당 라이브러리를 추가하면 인증결제 연동준비 50%가 완료됩니다. +description: 해당 라이브러리를 추가하면 인증결제 연동 준비 50%가 완료됩니다. --- import Youtube from "~/components/gitbook/Youtube.astro"; -#### 결제창 연동을 진행할 주문 페이지에 아래 JS 라이브러리를 추가 합니다. +결제창 연동을 진행할 주문 페이지에 아래 JS 라이브러리를 추가합니다. ```html title="Client-side" diff --git a/src/content/docs/ko/auth/guide/2.mdx b/src/content/docs/ko/auth/guide/2.mdx index acc56973e..0178e0f75 100644 --- a/src/content/docs/ko/auth/guide/2.mdx +++ b/src/content/docs/ko/auth/guide/2.mdx @@ -4,31 +4,23 @@ description: 고객사 식별코드를 이용하여 결제창 연동을 준비 --- import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -import Tab from "~/components/gitbook/tabs/Tab.astro"; -#### 주문 페이지에서 고객사 식별코드를 이용하여 IMP 객체를 초기화 합니다. +주문 페이지에서 고객사 식별코드를 이용하여 IMP 객체를 초기화 합니다. -아래 초기화 함수를 **2회 이상** 중복되게 호출하지 않도록 주의해주세요. + 아래 초기화 함수를 **2회 이상** 중복되게 호출하지 않도록 주의해주세요. - - -```javascript title="client-side" -IMP.init('고객사 식별코드') // 예: 'imp00000000a' +```ts title="client-side" +IMP.init("고객사 식별코드"); // 예: 'imp00000000a' ``` - - -  - -#### 하위상점 결제창 호출 방법 +## 하위상점 결제창 호출 방법 하위 상점인 경우 `IMP.init()` 대신, `IMP.agency('고객사 식별코드', '하위 고객사 티어코드')`를 호출해야 합니다. -```javascript +```ts // IMP.init() 대신 아래 함수를 사용해야함 -IMP.agency('고객사 식별코드', '티어코드') // 예: 'imp00000000a', '123' +IMP.agency("고객사 식별코드", "티어코드"); // 예: 'imp00000000a', '123' ``` diff --git a/src/content/docs/ko/auth/guide/3.mdx b/src/content/docs/ko/auth/guide/3.mdx index d02c5a027..8ddc74199 100644 --- a/src/content/docs/ko/auth/guide/3.mdx +++ b/src/content/docs/ko/auth/guide/3.mdx @@ -3,112 +3,113 @@ title: 3. 결제 요청하기 description: 파라미터값을 조합하여 결제창을 호출 할 수 있습니다. --- -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Youtube from "~/components/gitbook/Youtube.astro"; +import Hint from "~/components/Hint.astro"; -[**IMP 객체 초기화**](2)가 완료 되었으면 이제 결제창을 호출할 차례입니다. +**IMP 객체 초기화**](2)가 완료 되었으면 이제 결제창을 호출할 차례입니다. -결제창 호출시 필요한 [**파라미터**](../../sdk/javascript-sdk/payrq)**를 request_pay** 함수 첫번째 파라미터 인자로 설정합니다. +결제창 호출시 필요한 [**파라미터**](../../sdk/javascript-sdk/payrq)**를 request\_pay** 함수 첫번째 파라미터 인자로 설정합니다. - -```javascript - function requestPay() { - IMP.request_pay({ - pg: "kcp.{상점ID}", - pay_method: "card", - merchant_uid: "ORD20180131-0000011", // 주문번호 - name: "노르웨이 회전 의자", - amount: 64900, // 숫자 타입 - buyer_email: "gildong@gmail.com", - buyer_name: "홍길동", - buyer_tel: "010-4242-4242", - buyer_addr: "서울특별시 강남구 신사동", - buyer_postcode: "01181" - }, function (rsp) { // callback - //rsp.imp_uid 값으로 결제 단건조회 API를 호출하여 결제결과를 판단합니다. - }); - } -``` - - - - -```jsx -class RequestPay extends React.Component { - requestPay = () => { - IMP.request_pay({ // param - pg: "kcp.{상점ID}", - pay_method: "card", - merchant_uid: "ORD20180131-0000011", - name: "노르웨이 회전 의자", - amount: 64900, - buyer_email: "gildong@gmail.com", - buyer_name: "홍길동", - buyer_tel: "010-4242-4242", - buyer_addr: "서울특별시 강남구 신사동", - buyer_postcode: "01181" - }, rsp => { // callback - if (rsp.success) { - ..., - // 결제 성공 시 로직, - ... - } else { - ..., - // 결제 실패 시 로직, - ... - } - }); - } -``` - - - - -```javascript - -``` + ``` + - + + ```tsx + class RequestPay extends React.Component { + requestPay = () => { + IMP.request_pay( + { + // param + pg: "kcp.{상점ID}", + pay_method: "card", + merchant_uid: "ORD20180131-0000011", + name: "노르웨이 회전 의자", + amount: 64900, + buyer_email: "gildong@gmail.com", + buyer_name: "홍길동", + buyer_tel: "010-4242-4242", + buyer_addr: "서울특별시 강남구 신사동", + buyer_postcode: "01181", + }, + (rsp) => { + // callback + if (rsp.success) { + // 결제 성공 시 로직 + } else { + // 결제 실패 시 로직 + } + }, + ); + }; + } + ``` + + + + ```ts + export default { + methods: { + requestPay: function () { + IMP.request_pay( + { + // param + pg: "kcp.{상점ID}", + pay_method: "card", + merchant_uid: "ORD20180131-0000011", + name: "노르웨이 회전 의자", + amount: 64900, + buyer_email: "gildong@gmail.com", + buyer_name: "홍길동", + buyer_tel: "010-4242-4242", + buyer_addr: "서울특별시 강남구 신사동", + buyer_postcode: "01181", + }, + (rsp) => { + // callback + if (rsp.success) { + // 결제 성공 시 로직 + } else { + // 결제 실패 시 로직 + } + }, + ); + }, + }, + }; + ``` + -**주문번호(merchant\_uid) 생성 시 유의사항** - -- 주문번호는 결제창 요청 시 항상 **고유 값**으로 채번 되어야 합니다. -- 결제 완료 이후 **결제 위변조** 대사 작업시 주문번호를 이용하여 검증이 필요하므로 주문번호는 고객사 서버에서 **고유하게**(unique)채번하여 **DB 상에 저장**해주세요 + **주문번호(merchant\_uid) 생성 시 유의사항** + - 주문번호는 결제창 요청 시 항상 **고유 값**으로 채번 되어야 합니다. + - 결제 완료 이후 **결제 위변조** 대사 작업시 주문번호를 이용하여 검증이 필요하므로 주문번호는 고객사 서버에서 **고유하게**(unique)채번하여 **DB 상에 저장**해주세요 현재까지 진행한 소스코드에 **결제 버튼을 추가****한 샘플 코드**입니다. @@ -139,7 +140,7 @@ class RequestPay extends React.Component { }, function (rsp) { // callback - //rsp.imp_uid 값으로 결제 단건조회 API를 호출하여 결제결과를 판단합니다. + // rsp.imp_uid 값으로 결제 단건조회 API를 호출하여 결제결과를 판단합니다. } ); } diff --git a/src/content/docs/ko/auth/guide/4/iframe.mdx b/src/content/docs/ko/auth/guide/4/iframe.mdx index dafb75c68..3bb89f97a 100644 --- a/src/content/docs/ko/auth/guide/4/iframe.mdx +++ b/src/content/docs/ko/auth/guide/4/iframe.mdx @@ -4,27 +4,25 @@ description: 대부분의 PC환경에서 적용되는 iframe 방식 결제창 --- import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -import Tab from "~/components/gitbook/tabs/Tab.astro"; -#### **iframe** 이란? - -**다른 HTML 페이지를 현재 페이지에 포함**시킬 수 있는 요소입니다.\ -자세한 내용은 [MDN iframe 문서](https://developer.mozilla.org/ko/docs/Web/HTML/Element/iframe)를 참고해주세요. + **iframe이란?** + **다른 HTML 페이지를 현재 페이지에 포함**시킬 수 있는 요소입니다.\ + 자세한 내용은 [MDN iframe 문서](https://developer.mozilla.org/ko/docs/Web/HTML/Element/iframe)를 참고해주세요. **PC 환경**에서 일어나는 대부분의 결제는 **`request_pay()`** 함수의 두번째 인자인 **callback** 함수를 통해 결제 결과 수신이 가능합니다. 아래 예제 코드는 결제창 형태가 **iframe 으로 활성화**되는 **대부분의 PC 환경**에서의 결제요청에 대한 응답을 처리하는 부분입니다. - - -```javascript -IMP.request_pay({ /** 요청 객체를 추가해주세요 */ }, - rsp => { - if (rsp.success) { +```ts +IMP.request_pay( + { + /** 요청 객체를 추가해주세요 */ + }, + (rsp) => { + if (rsp.success) { // axios로 HTTP 요청 axios({ url: "{서버의 결제 정보를 받는 endpoint}", @@ -32,65 +30,34 @@ IMP.request_pay({ /** 요청 객체를 추가해주세요 */ }, headers: { "Content-Type": "application/json" }, data: { imp_uid: rsp.imp_uid, - merchant_uid: rsp.merchant_uid - } + merchant_uid: rsp.merchant_uid, + }, }).then((data) => { // 서버 결제 API 성공시 로직 - }) + }); } else { alert(`결제에 실패하였습니다. 에러 내용: ${rsp.error_msg}`); } - }); -``` - - - - -```javascript -IMP.request_pay({ /** 요청 객체를 추가해주세요 */ }, - function (rsp) { - if (rsp.success) { - // 결제 성공 시: 결제 승인 또는 가상계좌 발급에 성공한 경우 - // jQuery로 HTTP 요청 - jQuery.ajax({ - url: "{서버의 결제 정보를 받는 고객사 endpoint}", - method: "POST", - headers: { "Content-Type": "application/json" }, - data: { - imp_uid: rsp.imp_uid, // 결제 고유번호 - merchant_uid: rsp.merchant_uid // 주문번호 - } - }).done(function (data) { - // 고객사 서버 결제 API 성공시 로직 - }) - } else { - alert("결제에 실패하였습니다. 에러 내용: " + rsp.error_msg); - } - }); + }, +); ``` - - - 결제가 완료되면 반환되는 응답 객체([**rsp**](../../../sdk/javascript-sdk-old/readme))의 결제 성공 -여부에 따라 처리 로직을 **callback** 함수에 작성합니다. 요청이 성공했을 경우에 **결제번호(imp_uid)와 -주문번호(merchant_uid)를 서버에 전달**하는 로직을 위와 같이 작성합니다. +여부에 따라 처리 로직을 **callback** 함수에 작성합니다. 요청이 성공했을 경우에 **결제번호(imp\_uid)와 +주문번호(merchant\_uid)를 서버에 전달**하는 로직을 위와 같이 작성합니다. -[payrt](../../../sdk/javascript-sdk/payrt "mention")에서 callback 함수로 전달되는 응답 파라미터를 확인할 수 있습니다. - + [payrt](../../../sdk/javascript-sdk/payrt "mention")에서 callback 함수로 전달되는 응답 파라미터를 확인할 수 있습니다. -최종 결제결과 로직처리는 반드시 [**웹훅**](../../../result/webhook)을 이용하여 안정적으로 처리해 주셔야 합니다. - -웹훅 연동을 생략하시는 경우 결제결과를 정상적으로 수신받지 못하는 상황이 발생합니다. + 최종 결제결과 로직처리는 반드시 [**웹훅**](../../../result/webhook)을 이용하여 안정적으로 처리해 주셔야 합니다. + 웹훅 연동을 생략하시는 경우 결제결과를 정상적으로 수신받지 못하는 상황이 발생합니다. -**(구) 페이팔(Paypal)** 결제는 PC 환경 결제 시 **팝업형태(새 창)**로 결제창이 활성화 되며 - -이에 따라 결제 결과도 **m_redirect_url** 로 받아보실 수 있습니다. + **(구) 페이팔(Paypal)** 결제는 PC 환경 결제 시 \*\*팝업형태(새 창)\*\*로 결제창이 활성화 되며 + 이에 따라 결제 결과도 **m\_redirect\_url** 로 받아보실 수 있습니다. diff --git a/src/content/docs/ko/auth/guide/4/readme.mdx b/src/content/docs/ko/auth/guide/4/readme.mdx index 61925d5fc..6ae6f0bc7 100644 --- a/src/content/docs/ko/auth/guide/4/readme.mdx +++ b/src/content/docs/ko/auth/guide/4/readme.mdx @@ -5,7 +5,9 @@ description: 결제결과를 안전하게 저장할 수 있는 가이드 입니 import ContentRef from "~/components/gitbook/ContentRef.astro"; -#### 결제창이 활성화되는 방식에 따라 결제결과를 획득하는 방법이 상이합니다. 일반적으로 PC 환경에서는 iframe 방식으로 결제창이 활성화되며 모바일 환경에서는 새로운 페이지로 리다이렉트 되어 결제창이 활성화 됩니다. +결제창이 활성화되는 방식에 따라 결제결과를 획득하는 방법이 상이합니다. +일반적으로 PC 환경에서는 iframe 방식으로 결제창이 활성화되며, +모바일 환경에서는 새로운 페이지로 리다이렉트되어 결제창이 활성화 됩니다. 결제가 정상적으로 완료되면 결제창 형태에 따라 아래와 같이 결제결과를 받아 볼 수 있습니다. diff --git a/src/content/docs/ko/auth/guide/4/redirect.mdx b/src/content/docs/ko/auth/guide/4/redirect.mdx index cbd97a7ae..68441ae0e 100644 --- a/src/content/docs/ko/auth/guide/4/redirect.mdx +++ b/src/content/docs/ko/auth/guide/4/redirect.mdx @@ -4,99 +4,97 @@ description: 새로운 창으로 리디렉션되어 결제가 진행되는 환 --- import ContentRef from "~/components/gitbook/ContentRef.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; -> 아래 예제 코드는 결제창 형태가 **새로운 페이지로 리디렉션되어** 결제가 진행되는 대부분의 **모바일 환경**에서의 결제요청애 대한 응답을 처리하는 부분입니다. +> 아래 예제 코드는 결제창 형태가 **새로운 페이지로 리디렉션되어** 결제가 진행되는 +> 대부분의 **모바일 환경**에서의 결제 요청에 대한 응답을 처리하는 부분입니다. - + - -```javascript -IMP.request_pay({ - /* 결제 요청 객체를 채워주세요. */ - m_redirect_url: "{리디렉션 될 URL}" -}, /* callback */); // 리디렉션 방식의 경우 callback은 실행되지 않습니다. -``` - - + + ```ts + IMP.request_pay( + { + /* 결제 요청 객체를 채워주세요. */ + m_redirect_url: "{리디렉션 될 URL}", + } /* callback */, + ); // 리디렉션 방식의 경우 callback은 실행되지 않습니다. + ``` + -위와 같이 **request_pay** 함수 파라미터로 **m_redirect_url** 을 설정하면 **결제 완료** 이후 해당 URL 주소로 결제 결과를 **쿼리스트링(Query String)** 형태로 전송해 드립니다. +위와 같이 **request\_pay** 함수 파라미터로 **m\_redirect\_url** 을 설정하면 +**결제 완료** 이후 해당 URL 주소로 +결제 결과를 **쿼리스트링(Query String)** 형태로 전송해 드립니다. -**Query String 이란?** - -URL 뒤에 데이터를 전달하는 가장 단순한 방법으로 주로 GET 요청과 함께 데이터를 전송할 때 사용합니다. + **Query String 이란?** + URL 뒤에 데이터를 전달하는 가장 단순한 방법으로 주로 GET 요청과 함께 데이터를 전송할 때 사용합니다. -결제 결과를 수신받을 endpoint url 주소를 m_redirect_url 에 설정하시면 결제결과 수신이 가능합니다. +결제 결과를 수신받을 endpoint url 주소를 m\_redirect\_url 에 설정하시면 결제결과 수신이 가능합니다. 아래 파라미터를 설정하신 URL 을 통해 Query String 형태로 수신받을수 있습니다. 아래는 Query String 으로 리디렉션되는 URL 예제입니다. - -```url -curl https://myservice.com/payments/complete?imp_uid=결제건을_특정하는_포트원_번호&merchant_uid=고객사_고유_주문번호&imp_success=true -``` - - - - -``` -curl https://myservice.com/payments/complete?imp_uid=결제건을_특정하는_포트원_번호&merchant_uid=고객사_고유_주문번호&imp_success=false&error_code=에러_코드(현재_정리된_체계는_없음)&error_msg=에러_메시지 -``` - - + + ```http + GET https://myservice.com/payments/complete?imp_uid=결제건을_특정하는_포트원_번호&merchant_uid=고객사_고유_주문번호&imp_success=true + ``` + + + + ```http + GET https://myservice.com/payments/complete?imp_uid=결제건을_특정하는_포트원_번호&merchant_uid=고객사_고유_주문번호&imp_success=false&error_code=에러_코드(현재_정리된_체계는_없음)&error_msg=에러_메시지 + ``` + -| 파라미터명 | 설명 | 비고 | -|:----------------------------------------:|:------------------:|:-----:| -| **imp_uid** |포트원 결제 고유번호| 공통 | -| **merchant_uid** | 고객사 주문번호 | 공통 | -| **imp_success** | 결제 성공 여부 | 공통 | -|error_code| 오류 코드 |실패 시| -|error_msg | 오류 메세지 |실패 시| +| 파라미터명 | 설명 | 비고 | +|:-----------------------------------------:|:------------------:|:-----:| +| **imp\_uid** |포트원 결제 고유번호| 공통 | +| **merchant\_uid** | 고객사 주문번호 | 공통 | +| **imp\_success** | 결제 성공 여부 | 공통 | +|error\_code| 오류 코드 |실패 시| +| error\_msg| 오류 메세지 |실패 시| > **결제 완료****의 의미** > > `결제완료`는 아래의 모든 경우를 포함합니다. > -> 1. **결제 성공**(결제 상태: `paid`, imp_success: `true`) -> 2. **결제 실패**(결제 상태: `failed`, imp_success: `false`) +> 1. **결제 성공**(결제 상태: `paid`, imp\_success: `true`) +> 2. **결제 실패**(결제 상태: `failed`, imp\_success: `false`) > 3. PG 모듈 설정이 올바르지 않아, **결제 창이 열리지 않음** > 4. 사용자가 임의로 X 버튼이나 취소 버튼을 눌러 **결제를 종료**함 > 5. 카드 정보 불일치, 한도 초과, 잔액 부족 등의 사유로 **결제가 중단**됨 -> 6. 가상계좌 **발급 완료(**결제 상태: `ready`, imp_success: `true`) +> 6. 가상계좌 \*\*발급 완료(\*\*결제 상태: `ready`, imp\_success: `true`) -**결제창이 리디렉션되어 새로운 페이지에서 활성화되는 경우 결제 결과는 callback 으로 받을 수 없습니다.** - + **결제창이 리디렉션되어 새로운 페이지에서 활성화되는 경우 결제 결과는 callback 으로 받을 수 없습니다.** -최종 결제결과 로직처리는 반드시 [**웹훅**](../../../result/webhook)을 이용하여 안정적으로 처리해 주셔야 합니다. - -웹훅연동을 생략하시는 경우 결제결과를 정상적으로 수신받지 못하는 상황이 발생합니다. + 최종 결제 결과 로직 처리는 반드시 [**웹훅**](../../../result/webhook)을 이용하여 안정적으로 처리해 주셔야 합니다. + 웹훅 연동을 생략하시는 경우 결제 결과를 정상적으로 수신받지 못하는 상황이 발생합니다. -**imp\_success 파라미터** - -`imp_success` 파라미터는 **결제 프로세스 정상 종료 -여부**를 의미합니다. 하지만 클라이언트 상에서 자바스크립트 함수를 호출해서 결제창이 -열리므로 **결제금액이 위변조 되었을 가능성**이 있기 때문에 **이 값으로 결제의 성공 -여부를 판단해서는 안됩니다**. 결제의 성공 여부에 따라 아래와 같이 처리합니다. + **imp\_success 파라미터** -- imp_success = true: 결제 정보(imp_uid, merchant_uid)를 서버에 전달해서 결제금액의 위변조 여부를 검증한 후 최종적으로 결제 성공 여부를 판단해야 합니다. -- Imp_success = false: 결제가 실패했음을 사용자에게 알립니다. + `imp_success` 파라미터는 **결제 프로세스 정상 종료 + 여부**를 의미합니다. 하지만 클라이언트 상에서 자바스크립트 함수를 호출해서 결제창이 + 열리므로 **결제금액이 위변조 되었을 가능성**이 있기 때문에 **이 값으로 결제의 성공 + 여부를 판단해서는 안됩니다**. 결제의 성공 여부에 따라 아래와 같이 처리합니다. -\* 일부 PG사에 한해 `imp_success`가 아닌 `success` 파라미터가 전달되거나 아예 전달되지 않는 경우(예: KG이니시스 - 실시간 계좌이체)도 있으니 주의하셔야 합니다. + - imp\_success = true: 결제 정보(imp\_uid, merchant\_uid)를 서버에 전달해서 결제금액의 위변조 여부를 검증한 후 최종적으로 결제 성공 여부를 판단해야 합니다. + - Imp\_success = false: 결제가 실패했음을 사용자에게 알립니다. + \* 일부 PG사에 한해 `imp_success`가 아닌 `success` 파라미터가 전달되거나 아예 전달되지 않는 경우(예: KG이니시스 - 실시간 계좌이체)도 있으니 주의하셔야 합니다. diff --git a/src/content/docs/ko/auth/guide/5/post.mdx b/src/content/docs/ko/auth/guide/5/post.mdx index 6e93a8d8c..aa9788b76 100644 --- a/src/content/docs/ko/auth/guide/5/post.mdx +++ b/src/content/docs/ko/auth/guide/5/post.mdx @@ -4,22 +4,18 @@ description: "" --- import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -import Tab from "~/components/gitbook/tabs/Tab.astro"; 결제 정보를 사후 검증하는 과정은 크게 세 단계로 이루어집니다. - 응답받은 내용을 바탕으로 실 결제 금액과 결제요청금액(고객사 자체 데이터베이스)을 비교 -- 결제 상세내역 조회를 위해 포트원 [**결제 단건 조회 API** ](https://developers.portone.io/api/rest-v1/payment#get%20%2Fpayments%2F%7Bimp_uid%7D)요청 -- 포트원 결제고유번호(**imp_uid**), 고객사 주문번호(**merchant_uid**)를 프론트엔드로부터 수신 +- 결제 상세내역 조회를 위해 포트원 [**결제 단건 조회 API**](https://developers.portone.io/api/rest-v1/payment#get%20%2Fpayments%2F%7Bimp_uid%7D) 요청 +- 포트원 결제고유번호(**imp\_uid**), 고객사 주문번호(**merchant\_uid**)를 프론트엔드로부터 수신 -### **STEP 01** 결제결과 서버 수신 +## **STEP 01** 결제결과 서버 수신 - - 결제정보를 받은 고객사 endpoint URL 에 대한 POST 요청을 수신하는 예제 -```javascript +```ts title="Node.js" app.use(bodyParser.json()); // "{서버의 결제 정보를 받는 고객사 endpoint}" POST 요청 수신부 app.post("/payments/complete", async (req, res) => { @@ -32,22 +28,17 @@ app.post("/payments/complete", async (req, res) => { }); ``` - - +## **STEP 02** 결제내역 단건 조회 -### **STEP 02** 결제내역 단건 조회 +수신받은 포트원 **결제고유번호**(imp\_uid)로 [**결제단건조회**](https://api.iamport.kr/#!/payments/getPaymentByImpUid) +**API** 를 호출하여 결제정보 획득 예제 - - -수신받은 포트원 **결제고유번호**(imp\_uid)로 [**결제단건조회**](https://api.iamport.kr/#!/payments/getPaymentByImpUid) **API** 를 호출하여 결제정보 획득 예제 - -```javascript +```ts title="Node.js" app.use(bodyParser.json()); app.post("/payments/complete", async (req, res) => { try { // req의 body에서 imp_uid, merchant_uid 추출 const { imp_uid, merchant_uid } = req.body; - ... // 액세스 토큰(access token) 발급 받기 const getToken = await axios({ url: "https://api.iamport.kr/users/getToken", @@ -55,11 +46,11 @@ app.post("/payments/complete", async (req, res) => { headers: { "Content-Type": "application/json" }, data: { imp_key: "imp_apikey", // REST API 키 - imp_secret: "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f" // REST API Secret - } + imp_secret: + "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f", // REST API Secret + }, }); const { access_token } = getToken.data; // 인증 토큰 - ... // imp_uid로 포트원 서버에서 결제 정보 조회 const getPaymentData = await axios({ // imp_uid 전달 @@ -67,26 +58,20 @@ app.post("/payments/complete", async (req, res) => { // GET method method: "get", // 인증 토큰 Authorization header에 추가 - headers: { "Authorization": access_token } + headers: { Authorization: access_token }, }); const paymentData = getPaymentData.data.response; // 조회한 결제 정보 - ... } catch (e) { res.status(400).send(e); } }); ``` - - - -### **STEP 03** 결제정보 검증 +## **STEP 03** 결제정보 검증 - - 결제된 실 금액과 요청 금액을 비교하여 **결제금액 위변조여부 검증** 및 DB저장 예시 -```javascript +```ts title="Node.js" app.use(bodyParser.json()); app.post("/payments/complete", async (req, res) => { try { @@ -100,17 +85,14 @@ app.post("/payments/complete", async (req, res) => { // 코드 생략 const paymentData = getPaymentData.data.response; // 조회한 결제 정보 - // ... // DB에서 결제되어야 하는 금액 조회 const order = await Orders.findById(paymentData.merchant_uid); const amountToBePaid = order.amount; // 결제 되어야 하는 금액 - // ... // 결제 검증하기 const { amount, status } = paymentData; // 결제금액 일치. 결제 된 금액 === 결제 되어야 하는 금액 if (amount === amountToBePaid) { await Orders.findByIdAndUpdate(merchant_uid, { $set: paymentData }); // DB에 결제 정보 저장 - // ... switch (status) { case "ready": // 가상계좌 발급 // DB에 가상계좌 발급 정보 저장 @@ -138,19 +120,15 @@ app.post("/payments/complete", async (req, res) => { }); ``` - - - 처음 요청한 금액은 **`merchant_uid`** 로 데이터베이스에서 조회하고 실제 결제금액은 **`imp_uid`로 포트원 서버에서 조회하여 두 값을 비교합니다. 검증이 성공하면 결제 정보를 데이터베이스에 저장한 뒤 결제 상태(`status`**)에 따라 알맞은 응답을 반환하고 실패 시 에러 메세지를 출력합니다. -결제결과 DB 처리는 [**웹훅(Webhook)을 연동**](../../../result/webhook)하여 수신되는 데이터를 기준으로 처리하셔야 결제결과 누락없이 안정적인 결과처리를 완료하실 수 있습니다. - + 결제 결과 DB 처리는 [**웹훅(Webhook)을 연동**](../../../result/webhook)하여 수신되는 데이터를 + 기준으로 처리하셔야 결제 결과 누락 없이 안정적으로 결과처리를 완료하실 수 있습니다. -[**Confirm Process**](../../../tip/confirm-process) 기능을 사용하여서도 결제금액 검증을 할 수 있습니다. - + [**Confirm Process**](../../../tip/confirm-process) 기능을 사용하여서도 결제금액 검증을 할 수 있습니다. diff --git a/src/content/docs/ko/auth/guide/5/pre.mdx b/src/content/docs/ko/auth/guide/5/pre.mdx index dfbadb060..000ad4381 100644 --- a/src/content/docs/ko/auth/guide/5/pre.mdx +++ b/src/content/docs/ko/auth/guide/5/pre.mdx @@ -4,31 +4,30 @@ description: 결제 정보 사전 검증 방법을 안내합니다. --- import ContentRef from "~/components/gitbook/ContentRef.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; 결제정보 사전 검증은 클라이언트 변조를 원천적으로 차단하기 위한 필수 절차입니다. 결제창을 띄우는 프론트엔드를 보여주기 전에 어떤 주문번호로 얼마만큼의 결제가 이루어져야 하는지를 아래의 API를 사용하여 사전에 등록할 수 있습니다. - + - -```javascript -// 사용자에게 결제 화면을 보여주기 전에 서버 코드에서 -await axios({ - url: "https://api.iamport.kr/payments/prepare", - method: "post", - headers: { "Content-Type": "application/json" }, - data: { - merchant_uid: "...", // 고객사 주문번호 - amount: 420000, // 결제 예정금액 - } -}); -``` - - + + ```ts + // 사용자에게 결제 화면을 보여주기 전에 서버 코드에서 + await axios({ + url: "https://api.iamport.kr/payments/prepare", + method: "post", + headers: { "Content-Type": "application/json" }, + data: { + merchant_uid: "...", // 고객사 주문번호 + amount: 420000, // 결제 예정금액 + }, + }); + ``` + `IMP.request_pay`의 인자로 들어온 금액이 위의 API로 사전 등록해둔 금액과 일치하지 않으면 SDK 수준에서 결제 요청이 차단됩니다. diff --git a/src/content/docs/ko/auth/guide/5/readme.mdx b/src/content/docs/ko/auth/guide/5/readme.mdx index ba0045803..b42af166c 100644 --- a/src/content/docs/ko/auth/guide/5/readme.mdx +++ b/src/content/docs/ko/auth/guide/5/readme.mdx @@ -15,13 +15,20 @@ description: 안정적인 결제서비스를 제공할 수 있도록 결제결 > 클라이언트에서의 스크립트 조작은 원천적으로 막을 수 없는 기술적 특징이 있기 때문에 **결제 전후로 > 서버에서 결제금액의 위변조 여부를 반드시 검증**해야 합니다. -운영중인 서버에서 클라이언트로 부터 전달 받은 결제 결과 데이터를 바탕으로 **결제금액 위변조 여부**를 검증하고 필요시 데이터베이스에 저장합니다. 결제 정보를 검증하는 과정은 크게 아래와 같은 단계로 진행합니다. +운영중인 서버에서 클라이언트로 부터 전달 받은 결제 결과 데이터를 바탕으로 +**결제금액 위변조 여부**를 검증하고 필요시 데이터베이스에 저장합니다. +결제 정보를 검증하는 과정은 크게 아래와 같은 단계로 진행합니다. 1. [백엔드 - 사전 검증](pre) - [**결제금액 사전등록 API**](../../../api/api-1/api-5) 요청 + 2. [프론트엔드 - 결제 요청](../3.) - SDK `IMP.request_pay` 호출 + 3. [백엔드 - 사후 검증](post) - 1. 포트원 결제고유번호(**imp_uid**), 고객사 주문번호(**merchant_uid**)를 프론트엔드로부터 수신 - 2. 결제 상세내역 조회를 위해 포트원 [**결제 단건 조회 API** ](https://api.iamport.kr/#!/payments/getPaymentByImpUid)요청 + 1. 포트원 결제고유번호(**imp\_uid**), 고객사 주문번호(**merchant\_uid**)를 프론트엔드로부터 수신 + + 2. 결제 상세내역 조회를 위해 포트원 + [**결제 단건 조회 API**](https://api.iamport.kr/#!/payments/getPaymentByImpUid) 요청 + 3. 응답받은 내용을 바탕으로 실 결제 금액과 결제요청금액(고객사 자체 데이터베이스)을 비교 diff --git a/src/content/docs/ko/auth/guide/6.mdx b/src/content/docs/ko/auth/guide/6.mdx index 2a0dd5a0e..e6aba142b 100644 --- a/src/content/docs/ko/auth/guide/6.mdx +++ b/src/content/docs/ko/auth/guide/6.mdx @@ -4,19 +4,17 @@ description: 결제가 완료되면 사용자에게 결제 실패 유무 메세 --- import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; -import Tab from "~/components/gitbook/tabs/Tab.astro"; **Iframe** 방식으로 진행되는 대부분의 PC환경 결제인 경우 결제응답은 **callback** 함수로 받아볼 수 있으며 고객사 서버에서 결제결과 처리가 최종적으로 완료되면 아래 예제처럼 결제 성공유무에 따른 분기를 통해 결과 메세지 처리를 진행 하실 수 있습니다. - - -```javascript +```ts IMP.request_pay( - {/* 결제 요청 객체 */}, - async requestPayResponse => { + { + /* 결제 요청 객체 */ + }, + async (requestPayResponse) => { const { success, error_msg } = requestPayResponse; if (!success) { alert(`결제에 실패하였습니다. 에러 내용: ${error_msg}`); @@ -26,41 +24,37 @@ IMP.request_pay( const res = await axios({ url: "/payments/complete", method: "post", - headers: { "Content-Type": "application/json" }, + headers: { "Content-Type": "application/json" }, data: { imp_uid: "...", merchant_uid: "..." }, }); switch (res.status) { - case: "vbankIssued": + case "vbankIssued": // 가상계좌 발급 시 로직 break; - case: "success": + case "success": // 결제 성공 시 로직 break; } - } + }, ); ``` - - - 새로운 페이지로 리디렉션되어 결제가 진행되는 대부분의 **모바일환경**에서의 결제는 **m\_redirect\_url** 파라미터로 설정하신 고객사 **EndPoint URL 에서 최종 결제완료 메세지 처리**를 진행해 주시면 됩니다. -**error\_msg, error\_code 정의** - -결제 실패 시 응답으로 내려가는 해당 파라미터는 PG사에서 내려준 오류코드와 메세지를 2차 가공없이 그대로 내려드리고 있습니다. + **error\_msg, error\_code 정의** + 결제 실패 시 응답으로 내려가는 해당 파라미터는 PG사에서 내려준 오류코드와 메세지를 2차 가공없이 그대로 내려드리고 있습니다. -인증결제 과정에서 다음과 같은 사용자 동작이 일어날 경우 [**비정상 접근입니다.**]와 같은 오류가 발생할 수 있습니다. + 인증결제 과정에서 다음과 같은 사용자 동작이 일어날 경우 \[**비정상 접근입니다.**]와 같은 오류가 발생할 수 있습니다. -1. PG사 결제창 페이지 내 새로고침하는 경우 -2. 결제 진행 중 뒤로가기 버튼으로 카드사 ACS창으로 이동한 후 추가로 뒤로가기 버튼 클릭하여 PG사 결제창으로 돌아오는 경우 -3. 카드사 ACS 창 내 새로고침하는 경우 (카드사별로 상이) + 1. PG사 결제창 페이지 내 새로고침하는 경우 + 2. 결제 진행 중 뒤로가기 버튼으로 카드사 ACS창으로 이동한 후 추가로 뒤로가기 버튼 클릭하여 PG사 결제창으로 돌아오는 경우 + 3. 카드사 ACS 창 내 새로고침하는 경우 (카드사별로 상이) -결제페이지에서 뒤로가기 또는 새로고침 등의 동작을 방지하면 위 오류를 줄일 수 있습니다. + 결제페이지에서 뒤로가기 또는 새로고침 등의 동작을 방지하면 위 오류를 줄일 수 있습니다. diff --git a/src/content/docs/ko/auth/guide/def.mdx b/src/content/docs/ko/auth/guide/def.mdx index bbc0c28d1..6f36ceb9f 100644 --- a/src/content/docs/ko/auth/guide/def.mdx +++ b/src/content/docs/ko/auth/guide/def.mdx @@ -6,26 +6,27 @@ description: 국내 인증결제를 소개합니다. import Figure from "~/components/Figure.astro"; import Hint from "~/components/Hint.astro"; -인증결제는 신용카드 결제시 PG사로 부터 결제에 대한 인증 결과 수신 이후 해당 인증키로 결제를 요청하는 -결제 방식을 지칭합니다. 국내에서 제일 많이 볼수 있는 결제방식으로 결제 주문페이지에서 결제가 -요청되면 각 PG사의 결제창이 활성화되고 그후 고객이 선택한 카드사에 따른 카드사 전용 결제모듈에서 +인증결제는 신용카드 결제 시 PG사로부터 결제에 대한 인증 결과 수신 이후 해당 인증키로 결제를 요청하는 +결제 방식을 지칭합니다. 국내에서 제일 많이 볼수 있는 결제방식으로 결제 주문 페이지에서 결제가 +요청되면 각 PG사의 결제창이 활성화되고, 그 후 고객이 선택한 카드사에 따른 카드사 전용 결제 모듈에서 인증이 완료되면 해당 인증값을 바탕으로 결제를 요청하는 흐름으로 결제가 진행됩니다.
- 실 결제요청을 위한 통신은 고객사 서버와 PG사 서버간에 직접적으로 이루어지며 해당 결제요청과정에서 카드정보는 포함되어 있지 않습니다. + 실 결제요청을 위한 통신은 고객사 서버와 PG사 서버 간에 직접적으로 이루어지며, + 해당 결제 요청 과정에 카드 정보는 포함되지 않습니다. -## 인증결제는 인증방법에 따라 전통적으로 아래 두가지 형태 구분됩니다. +**인증결제는 인증 방법에 따라 전통적으로 아래 두 가지 형태로 구분됩니다.** -- ISP 결제 : 공개키 기반의 전자인증서를 통해 사전에 등록된 카드정보를 인증하는 방식 +- ISP 결제 : 공개 키 기반의 전자인증서를 통해 사전에 등록된 카드정보를 인증하는 방식 - MPI 결제 : 카드번호, CVC, 안심클릭 비밀번호를 입력하여 카드정보를 인증하는 방식 -최근에는 대부분에 카드사에서 카드사 자체 **간편결제**를 지원하고 있으며 고객은 사전에 카드를 -등록하고 결제시 **결제 비밀번호 6자리를** 이용하여 간편하게 결제를 요청할 수 있는 구조를 가지고 +최근에는 대부분의 카드사에서 카드사 자체 간편결제를 지원하고 있으며, 고객은 사전에 카드를 +등록하고 결제 시 결제 비밀번호를 이용하여 간편하게 결제를 요청할 수 있는 구조를 가지고 있습니다.
-## 포트원을 통해 인증결제를 연동하시면 매우 손쉽게 결제연동을 완료하실 수 있습니다. +**포트원을 통해 인증결제를 연동하시면 매우 손쉽게 결제연동을 완료하실 수 있습니다.** diff --git a/src/content/docs/ko/auth/guide/readme.mdx b/src/content/docs/ko/auth/guide/readme.mdx index 789b01de3..04d0b918f 100644 --- a/src/content/docs/ko/auth/guide/readme.mdx +++ b/src/content/docs/ko/auth/guide/readme.mdx @@ -11,16 +11,16 @@ import Youtube from "~/components/gitbook/Youtube.astro"; - + - + - + - + - + - + - + diff --git a/src/content/docs/ko/console/guide/account.mdx b/src/content/docs/ko/console/guide/account.mdx index f444c7a39..ca92f9dd7 100644 --- a/src/content/docs/ko/console/guide/account.mdx +++ b/src/content/docs/ko/console/guide/account.mdx @@ -9,16 +9,28 @@ import Figure from "~/components/Figure.astro"; ## 포트원 관리자콘솔 계정 체계 -- 고객사 관리자 계정 (Admin): 최초 관리자 콘솔 가입시 회원가입한 계정을 고객사을 대표하는 관리자 계정으로 칭합니다. 해당 계정은 모든 기능을 사용하실 수 있습니다. -- 고객사 매니저 계정 (Manager) : 고객사 관리자 계정이 해당계정을 생성 및 발급하실 수 있습니다. 해당 계정은 상점 및 계정관리 와 연동은 조회만 가능하며 나머지 관리자 콘솔 기능들은 사용하실 수 있습니다. -- 고객사 개발 계정 (Dev): 고객사 관리자 계정이 해당계정을 생성 및 발급하실 수 있습니다. 해당계정은 연동 기능은 사용 가능하며 상점 계정 관리는 조회만 가능합니다. 나머지 기능들은 사용하실 수 없습니다. -- 고객사 조회 계정 (Read Only) : 고객사 관리자 계정이 해당계정을 생성 및 발급하실 수 있습니다. 해당 계정은 모든 기능의 조회만 가능합니다. -- 하위 상점 매니저 계정(Manager) : 고객사 관리자 계정이나 동일한 하위상점의 매니저 계정이 해당계정을 생성 및 발급하실 수 있습니다. 해당 계정은 소속된 하위 상점의 모든 기능을 사용하실 수 있으며 고객사 관리자 계정 관리 및 고객사의 사업자 정보를 조회할 수 있습니다. -- 하위 상점 조회 계정(Read Only) : 고객사 관리자 계정이나 동일한 하위상점의 매니저 계정이 해당계정을 생성 및 발급하실 수 있습니다. 해당 계정은 소속된 하위 상점의 모든 기능을 조회 만 하실 수 있습니다. +- 고객사 관리자 계정 (Admin): 최초 관리자 콘솔 가입시 회원가입한 계정을 고객사를 대표하는 + 관리자 계정으로 칭합니다. 해당 계정은 모든 기능을 사용하실 수 있습니다. + +- 고객사 매니저 계정 (Manager) : 고객사 관리자 계정이 해당 계정을 생성 및 발급하실 수 있습니다. + 해당 계정은 상점 및 계정관리와 연동 정보 조회만 가능하며 나머지 관리자 콘솔 기능들은 사용하실 수 없습니다. + +- 고객사 개발 계정 (Dev): 고객사 관리자 계정이 해당 계정을 생성 및 발급하실 수 있습니다. + 해당 계정은 연동 기능은 사용 가능하며 상점 계정 관리는 조회만 가능합니다. 나머지 기능들은 사용하실 수 없습니다. + +- 고객사 조회 계정 (Read Only) : 고객사 관리자 계정이 해당 계정을 생성 및 발급하실 수 있습니다. + 해당 계정은 모든 기능의 조회만 가능합니다. + +- 하위 상점 매니저 계정(Manager) : 고객사 관리자 계정이나 동일한 하위상점의 매니저 계정이 + 해당 계정을 생성 및 발급하실 수 있습니다. 해당 계정은 소속된 하위 상점의 모든 기능을 사용하실 수 있으며 + 고객사 관리자 계정 관리 및 고객사의 사업자 정보를 조회할 수 있습니다. + +- 하위 상점 조회 계정(Read Only) : 고객사 관리자 계정이나 동일한 하위상점의 매니저 계정이 + 해당 계정을 생성 및 발급하실 수 있습니다. 해당 계정은 소속된 하위 상점의 모든 기능에 대해 조회만 가능합니다. ## 관리자 계정 관리 -_파란색 부분은 사용가능한 버튼 표기입니다_ +_파란색 부분은 사용 가능한 버튼 표기입니다_
@@ -31,8 +43,11 @@ _파란색 부분은 사용가능한 버튼 표기입니다_ ## 고객사, 하위 상점 체계 -- 고객사: 포트원에서 고객사이란 고유한 사업자등록번호를 가지고있는 사업체로 정의합니다. 유일한 예외는 타 고객사들을 위해 결제를 개발해주시는 에이전시 뿐 입니다. -- 하위상점: 고객사는 서비스 및 상품군 별, 지역별, 등등 사업을 나누어 관리자 콘솔로 관리하고 결제를 연동할 수 있습니다. 해당사항으로 나뉘는 단위를 하위상점으로 정의합니다. +- 고객사: 포트원에서 고객사이란 고유한 사업자등록번호를 가지고있는 사업체로 정의합니다. + 유일한 예외는 타 고객사들을 위해 결제를 개발해주시는 에이전시 뿐 입니다. + +- 하위상점: 고객사는 서비스 및 상품군 별, 지역별, 등등 사업을 나누어 관리자 콘솔로 관리하고 + 결제를 연동할 수 있습니다. 해당사항으로 나뉘는 단위를 하위상점으로 정의합니다. - 결제 연동: 고객사가 신청한 결제수단 및 대행사를 특정 하위상점에 관리자 콘솔에서 할당할 수 있습니다. - 하위상점 계정: 하위상점에 소속된 계정은 하위상점관련된 기능 및 결제건만 확인 하실 수 있습니다. @@ -40,10 +55,7 @@ _파란색 부분은 사용가능한 버튼 표기입니다_ ### 고객사 관리자 계정 시점 -
+
- 고객사 관리자 계정은 하위상점을 추가, 수정 할 수 있으며 해당 하위상점의 소속된 계정을 생성, 수정, 삭제 하실 수 있으십니다. @@ -64,22 +76,13 @@ _파란색 부분은 사용가능한 버튼 표기입니다_ ### 그 외 계정 시점 -
+
-
+
-
+
-## 하위상점별 웹훅 설정 +## 하위상점별 웹훅 설정 하위상점 수정에서 결제알림 동일 설정 옵션을 해제하면 하위상점별 웹훅 설정을 할 수 있습니다. @@ -90,6 +93,7 @@ _파란색 부분은 사용가능한 버튼 표기입니다_
+

하단의 결제알림 동일설정 체크박스를 해제해주세요

@@ -97,6 +101,7 @@ _파란색 부분은 사용가능한 버튼 표기입니다_
+

웹훅 연동을 원하시는 하위상점을 선택한 뒤 결제알림 관리 탭에서 웹훅을 diff --git a/src/content/docs/ko/console/pg.mdx b/src/content/docs/ko/console/pg.mdx index fd6484dd8..5021c40d4 100644 --- a/src/content/docs/ko/console/pg.mdx +++ b/src/content/docs/ko/console/pg.mdx @@ -45,7 +45,7 @@ import image2 from "./_assets/multi-pg-guide-2.png"; -```javascript +```ts IMP.request_pay({ pg: "kakaopay", // 카카오페이 결제창 호출 amount: 1000, @@ -61,7 +61,7 @@ IMP.request_pay({ -```javascript +```ts IMP.request_pay({ pg: "nice_v2.MID-a", // (신) 나이스페이먼츠 인증 결제용 호출 (상점아이디 MID-a 적용) amount: 1000, @@ -74,7 +74,7 @@ IMP.request_pay({ -```javascript +```ts IMP.request_pay({ pg: "nice_v2.MID-b", // (신) 나이스페이먼츠 인증 결제용 호출 (상점아이디 MID-b 적용) amount: 1000, diff --git a/src/content/docs/ko/etc/all/0.mdx b/src/content/docs/ko/etc/all/0.mdx index 63975cfa1..19cf9a217 100644 --- a/src/content/docs/ko/etc/all/0.mdx +++ b/src/content/docs/ko/etc/all/0.mdx @@ -35,7 +35,7 @@ import Hint from "~/components/Hint.astro"; -```javascript title="client-side" +```ts title="client-side" var IMP = window.IMP; // 생략 가능 IMP.init("{고객사 식별코드}"); // 예: imp00000000 ``` @@ -43,7 +43,7 @@ IMP.init("{고객사 식별코드}"); // 예: imp00000000 -```javascript title="Client-side" +```ts title="Client-side" var IMP = window.IMP; // 생략 가능 IMP.init("{고객사 식별코드}"); // 예: imp00000000 ``` diff --git a/src/content/docs/ko/etc/all/1.mdx b/src/content/docs/ko/etc/all/1.mdx index 72eb6fb14..427fec8b5 100644 --- a/src/content/docs/ko/etc/all/1.mdx +++ b/src/content/docs/ko/etc/all/1.mdx @@ -25,7 +25,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="client-side" +```ts title="client-side" // IMP.certification(param, callback) 호출 IMP.certification({ // param pg:'inicis_unified.{CPID}',//본인인증 설정이 2개이상 되어 있는 경우 필수 diff --git a/src/content/docs/ko/etc/all/2.mdx b/src/content/docs/ko/etc/all/2.mdx index d4b2c9ba9..83bdf3558 100644 --- a/src/content/docs/ko/etc/all/2.mdx +++ b/src/content/docs/ko/etc/all/2.mdx @@ -12,7 +12,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="client-side" +```ts title="client-side" IMP.certification({ /* ...중략... */ }, function (rsp) { // callback @@ -33,7 +33,7 @@ IMP.certification({ -```javascript title="client-side" +```ts title="client-side" IMP.certification({ /* ...중략... */ }, rsp => { // callback diff --git a/src/content/docs/ko/etc/all/3.mdx b/src/content/docs/ko/etc/all/3.mdx index fd4726c3f..8c8555244 100644 --- a/src/content/docs/ko/etc/all/3.mdx +++ b/src/content/docs/ko/etc/all/3.mdx @@ -16,7 +16,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="server-side" +```ts title="server-side" app.use(bodyParser.json()); // "/certifications"에 대한 POST 요청을 처리하는 controller @@ -30,7 +30,7 @@ app.post("/certifications", async (request, response) => { -```javascript title="server-side" +```ts title="server-side" app.use(bodyParser.json()); // "/certifications/redirect"에 대한 GET 요청을 처리하는 controller @@ -48,7 +48,7 @@ app.get("/certifications/redirect", async (request, response) => { 포트원 서버에서 인증 정보를 조회하기 위해서 먼저 [**REST API access token**](../../api/rest-api-access-token)을 발급받습니다. 발급받은 액세스 토큰(`access_token`)과 인증번호(`imp_uid`)로 **본인인증 결과조회 REST API** 를 호출하여 인증 정보를 조회하는 예제입니다. -```javascript title="server-side(Node.js)" +```ts title="server-side(Node.js)" app.use(bodyParser.json()); // "/certifications"에 대한 POST 요청을 처리하는 controller @@ -101,7 +101,7 @@ app.post("/certifications", async (request, response) => { - `unique_key`: CI 값과 동일. 온라인 주민번호와 같은 개인고유식별키 - `phone :`휴대폰 번호 -```javascript title="Node.js" +```ts title="Node.js" // "/certifications"에 대한 POST 요청을 처리하는 controller app.post("/certifications", async (request, response) => { const { imp_uid } = request.body; // request의 body에서 imp_uid 추출 diff --git a/src/content/docs/ko/etc/credit-auth/1.mdx b/src/content/docs/ko/etc/credit-auth/1.mdx index 2f9dfe792..3dbe55531 100644 --- a/src/content/docs/ko/etc/credit-auth/1.mdx +++ b/src/content/docs/ko/etc/credit-auth/1.mdx @@ -10,43 +10,38 @@ import Hint from "~/components/Hint.astro"; ## 본인인증을 연동할 페이지에 포트원 라이브러리를 추가합니다. -신용카드 본인인증 기능은 **포트원 JavaScript v1.1.7**부터 지원합니다. - + 신용카드 본인인증 기능은 **포트원 JavaScript v1.1.7**부터 지원합니다. - -```html title="client-side" - - - - -``` - - + + ```html title="client-side" + + + + + ``` + -**jQuery 1.0 이상이 설치**되어 있어야 합니다. - + **jQuery 1.0 이상이 설치**되어 있어야 합니다. ### 본인인증 페이지에 [`고객사 식별코드`](../../ready/readme#4-포트원-연동정보-확인하기)를 이용하여 `IMP` 객체를 초기화합니다. - -```javascript title="client-side" -var IMP = window.IMP; // 생략 가능 -IMP.init("{고객사 식별코드}"); // 예: imp00000000 -``` - - - - -```javascript title="client-side" -const IMP = window.IMP; // 생략 가능 -IMP.init({ 고객사_식별코드 }); // 예: "imp00000000" -``` - - + + ```ts title="client-side" + const IMP = window.IMP; // 생략 가능 + IMP.init("{고객사 식별코드}"); // 예: imp00000000 + ``` + + + + ```ts title="client-side" + const IMP = window.IMP; // 생략 가능 + IMP.init({ 고객사_식별코드 }); // 예: "imp00000000" + ``` + diff --git a/src/content/docs/ko/etc/credit-auth/2.mdx b/src/content/docs/ko/etc/credit-auth/2.mdx index 9e08c6d07..a78eb0595 100644 --- a/src/content/docs/ko/etc/credit-auth/2.mdx +++ b/src/content/docs/ko/etc/credit-auth/2.mdx @@ -25,7 +25,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="client-side" +```ts title="client-side" // IMP.certification(param, callback) 호출 IMP.certification({ // param merchant_uid: "ORD20180131-0000011", // 주문 번호 @@ -48,7 +48,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="client-side" +```ts title="client-side" // IMP.certification(param, callback) 호출 IMP.certification({ // param merchant_uid: "ORD20180131-0000011", // 주문 번호 diff --git a/src/content/docs/ko/etc/credit-auth/3.mdx b/src/content/docs/ko/etc/credit-auth/3.mdx index 638cb4f86..ccbff2514 100644 --- a/src/content/docs/ko/etc/credit-auth/3.mdx +++ b/src/content/docs/ko/etc/credit-auth/3.mdx @@ -12,7 +12,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="client-side" +```ts title="client-side" IMP.certification({ /* ...중략... */ }, function (rsp) { // callback @@ -33,7 +33,7 @@ IMP.certification({ -```javascript title="client-side" +```ts title="client-side" IMP.certification({ /* ...중략... */ }, rsp => { // callback diff --git a/src/content/docs/ko/etc/credit-auth/4.mdx b/src/content/docs/ko/etc/credit-auth/4.mdx index ba33fe5fe..357d65f31 100644 --- a/src/content/docs/ko/etc/credit-auth/4.mdx +++ b/src/content/docs/ko/etc/credit-auth/4.mdx @@ -15,7 +15,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="server-side" +```ts title="server-side" app.use(bodyParser.json()); ... // "/certifications"에 대한 POST 요청을 처리하는 controller @@ -28,7 +28,7 @@ app.use(bodyParser.json()); -```javascript title="server-side" +```ts title="server-side" app.use(bodyParser.json()); ... // "/certifications/redirect"에 대한 GET 요청을 처리하는 controller @@ -44,7 +44,7 @@ app.use(bodyParser.json()); 포트원 서버에서 인증 정보를 조회하기 위해서 먼저 [**REST API access token**](../../api/rest-api-access-token)을 발급받습니다. 발급받은 액세스 토큰(`access_token`)과 인증번호(`imp_uid`)로 **본인인증 결과조회 REST API** 를 호출하여 인증 정보를 조회하는 예제입니다. -```javascript title="server-side" +```ts title="server-side" app.use(bodyParser.json()); ... // "/certifications"에 대한 POST 요청을 처리하는 controller @@ -99,7 +99,7 @@ app.use(bodyParser.json()); -```javascript title="Node.js" +```ts title="Node.js" // "/certifications"에 대한 POST 요청을 처리하는 controller app.post("/certifications", async (request, response) => { const { imp_uid } = request.body; // request의 body에서 imp_uid 추출 diff --git a/src/content/docs/ko/etc/phone/1.mdx b/src/content/docs/ko/etc/phone/1.mdx index e1230c4bc..f1e33a8ad 100644 --- a/src/content/docs/ko/etc/phone/1.mdx +++ b/src/content/docs/ko/etc/phone/1.mdx @@ -9,19 +9,16 @@ import Tabs from "~/components/gitbook/tabs/Tabs.astro"; [**`고객사 식별코드`**](../../ready/readme#4-포트원-연동정보-확인하기)를 이용하여 `IMP` 객체를 초기화합니다. - -```javascript title="client-side" -var IMP = window.IMP; // 생략 가능 -IMP.init("{고객사 식별코드}"); // 예: imp00000000 -``` + + ```ts title="client-side" + IMP.init("{고객사 식별코드}"); // 예: imp00000000 + ``` + - - - -```javascript title="client-side" -const IMP = window.IMP; // 생략 가능 -IMP.init("{고객사_식별코드}"); // 예: imp00000000 -``` - - + + ```javascript title="client-side" + const IMP = window.IMP; // 생략 가능 + IMP.init("{고객사_식별코드}"); // 예: imp00000000 + ``` + diff --git a/src/content/docs/ko/etc/phone/2.mdx b/src/content/docs/ko/etc/phone/2.mdx index 76d96087d..7f0e2a746 100644 --- a/src/content/docs/ko/etc/phone/2.mdx +++ b/src/content/docs/ko/etc/phone/2.mdx @@ -32,7 +32,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="client-side" +```ts title="client-side" // IMP.certification(param, callback) 호출 IMP.certification({ // param // 주문 번호 @@ -60,7 +60,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="client-side" +```ts title="client-side" // IMP.certification(param, callback) 호출 IMP.certification({ // param // 주문 번호 diff --git a/src/content/docs/ko/etc/phone/3.mdx b/src/content/docs/ko/etc/phone/3.mdx index c6a304437..7ce0fa637 100644 --- a/src/content/docs/ko/etc/phone/3.mdx +++ b/src/content/docs/ko/etc/phone/3.mdx @@ -12,7 +12,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="client-side" +```ts title="client-side" IMP.certification({ /* ...중략... */ }, function (rsp) { // callback @@ -33,7 +33,7 @@ IMP.certification({ -```javascript title="client-side" +```ts title="client-side" IMP.certification({ /* ...중략... */ }, rsp => { // callback diff --git a/src/content/docs/ko/etc/phone/4.mdx b/src/content/docs/ko/etc/phone/4.mdx index 6a7390e21..9589c0467 100644 --- a/src/content/docs/ko/etc/phone/4.mdx +++ b/src/content/docs/ko/etc/phone/4.mdx @@ -15,7 +15,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="server-side" +```ts title="server-side" app.use(bodyParser.json()); ... // "/certifications"에 대한 POST 요청을 처리하는 controller @@ -28,7 +28,7 @@ app.use(bodyParser.json()); -```javascript title="server-side" +```ts title="server-side" app.use(bodyParser.json()); ... // "/certifications/redirect"에 대한 GET 요청을 처리하는 controller @@ -44,7 +44,7 @@ app.use(bodyParser.json()); 포트원 서버에서 인증 정보를 조회하기 위해서 먼저 [**REST API access token**](../../api/rest-api-access-token)을 발급받습니다. 발급받은 액세스 토큰(`access_token`)과 인증번호(`imp_uid`)로 **본인인증 결과조회 REST API** 를 호출하여 인증 정보를 조회하는 예제입니다. -```javascript title="server-side" +```ts title="server-side" app.use(bodyParser.json()); ... // "/certifications"에 대한 POST 요청을 처리하는 controller @@ -112,7 +112,7 @@ app.use(bodyParser.json()); -```javascript title="Node.js" +```ts title="Node.js" // "/certifications"에 대한 POST 요청을 처리하는 controller app.post("/certifications", async (request, response) => { const { imp_uid } = request.body; // request의 body에서 imp_uid 추출 diff --git a/src/content/docs/ko/etc/url.mdx b/src/content/docs/ko/etc/url.mdx index a7e5b75ae..ab31f0e94 100644 --- a/src/content/docs/ko/etc/url.mdx +++ b/src/content/docs/ko/etc/url.mdx @@ -206,10 +206,7 @@ pg사 구분코드 **결제 URL API 요청이 성공한경우 응답 URL 렌더링 화면 예시입니다.** -

+
@@ -225,7 +222,7 @@ pg사 구분코드 **응답**(**shortenedUrl**) **URL 마지막 String 을 결제 URI API 주소 뒤에 삽입하여 호출** -> \*\*HTTP Method : \*\***PUT** +> **HTTP Method :** **PUT** **API 응답이 아래와 같은경우** diff --git a/src/content/docs/ko/pg/payment-gateway/blue.mdx b/src/content/docs/ko/pg/payment-gateway/blue.mdx index 325f266f9..751b1aa88 100644 --- a/src/content/docs/ko/pg/payment-gateway/blue.mdx +++ b/src/content/docs/ko/pg/payment-gateway/blue.mdx @@ -23,7 +23,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ pg: "bluewalnut.{상점 ID}", pay_method: "card", diff --git a/src/content/docs/ko/pg/payment-gateway/danal.mdx b/src/content/docs/ko/pg/payment-gateway/danal.mdx index 316379636..cdfc54f0e 100644 --- a/src/content/docs/ko/pg/payment-gateway/danal.mdx +++ b/src/content/docs/ko/pg/payment-gateway/danal.mdx @@ -22,7 +22,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; [JavaScript SDK](../../sdk/javascript-sdk-old/readme) `IMP.request_pay(param, callback)`을 호출하여 다날 Tpay 결제창을 호출할 수 있습니다. **결제결과**는 PC/모바일 환경 모두 경우 IMP.request\_pay(param, callback) 호출 후 **callback** 으로 수신됩니다. -```javascript title="Javascript SDK" showLineNumbers +```ts title="Javascript SDK" showLineNumbers IMP.request_pay( { pg: "danal_tpay.{CPID}", @@ -105,7 +105,7 @@ IMP.request_pay( -```javascript +```ts IMP.request_pay( { pg: "danal_tpay.{CPID}", @@ -178,7 +178,7 @@ curl -H "Content-Type: application/json" \ -```js title="특정 통신사만 노출" +```ts title="특정 통신사만 노출" { phone: { detail: [ @@ -195,7 +195,7 @@ curl -H "Content-Type: application/json" \ } ``` -```js title="2개 이상 통신사 노출" +```ts title="2개 이상 통신사 노출" { phone: { detail: [ @@ -221,7 +221,7 @@ curl -H "Content-Type: application/json" \ KCT, SKL 을 제외한 나머지 통신사는 비활성화 됩니다. ``` -```js title="특정 통신사만 비노출" +```ts title="특정 통신사만 비노출" phone: { detail: [ { @@ -240,7 +240,7 @@ phone: { -```javascript title="javascript" +```ts title="javascript" prefill: { phoneNumber: "휴대폰번호" // 휴대폰번호 입력(하이픈 제거) } @@ -252,7 +252,7 @@ prefill: { -```javascript title="javascript" +```ts title="javascript" display: { card_quota: [6] // 할부개월 6개월까지만 활성화 } @@ -276,7 +276,7 @@ display: { -```javascript title="javascript" +```ts title="javascript" card: { direct: { code: "367", @@ -299,7 +299,7 @@ card: { -```javascript title="javascript" +```ts title="javascript" card: { detail: [ { card_code: "*", enabled: false }, //모든 카드사 비활성화 diff --git a/src/content/docs/ko/pg/payment-gateway/daou/readme.mdx b/src/content/docs/ko/pg/payment-gateway/daou/readme.mdx index bc450fe1e..82ef3d99c 100644 --- a/src/content/docs/ko/pg/payment-gateway/daou/readme.mdx +++ b/src/content/docs/ko/pg/payment-gateway/daou/readme.mdx @@ -27,7 +27,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "daou.{상점 ID}", @@ -177,7 +177,7 @@ curl -H "Content-Type: application/json" \ -```javascript title="javascript" +```ts title="javascript" display: { card_quota: [6] // 할부개월 6개월까지만 활성화 } @@ -198,7 +198,7 @@ display: { -```javascript title="javascript" +```ts title="javascript" card: { direct: { code: "367", diff --git a/src/content/docs/ko/pg/payment-gateway/daou/undefined.mdx b/src/content/docs/ko/pg/payment-gateway/daou/undefined.mdx index 216471aee..25cfd2d6e 100644 --- a/src/content/docs/ko/pg/payment-gateway/daou/undefined.mdx +++ b/src/content/docs/ko/pg/payment-gateway/daou/undefined.mdx @@ -14,7 +14,7 @@ PC와 모바일에서 결제창이 각기 다른 방식으로 호출되기 때 - \[PC결제] iframe → 콜백 함수 호출 → 콜백 함수로 전달되는 response 객체에 `success` 키 값으로 전달 - ```jsx + ```tsx IMP.request_pay( { // 중략 diff --git a/src/content/docs/ko/pg/payment-gateway/eximbay.mdx b/src/content/docs/ko/pg/payment-gateway/eximbay.mdx index 683d969c1..146b42758 100644 --- a/src/content/docs/ko/pg/payment-gateway/eximbay.mdx +++ b/src/content/docs/ko/pg/payment-gateway/eximbay.mdx @@ -23,7 +23,7 @@ style="color:red;">**callback** 으로 전달됩니다. -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ pg: "eximbay.{상점 ID}", pay_method: "card", diff --git a/src/content/docs/ko/pg/payment-gateway/inicis.mdx b/src/content/docs/ko/pg/payment-gateway/inicis.mdx index c21fd8eab..4f113289c 100644 --- a/src/content/docs/ko/pg/payment-gateway/inicis.mdx +++ b/src/content/docs/ko/pg/payment-gateway/inicis.mdx @@ -22,7 +22,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ pg : 'html5_inicis.{PG상점아이디}', //테스트 시 html5_inicis.INIpayTest 기재 pay_method : 'card', @@ -125,7 +125,7 @@ to - 비 인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. - amount 파라미터에 금액을 설정하여도 실제 승인은 이루어지지 않습니다. -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "html5_inicis.{PG상점아이디}", // 실제 계약 후에는 실제 상점아이디로 변경 @@ -157,7 +157,7 @@ IMP.request_pay( **PG사 구분코드** -\*\*`html5_inicis`\*\*로 설정 +**`html5_inicis`**로 설정 > KG이니시스에서 발급받은 상점아이디가 여러개(각각 일반 및 정기)인 경우에는 html5_inicis.\{상점아이디} 또는 inicis.\{상점아이디}(for ActiveX)로 지정합니다. @@ -242,7 +242,7 @@ curl -H "Content-Type: application/json" \ -```javascript title="javascript" +```ts title="javascript" display: { card_quota: [6] // 할부개월 6개월만 활성화 } @@ -263,7 +263,7 @@ display: { -```javascript title="javascript" +```ts title="javascript" card: { direct: { code: "367", @@ -277,16 +277,12 @@ card: { - **code** : 카드사 금융결제원 표준 코드. [**링크**](https://faq.portone.io/6503bcb4-4a61-4cf3-afd8-5d913b1385a6) 참조 (**string**) - **quota** : 할부 개월 수. 일시불일 시 0 으로 지정. (**integer**) - + -```javascript title="javascript" +```ts title="javascript" card: { detail: [ { card_code: "*", enabled: false }, //모든 카드사 비활성화 @@ -303,7 +299,7 @@ card: { -```javascript +```ts // 영세율의 경우 amount: 1000, tax_free: 0, @@ -332,7 +328,7 @@ vat_amount: 0 이니시스 설정이 완료되었으면 아래와 같이 파라미터 설정하시면 됩니다. -```javascript +```ts card: { interest_free: 7, //모든 카드 7개월까지 상점분담무이자 } diff --git a/src/content/docs/ko/pg/payment-gateway/jtnet.mdx b/src/content/docs/ko/pg/payment-gateway/jtnet.mdx index b61340c0d..686733600 100644 --- a/src/content/docs/ko/pg/payment-gateway/jtnet.mdx +++ b/src/content/docs/ko/pg/payment-gateway/jtnet.mdx @@ -25,7 +25,7 @@ JTNET 결제창을 호출할 수 있습니다. **결제결과**는 PC의 경우 -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ pg: "jtnet.{상점 ID}", pay_method: "card", @@ -87,7 +87,7 @@ IMP.request_pay({ -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "jtnet.{상점 ID}", @@ -199,7 +199,7 @@ curl -H "Content-Type: application/json" \ -```javascript title="javascript" +```ts title="javascript" card: { detail: [ { card_code: "*", enabled: false }, // 모든 카드사 비활성화 diff --git a/src/content/docs/ko/pg/payment-gateway/kg.mdx b/src/content/docs/ko/pg/payment-gateway/kg.mdx index 24e695c91..624186030 100644 --- a/src/content/docs/ko/pg/payment-gateway/kg.mdx +++ b/src/content/docs/ko/pg/payment-gateway/kg.mdx @@ -17,7 +17,7 @@ import Hint from "~/components/Hint.astro"; [JavaScript SDK](../../sdk/javascript-sdk/readme) `IMP.request_pay(param, callback)`을 호출하여 KG 모빌리언스 결제창을 호출할 수 있습니다. **결제 결과**는 PC의 경우 `IMP.request_pay(param, callback)` 호출 후 **callback** 으로 수신되고 모바일의 경우 **m_redirect_url**로 리디렉션됩니다. -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "mobilians.{상점 ID}", @@ -71,7 +71,7 @@ IMP.request_pay( 인증결제창 호출 파라미터에서 **customer_uid** 값을 추가하면 비 인증 결제창을 호출할 수 있습니다. 비 인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "mobilians", diff --git a/src/content/docs/ko/pg/payment-gateway/kicc.mdx b/src/content/docs/ko/pg/payment-gateway/kicc.mdx index a4fd0d490..cbe16beef 100644 --- a/src/content/docs/ko/pg/payment-gateway/kicc.mdx +++ b/src/content/docs/ko/pg/payment-gateway/kicc.mdx @@ -21,7 +21,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; [JavaScript SDK](../../sdk/javascript-sdk-old/readme) `IMP.request_pay(param, callback)`을 호출하여 KICC 결제창을 호출할 수 있습니다. **결제결과**는 PC의 경우 `IMP.request_pay(param, callback)` 호출 후 **callback**으로 수신되고 모바일의 경우 **m_redirect_url**로 리디렉션됩니다. -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "kicc.{상점 ID}", @@ -89,7 +89,7 @@ IMP.request_pay( 인증결제창 호출 파라미터에서 **`customer_uid`** 값을 추가하면 비 인증 결제창을 호출할 수 있습니다. 비 인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "kicc", @@ -185,7 +185,7 @@ KICC는 **현금성 결제수단** (실시간 계좌이체, 가상계좌)에 한 - `quantity` : 수량 - `amount` : 상품 가격 -```javascript title="JavaScript SDK" +```ts title="JavaScript SDK" escrow: true, // 에스크로 결제인 경우 필요 kiccProducts: [ { @@ -207,7 +207,7 @@ kiccProducts: [ -```javascript title="javascript" +```ts title="javascript" card: { direct: { code: "367", @@ -232,7 +232,7 @@ card: { -```javascript title="javascript" +```ts title="javascript" card: { detail: [ { card_code: "*", enabled: false }, //모든 카드사 비활성화 @@ -246,11 +246,7 @@ card: { - **`card_code` :** 금융결제원 카드사 코드. [**링크**](https://faq.portone.io/6503bcb4-4a61-4cf3-afd8-5d913b1385a6) 참조 (**string)** - **`enabled` :** 해당카드 활성화 여부 (**boolean)** - + diff --git a/src/content/docs/ko/pg/payment-gateway/ksnet/readme.mdx b/src/content/docs/ko/pg/payment-gateway/ksnet/readme.mdx index ddced6de5..dd9656d0b 100644 --- a/src/content/docs/ko/pg/payment-gateway/ksnet/readme.mdx +++ b/src/content/docs/ko/pg/payment-gateway/ksnet/readme.mdx @@ -26,7 +26,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; KSNET 결제는 최신 SDK에서만 지원되는 기능입니다. -```javascript title="JS SDK" +```ts title="JS SDK" ``` @@ -69,7 +69,7 @@ KSNET 연동시에 사용되는 신규 JS SDK는 기존 모듈에서 제공했 -```javascript title="JavaScript SDK" +```ts title="JavaScript SDK" IMP.request_pay( { pg: "ksnet.{PG 상점 아이디}", // 테스트인 경우 ksnet.2999199999 @@ -255,7 +255,7 @@ curl -H "Content-Type: application/json" \ ## 4. 부가기능 -```javascript title="javascript" +```ts title="javascript" display: { card_quota: [6]; // 할부개월 6개월까지만 활성화 } @@ -272,8 +272,4 @@ display: { - + diff --git a/src/content/docs/ko/pg/payment-gateway/newtoss/readme.mdx b/src/content/docs/ko/pg/payment-gateway/newtoss/readme.mdx index aa082fd24..9802ca99a 100644 --- a/src/content/docs/ko/pg/payment-gateway/newtoss/readme.mdx +++ b/src/content/docs/ko/pg/payment-gateway/newtoss/readme.mdx @@ -5,9 +5,10 @@ description: 토스페이먼츠 (신모듈 / 2022-07-27 버전) 연동 방법을 import Figure from "~/components/Figure.astro"; import Details from "~/components/gitbook/Details.astro"; -import Hint from "~/components/Hint.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; +import Hint from "~/components/Hint.astro"; + import image1 from "../_assets/tosspayments/tosspayments1.webp"; import image2 from "../_assets/tosspayments/tosspayments2.png"; import image3 from "../_assets/tosspayments/tosspayments3.png"; @@ -24,12 +25,11 @@ import image4 from "../_assets/tosspayments/tosspayments4.png"; 토스페이먼츠 신모듈 결제는 최신 SDK에서만 지원되는 기능입니다. ```html title="JS SDK" - + ``` -**토스페이먼츠 신모듈을 연동하기 위해서는 위에 안내된 JS SDK를 이용하셔야 합니다** - + **토스페이먼츠 신모듈을 연동하기 위해서는 위에 안내된 JS SDK를 이용하셔야 합니다** [JavaScript SDK](../../../sdk/javascript-sdk/readme)문서를 통해 최신 SDK를 설치해주세요. @@ -43,336 +43,326 @@ import image4 from "../_assets/tosspayments/tosspayments4.png"; 토스페이먼츠 신 모듈을 기준으로 작성한 예시 코드는 아래와 같습니다. - - -```javascript showLineNumbers -const userCode = "고객사 식별코드"; -IMP.init(userCode); // 고객사 식별 코드를 넣어 모듈을 초기화해주세요. - -IMP.request_pay( - { - pg: "tosspayments", // 반드시 "tosspayments"임을 명시해주세요. - merchant_uid: "order_id_1667634130160", - name: "나이키 와플 트레이너 2 SD", - pay_method: "card", - escrow: false, - amount: "109000", - tax_free: 3000, - buyer_name: "홍길동", - buyer_email: "buyer@example.com", - buyer_tel: "02-1670-5176", - buyer_addr: "성수이로 20길 16", - buyer_postcode: "04783", - m_redirect_url: "https://helloworld.com/payments/result", // 모바일 환경에서 필수 입력 - notice_url: "https://helloworld.com/api/v1/payments/notice", - confirm_url: "https://helloworld.com/api/v1/payments/confirm", - currency: "KRW", - locale: "ko", - custom_data: { userId: 30930 }, - display: { card_quota: [0, 6] }, - appCard: false, - useCardPoint: true, - bypass: { - tosspayments: { - useInternationalCardOnly: true, // 영어 결제창 활성화 + + ```ts showLineNumbers + const userCode = "고객사 식별코드"; + IMP.init(userCode); // 고객사 식별 코드를 넣어 모듈을 초기화해주세요. + + IMP.request_pay( + { + pg: "tosspayments", // 반드시 "tosspayments"임을 명시해주세요. + merchant_uid: "order_id_1667634130160", + name: "나이키 와플 트레이너 2 SD", + pay_method: "card", + escrow: false, + amount: "109000", + tax_free: 3000, + buyer_name: "홍길동", + buyer_email: "buyer@example.com", + buyer_tel: "02-1670-5176", + buyer_addr: "성수이로 20길 16", + buyer_postcode: "04783", + m_redirect_url: "https://helloworld.com/payments/result", // 모바일 환경에서 필수 입력 + notice_url: "https://helloworld.com/api/v1/payments/notice", + confirm_url: "https://helloworld.com/api/v1/payments/confirm", + currency: "KRW", + locale: "ko", + custom_data: { userId: 30930 }, + display: { card_quota: [0, 6] }, + appCard: false, + useCardPoint: true, + bypass: { + tosspayments: { + useInternationalCardOnly: true, // 영어 결제창 활성화 + }, + }, }, - }, - }, - (response) => { - // PC 환경에서 결제 프로세스 완료 후 실행 될 로직 - } -); -``` - -
-

주요 파라미터 설명

- -**`pg` \*****string** - -**PG사 구분코드** + (response) => { + // PC 환경에서 결제 프로세스 완료 후 실행 될 로직 + }, + ); + ``` -_tosspayments_ 로 지정하면 됩니다. +
+

주요 파라미터 설명

-**`pay_method`** **string** + **`pg` \*****string** -- 카드 (card) -- 계좌이체(trans) -- 가상계좌(vbank) -- 휴대폰 소액결제(phone) -- 도서문화상품권(booknlife) -- 스마트문상(smartculture) -- 컬쳐랜드(cultureland) -- 카카오페이 (kakaopay) -- 네이버페이 (naverpay) -- 엘페이 (lpay) -- 삼성페이(samsung) -- SSGpay (ssgpay) -- 애플페이 (applepay) -- 페이코 (payco) -- 토스간편결제 (tosspay) + **PG사 구분코드** -**`merchant_uid`** **\*** **string** + _tosspayments_ 로 지정하면 됩니다. -**주문번호** + **`pay_method`** **string** -매번 고유하게 채번되어야 합니다. + - 카드 (card) + - 계좌이체(trans) + - 가상계좌(vbank) + - 휴대폰 소액결제(phone) + - 도서문화상품권(booknlife) + - 스마트문상(smartculture) + - 컬쳐랜드(cultureland) + - 카카오페이 (kakaopay) + - 네이버페이 (naverpay) + - 엘페이 (lpay) + - 삼성페이(samsung) + - SSGpay (ssgpay) + - 애플페이 (applepay) + - 페이코 (payco) + - 토스간편결제 (tosspay) -**`amount` \*****number** + **`merchant_uid`** **\*** **string** -**결제금액** + **주문번호** -**string** 이 아닌점에 유의하세요 + 매번 고유하게 채번되어야 합니다. -**`buyer_name`** **\*** **`string`** + **`amount` \*****number** -**`구매자 이름`** + **결제금액** -**`buyer_email`** **`string`** + **string** 이 아닌점에 유의하세요 -**`구매자 email 주소`** + **`buyer_name`** **\*** **`string`** -**`currency`** **`string`** + **`구매자 이름`** -**`통화구분코드`** + **`buyer_email`** **`string`** -**`appCard`** **`boolean`** + **`구매자 email 주소`** -카드 결제시, 카드 결제창에 앱카드만 선택 가능하도록 할지 여부 (기본값: **false**) + **`currency`** **`string`** -**`useCardPoint`** **`boolean`** + **`통화구분코드`** -카드 결제시, 카드 포인트 사용 허용할지 여부 + **`appCard`** **`boolean`** -
+ 카드 결제시, 카드 결제창에 앱카드만 선택 가능하도록 할지 여부 (기본값: **false**) -
-

기타 파라미터 설명

+ **`useCardPoint`** **`boolean`** -**`bypass`** **object** + 카드 결제시, 카드 포인트 사용 허용할지 여부 +
-**`isCulturalExpense`** **boolean** +
+

기타 파라미터 설명

-문화비 지출여부 + **`bypass`** **object** -**`useInternationalCardOnly`** **boolean** + **`isCulturalExpense`** **boolean** -해외카드(Visa, MasterCard, UnionPay) 결제 여부입니다. 값이 `true`면 해외카드 결제가 가능한 영문 결제창이 열립니다. + 문화비 지출여부 -**`cashReceiptType`** **string** + **`useInternationalCardOnly`** **boolean** -현금성 결제(계좌이체, 가상계좌)창에서 선택할 수 있는 현금영수증 발급 유형 (기본값: 결제창에서 선택 가능) + 해외카드(Visa, MasterCard, UnionPay) 결제 여부입니다. 값이 `true`면 해외카드 결제가 가능한 영문 결제창이 열립니다. -- anonymous (미발행, 자진발급) -- personal (소득공제) -- corporate (지출증빙) + **`cashReceiptType`** **string** -```javascript -{ - pay_method: 'trans', - bypass: { - isCulturalExpense: true, - cashReceiptType: 'personal' - } -} -``` + 현금성 결제(계좌이체, 가상계좌)창에서 선택할 수 있는 현금영수증 발급 유형 (기본값: 결제창에서 선택 가능) -
- - - - -인증결제창 호출 파라미터에서 **customer\_uid** 값을 추가하면 비 인증 결제창을 호출할 수 있습니다. 비 인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "tosspayments.{MID}", - pay_method: "card", // 'card'만 지원됩니다. - merchant_uid: "order_monthly_0001", // 상점에서 관리하는 주문 번호 - name: "최초인증결제", - amount: 0, // 실제 승인은 발생되지 않고 오직 빌링키만 발급됩니다. - customer_uid: "your-customer-unique-id", // 필수 입력. - buyer_email: "test@portone.io", - buyer_name: "포트원", - buyer_tel: "02-1234-1234", - m_redirect_url: "{모바일에서 결제 완료 후 리디렉션 될 URL}", - customer_id: "matthew", //고객사가 회원에게 부여한 고유 ID - }, - function (rsp) { - // callback 로직 - } -); -``` + - anonymous (미발행, 자진발급) + - personal (소득공제) + - corporate (지출증빙) - -- 비인증 결제를 위해서는 **토스페이먼츠로 부터 발급받은 MID정보**를 포트원 관리자콘솔에 설정하셔야 비 인증 결제창을 활성화 시킬수 있습니다. -- 빌링키 발급시 **실 결제는 발생되지 않습니다**.(금액을 지정해도 결제가 발생되지 않음) + ```json + { + "pay_method": "trans", + "bypass": { + "isCulturalExpense": true, + "cashReceiptType": "personal" + } + } + ``` +
+
- + + 인증결제창 호출 파라미터에서 **customer\_uid** 값을 추가하면 비 인증 결제창을 호출할 수 있습니다. 비 인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. -**주요 파라미터 설명** + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "tosspayments.{MID}", + pay_method: "card", // 'card'만 지원됩니다. + merchant_uid: "order_monthly_0001", // 상점에서 관리하는 주문 번호 + name: "최초인증결제", + amount: 0, // 실제 승인은 발생되지 않고 오직 빌링키만 발급됩니다. + customer_uid: "your-customer-unique-id", // 필수 입력. + buyer_email: "test@portone.io", + buyer_name: "포트원", + buyer_tel: "02-1234-1234", + m_redirect_url: "{모바일에서 결제 완료 후 리디렉션 될 URL}", + customer_id: "matthew", //고객사가 회원에게 부여한 고유 ID + }, + function (rsp) { + // callback 로직 + }, + ); + ``` -**`pg` \*****string** + + - 비인증 결제를 위해서는 **토스페이먼츠로 부터 발급받은 MID정보**를 포트원 관리자콘솔에 설정하셔야 비 인증 결제창을 활성화 시킬수 있습니다. + - 빌링키 발급시 **실 결제는 발생되지 않습니다**.(금액을 지정해도 결제가 발생되지 않음) + -**PG사 구분코드** + **주요 파라미터 설명** -**`tosspayments`** 로 지정하면 됩니다. + **`pg` \*****string** -**`customer_uid` \*****string** + **PG사 구분코드** -**카드 빌링키** + **`tosspayments`** 로 지정하면 됩니다. -비 인증 결제창에서 고객이 입력한 카드정보와 1:1로 매칭될 빌링키를 지정합니다. + **`customer_uid` \*****string** -**`amount` \*****number** + **카드 빌링키** -**결제금액** + 비 인증 결제창에서 고객이 입력한 카드정보와 1:1로 매칭될 빌링키를 지정합니다. -결제창에 표시될 금액으로 실제 승인은 이루어지지 않습니다.(실 결제를 발생시키기 위해서는 **customer_uid** 로 **REST API 를 이용하여 결제요청**을 해주셔야 합니다.) + **`amount` \*****number** -**`customer_id`** **`string`** + **결제금액** -**`구매자 식별자`** + 결제창에 표시될 금액으로 실제 승인은 이루어지지 않습니다.(실 결제를 발생시키기 위해서는 **customer\_uid** 로 **REST API 를 이용하여 결제요청**을 해주셔야 합니다.) -빌링키를 발급한 고객의 고유 ID 를 지정합니다.(회원ID) 해당 값 설정시 빌링키와 고객을 맵핑할 수 있습니다. 누락시 포트원에서 임의의 값을 설정합니다. + **`customer_id`** **`string`** -**빌링키(customer_uid)로 결제 요청하기** + **`구매자 식별자`** -빌링키 발급이 성공하면 실 빌링키는 customer_uid 와 1:1 매칭되어 **포트원 서버에 저장**됩니다. customer_uid를 고객사 내부서버에 저장하시고 [**비 인증 결제요청 REST API**](../../../api/api-4/api)를 호출하시면 결제를 발생시킬 수 있습니다. + 빌링키를 발급한 고객의 고유 ID 를 지정합니다.(회원ID) 해당 값 설정시 빌링키와 고객을 맵핑할 수 있습니다. 누락시 포트원에서 임의의 값을 설정합니다. -```sh title="server-side" -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + **빌링키(customer\_uid)로 결제 요청하기** - + 빌링키 발급이 성공하면 실 빌링키는 customer\_uid 와 1:1 매칭되어 **포트원 서버에 저장**됩니다. customer\_uid를 고객사 내부서버에 저장하시고 [**비 인증 결제요청 REST API**](../../../api/api-4/api)를 호출하시면 결제를 발생시킬 수 있습니다. - -**API 방식으로 빌링키 발급,결제요청,예약결제를 구현할수 있습니다.** - - -**MID 발급시 주의사항** + ```sh title="server-side" + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` + -토스페이먼츠로 부터 MID 발급시 **API version** 은 반드시 **1.4** 이어야 합니다. + + **API 방식으로 빌링키 발급,결제요청,예약결제를 구현할수 있습니다.** - + + **MID 발급시 주의사항** -**일회성 결제 요청하기** + 토스페이먼츠로 부터 MID 발급시 **API version** 은 반드시 **1.4** 이어야 합니다. + -REST[ **API POST /subscribe/payments/onetime**](../../../api/api-4/api-1)을 호출하여 일회성 결제를 요청합니다. 요청 시 전달된 카드는 포트원에 등록되지 않습니다. + **일회성 결제 요청하기** -```sh -curl -H "Content-Type: application/json" \ - -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + [**REST API POST /subscribe/payments/onetime**](../../../api/api-4/api-1)을 호출하여 일회성 결제를 요청합니다. 요청 시 전달된 카드는 포트원에 등록되지 않습니다. -**빌링키 발급 요청하기** + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -REST [**API POST /subscribe/customers/\{customer_uid}**](../../../api/api-2/api-1)를 호출하여 빌링키 발급을 요청합니다. + **빌링키 발급 요청하기** -```sh -curl -H "Content-Type: application/json" \ - -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ - https://api.iamport.kr/subscribe/customers/your-customer-unique-id -``` + REST [**API POST /subscribe/customers/\{customer\_uid}**](../../../api/api-2/api-1)를 호출하여 빌링키 발급을 요청합니다. -**빌링키 발급 및 최초 결제 요청하기** + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"card_number":"1234-1234-1234-1234", "expiry":"2025-12", "birth":"820213", "pwd_2digit":"00"}' \ + https://api.iamport.kr/subscribe/customers/your-customer-unique-id + ``` -REST [**API POST /subscribe/payments/onetime**](../../../api/api-4/api-1)을 호출하여 빌링키 발급과 최초 결제를 요청합니다. + **빌링키 발급 및 최초 결제 요청하기** -- **`customer_uid`** : 빌링키 등록을 위해서 지정해야 합니다. + REST [**API POST /subscribe/payments/onetime**](../../../api/api-4/api-1)을 호출하여 빌링키 발급과 최초 결제를 요청합니다. -```sh -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/onetime -``` + - **`customer_uid`** : 빌링키 등록을 위해서 지정해야 합니다. -**빌링키로 결제 요청하기** + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "card_number":"1234-1234-1234-1234", "expiry":"2019-01", "birth":"123456", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/onetime + ``` -빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서 재결제([**POST /subscribe/payments/again**](../../../api/api-4/api)) REST API를 다음과 같이 호출합니다. + **빌링키로 결제 요청하기** -```sh -curl -H "Content-Type: application/json" \ - -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ - https://api.iamport.kr/subscribe/payments/again -``` + 빌링키 발급과 최초 결제가 성공하면 빌링키는 전달된 `customer_uid` 와 1:1 매칭되어 포트원에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 `customer_uid`를 이용해서 재결제([**POST /subscribe/payments/again**](../../../api/api-4/api)) REST API를 다음과 같이 호출합니다. - + ```sh + curl -H "Content-Type: application/json" \ + -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \ + https://api.iamport.kr/subscribe/payments/again + ``` +
## 4. 부가기능 - - -```javascript title="javascript" -display: { - card_quota: [6], // 할부개월 6개월만 활성화 - only_installment: true // 일시불 항목은 제외 -} -``` - -**파라미터 설명** - -- **card_quota :** - -\- 지정한 숫자에 해당하는 할부개월수만 표기 - -\- `[]`: 일시불만 결제 가능 + + ```json title="javascript" + { + "display": { + "card_quota": [6], // 할부개월 6개월만 활성화 + "only_installment": true // 일시불 항목은 제외 + } + } + ``` -\- `2,3,4,5,6`: 일시불을 포함한 2, 3, 4, 5, 6개월까지 할부개월 선택 가능\\ + **파라미터 설명** -- **`only_installment` : `true`** 인 경우 `card_quota` 에 설정한 할부개월수만 표시 + - **card\_quota :** - -할부결제는 **5만원 이상 결제 요청시**에만 이용 가능합니다. - - + \- 지정한 숫자에 해당하는 할부개월수만 표기 - + \- `[]`: 일시불만 결제 가능 - -```javascript title="javascript" -card: { - direct: { - code: "367", - quota: 3 - } -} -``` + \- `2,3,4,5,6`: 일시불을 포함한 2, 3, 4, 5, 6개월까지 할부개월 선택 가능\\ -**파라미터 설명** + - **`only_installment` : `true`** 인 경우 `card_quota` 에 설정한 할부개월수만 표시 -- **`code`** : 카드사 금융결제원 표준 코드. [**링크**](https://faq.portone.io/6503bcb4-4a61-4cf3-afd8-5d913b1385a6) 참조 (**string**) -- **`quota`** : 할부 개월 수. 일시불일 시 0 으로 지정. (**number**) + + 할부결제는 **5만원 이상 결제 요청시**에만 이용 가능합니다. + + - + + ```json title="javascript" + { + "card": { + "direct": { + "code": "367", + "quota": 3 + } + } + } + ``` - + **파라미터 설명** -토스페이먼츠 고정식 가상계좌 발급 서비스를 이용하기 위해서는 **토스페이먼츠 측과 협의**를 통해 결제에 이용하는 MID에 고정식 가상계좌 설정이 반드시 선행되어야 합니다. + - **`code`** : 카드사 금융결제원 표준 코드. [**링크**](https://faq.portone.io/6503bcb4-4a61-4cf3-afd8-5d913b1385a6) 참조 (**string**) + - **`quota`** : 할부 개월 수. 일시불일 시 0 으로 지정. (**number**) + -해당 설정이 완료되면 두가지 방식으로 고정식 가상계좌를 발급할 수 있습니다. + + 토스페이먼츠 고정식 가상계좌 발급 서비스를 이용하기 위해서는 **토스페이먼츠 측과 협의**를 통해 결제에 이용하는 MID에 고정식 가상계좌 설정이 반드시 선행되어야 합니다. -- [API 방식](../../../api/api-9/api) -- 결제창 방식 + 해당 설정이 완료되면 두가지 방식으로 고정식 가상계좌를 발급할 수 있습니다. -두 방식 모두 **고유식별번호**가 유입되어야 하며 해당 값은 각 고객을 특정할수 있는 고유값이어야 합니다. + - [API 방식](../../../api/api-9/api) + - 결제창 방식 -결제창 방식을 이용하기 위해서 고객에게 사전에 해당 고유식별번호가 안내되어야 하며 가상계좌 발급단계에서 아래 첨부이미지처럼 고유식별번호 란에 해당 값이 유입되어야 합니다. + 두 방식 모두 **고유식별번호**가 유입되어야 하며 해당 값은 각 고객을 특정할수 있는 고유값이어야 합니다. -
+ 결제창 방식을 이용하기 위해서 고객에게 사전에 해당 고유식별번호가 안내되어야 하며 가상계좌 발급단계에서 아래 첨부이미지처럼 고유식별번호 란에 해당 값이 유입되어야 합니다. -API 방식 또한 `vbank_key` 파라미터가 고유식별번호에 대응되는 값으로 API방식은 고객사에서 직접 해당 값을 기재해서 호출할수 있기 때문에 고객 편의차원에서 훨씬 간편한 고정식 가상계좌 서비스를 제공할수 있습니다. +
-고정식 가상계좌 발급이 정상적으로 이루어지면 아래와 같이 고객휴대폰 번호로 SMS가 발송되며 고객은 해당 정보를 보고 입금을 할수 있습니다.(비용: 무료) + API 방식 또한 `vbank_key` 파라미터가 고유식별번호에 대응되는 값으로 API방식은 고객사에서 직접 해당 값을 기재해서 호출할수 있기 때문에 고객 편의차원에서 훨씬 간편한 고정식 가상계좌 서비스를 제공할수 있습니다. -
+ 고정식 가상계좌 발급이 정상적으로 이루어지면 아래와 같이 고객휴대폰 번호로 SMS가 발송되며 고객은 해당 정보를 보고 입금을 할수 있습니다.(비용: 무료) - +
+ ## 5. 사용가능 기능 @@ -385,45 +375,41 @@ API 방식 또한 `vbank_key` 파라미터가 고유식별번호에 대응되는 - [현금영수증 발급(외부) API](../../../api/api-8/api-5) + **기존에 deprecated된 응답들은 모두 제거됐습니다. ⚠️** -**기존에 deprecated된 응답들은 모두 제거됐습니다. ⚠️** - -신 토스페이먼츠 모듈 연동시에 사용되는 신규 JS SDK는 기존 모듈에서 제공했던 CallBack 파라미터가 대부분 삭제되었습니다.(특히 deprecated 로 명시된 파라미터는 모두 삭제되었습니다.) - -해당 JS SDK 사용시 Callback 으로 내려받을수 있는 데이터는 오직 아래 두가지 입니다. + 신 토스페이먼츠 모듈 연동시에 사용되는 신규 JS SDK는 기존 모듈에서 제공했던 CallBack 파라미터가 대부분 삭제되었습니다.(특히 deprecated 로 명시된 파라미터는 모두 삭제되었습니다.) -**`imp_uid`, `merchant_uid`** + 해당 JS SDK 사용시 Callback 으로 내려받을수 있는 데이터는 오직 아래 두가지 입니다. -따라서 해당 SDK를 사용하실때는 `IMP.request_pay()`로부터 응답된 객체(또는 쿼리 파라미터)에서 `imp_uid`를 가지고 **아임포트 REST API(GET `/payments/imp_uid`)로 결제 상세 내역(승인 상태, 승인 결과 등등)을 조회**하여 응답 파라미터 중 status 파라미터로 결제 상태를 파악하셔야 합니다. + **`imp_uid`, `merchant_uid`** + 따라서 해당 SDK를 사용하실때는 `IMP.request_pay()`로부터 응답된 객체(또는 쿼리 파라미터)에서 `imp_uid`를 가지고 **아임포트 REST API(GET `/payments/imp_uid`)로 결제 상세 내역(승인 상태, 승인 결과 등등)을 조회**하여 응답 파라미터 중 status 파라미터로 결제 상태를 파악하셔야 합니다. + ```html + + ``` -```html - -``` - -위 JS SDK 를 이용하여 토스페이먼츠,케이에스넷 연동시 callback Data는 -아래와 같이 두가지 형태로만 내려갑니다. - -- `imp_uid` -- `merchant_uid` + 위 JS SDK 를 이용하여 토스페이먼츠,케이에스넷 연동시 callback Data는 + 아래와 같이 두가지 형태로만 내려갑니다. -위 PG사를 제외한 다른 PG사는 `imp_success` 파라미터가 기존처럼 내려가지만 -해당 파리미터는 deprecated 된 값이기 때문에 해당 값에 의존성을 가진 프로그램 로직은 모두 삭제하시는 -방향성을 잡아가셔야 하는점 유념하시기 바랍니다. + - `imp_uid` + - `merchant_uid` + 위 PG사를 제외한 다른 PG사는 `imp_success` 파라미터가 기존처럼 내려가지만 + 해당 파리미터는 deprecated 된 값이기 때문에 해당 값에 의존성을 가진 프로그램 로직은 모두 삭제하시는 + 방향성을 잡아가셔야 하는점 유념하시기 바랍니다. -**토스페이먼츠 API 버전 설정** + **토스페이먼츠 API 버전 설정** -- [토스페이먼츠 개발자센터](https://app.tosspayments.com/signin?redirectUrl=https%3A%2F%2Fdevelopers.tosspayments.com%2Fmy%2Fapi-keys) 로그인 -- 왼쪽 네비게이션 메뉴 API 키 선택 → API 버전을 **2022-07-27**로 선택 + - [토스페이먼츠 개발자센터](https://app.tosspayments.com/signin?redirectUrl=https%3A%2F%2Fdevelopers.tosspayments.com%2Fmy%2Fapi-keys) 로그인 - API 버전을 다르게 설정하면 결제 승인 / 실패 시 실제 응답과 다른 응답을 받아볼 수 있으니 **반드시 API 버전을 2022-07-27로** 맞춰주시기 바랍니다 + - 왼쪽 네비게이션 메뉴 API 키 선택 → API 버전을 **2022-07-27**로 선택 -
+ API 버전을 다르게 설정하면 결제 승인 / 실패 시 실제 응답과 다른 응답을 받아볼 수 있으니 **반드시 API 버전을 2022-07-27로** 맞춰주시기 바랍니다 +
diff --git a/src/content/docs/ko/pg/payment-gateway/newtoss/warning.mdx b/src/content/docs/ko/pg/payment-gateway/newtoss/warning.mdx index 2d90947e6..2aef4569b 100644 --- a/src/content/docs/ko/pg/payment-gateway/newtoss/warning.mdx +++ b/src/content/docs/ko/pg/payment-gateway/newtoss/warning.mdx @@ -40,7 +40,7 @@ display.card_quota 파라미터로 결제창에 렌더링 될 할부 개월수 - 예1. 일시불만 허용 - ```jsx + ```tsx display: { card_quota: [0]; } @@ -48,7 +48,7 @@ display.card_quota 파라미터로 결제창에 렌더링 될 할부 개월수 - 예2. 5개월만 허용 - ```jsx + ```tsx display: { card_quota: [5]; } @@ -56,7 +56,7 @@ display.card_quota 파라미터로 결제창에 렌더링 될 할부 개월수 - 예3. \[토스페이먼츠] 일시불 \~ 5개월까지 허용 - ```jsx + ```tsx display: { card_quota: [3, 5]; // 3과 5 중에 최대값이 5이기 때문에 일시불 ~ 5개월까지 모두 렌더링 된다 } @@ -64,7 +64,7 @@ display.card_quota 파라미터로 결제창에 렌더링 될 할부 개월수 - 예3. \[타 PG사] 일시불 \~ 5개월까지 허용 - ```jsx + ```tsx display: { card_quota: [0, 1, 2, 3, 4, 5]; } @@ -139,7 +139,7 @@ display.card_quota 파라미터로 결제창에 렌더링 될 할부 개월수 - 예1. 현대카드 다이렉트 호출 → 무조건 일시불로 결제 됨 - ```jsx + ```tsx card: { direct: { code: "367"; @@ -149,7 +149,7 @@ display.card_quota 파라미터로 결제창에 렌더링 될 할부 개월수 - 예2. 삼성카드 다이렉트 호출 + 5개월 고정 할부 개월수 지정 → 5개월 할부 적용 - ```jsx + ```tsx { card: { direct: { @@ -176,7 +176,7 @@ display.card_quota 파라미터로 결제창에 렌더링 될 할부 개월수
-```javascript +```ts card: { direct: { code: '361', @@ -240,7 +240,7 @@ card: { - 예. 네이버페이 - 5개월 고정 할부 설정시, 일시불과 5개월 할부 모두 선택 가능 - ```jsx + ```tsx { pay_method: 'naverpay', display: { diff --git a/src/content/docs/ko/pg/payment-gateway/nhn-kcp.mdx b/src/content/docs/ko/pg/payment-gateway/nhn-kcp.mdx index 35f6d4263..3b5ec2e7f 100644 --- a/src/content/docs/ko/pg/payment-gateway/nhn-kcp.mdx +++ b/src/content/docs/ko/pg/payment-gateway/nhn-kcp.mdx @@ -25,7 +25,7 @@ KCP 결제창을 호출할 수 있습니다. **결제결과**는 PC의 경우 `I -```javascript +```ts IMP.request_pay({ pg : 'kcp.{사이트코드}', //테스트인경우 kcp.T0000 pay_method : 'card', @@ -102,7 +102,7 @@ IMP.request_pay({ 인증결제창 호출 파라미터에서 **customer\_uid** 값을 추가하면 비 인증 결제창을 호출할 수 있습니다. 비인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. -```javascript title="Javascript SDK" showLineNumbers +```ts title="Javascript SDK" showLineNumbers IMP.request_pay( { pg: "kcp_billing.{사이트코드}", @@ -222,7 +222,7 @@ curl -H "Content-Type: application/json" \ -```javascript title="javascript" +```ts title="javascript" display: { card_quota: [6] // 할부개월 6개월까지만 활성화 } @@ -246,7 +246,7 @@ display: { -```javascript title="javascript" +```ts title="javascript" { card: { direct: { @@ -379,7 +379,7 @@ display: { -```javascript +```ts { card: { detail: [ @@ -404,7 +404,7 @@ display: { 인증결제시 각 카드사 앱카드 결제 화면만 노출하고 싶은 경우 아래 파라미터를 설정하시면 됩니다. -```javascript title="request_pay()" +```ts title="request_pay()" { appCard: true; //true 설정시 각 카드사 앱카드 결제만 활성화 } @@ -419,7 +419,7 @@ display: { **상품권 결제수단**을 사용하기 위해서는 고객사에서 관리하는 회원ID를 아래와 같은 방법으로 파라미터 설정이 필요합니다. -```javascript title="javascript SDK" +```ts title="javascript SDK" { bypass: { shop_user_id: "ABCD123"; // 고객사 회원ID (20byte) @@ -434,7 +434,7 @@ display: { **컬처랜드 문화 상품권을 호출하는 경우** -```javascript +```ts IMP.request_pay({ pg: "kcp.{문화상품권 대상 사이트코드}", pay_method: "cultureland", //문화상품권 @@ -456,7 +456,7 @@ IMP.request_pay({ 에스크로 결제를 위해서는 **`escrow`** 파라미터를 추가하고 **true** 값으로 설정되어야 합니다. 에스크로 결제요청 시 **장바구니 상품을 묶어서 결제하는 경우** 해당 품목에 대한 정보를 전달하기 위해 해당 상품관련 정보를 추가 파라미터(**`kcpProducts`**)로 전달해야 합니다.\ -\*\*`kcpProducts`\*\*는 다음 4개의 필수 속성으로 구성된 객체배열입니다. +**`kcpProducts`**는 다음 4개의 필수 속성으로 구성된 객체배열입니다. **`amount`** 값은 결제 금액(`param.amount`) 값과 관계가 없으며 비교검증되지 않습니다. @@ -465,7 +465,7 @@ IMP.request_pay({ - quantity : 수량 - amount : 상품 가격 -```javascript title="JavaScript SDK" +```ts title="JavaScript SDK" IMP.request_pay({ pg: "kcp", escrow: true, // 에스크로 결제인 경우 필요 @@ -490,7 +490,7 @@ IMP.request_pay({ -```javascript title="request_pay()" +```ts title="request_pay()" { prefill: { phoneNumber: "고정할 휴대폰번호" @@ -503,7 +503,7 @@ IMP.request_pay({ -```javascript +```ts IMP.request_pay({ ... bypass: { @@ -519,7 +519,7 @@ IMP.request_pay({ -```javascript +```ts IMP.request_pay({ ... bypass : { diff --git a/src/content/docs/ko/pg/payment-gateway/nice-v2/billing-api-caution.mdx b/src/content/docs/ko/pg/payment-gateway/nice-v2/billing-api-caution.mdx index 195b527d1..95fb706e9 100644 --- a/src/content/docs/ko/pg/payment-gateway/nice-v2/billing-api-caution.mdx +++ b/src/content/docs/ko/pg/payment-gateway/nice-v2/billing-api-caution.mdx @@ -98,7 +98,7 @@ API로 현금영수증 발급(`POST /receipts/{imp_uid}`)시 발급 받을 현

[가능] 사업자 등록번호로 지출증빙용 현금영수증 발급

-```javascript +```ts // POST /receipts/{imp_uid} { @@ -114,7 +114,7 @@ API로 현금영수증 발급(`POST /receipts/{imp_uid}`)시 발급 받을 현

[가능] 휴대폰 번호로 소득공제용 현금영수증 발급

-```javascript +```ts // POST /receipts/{imp_uid} { @@ -130,7 +130,7 @@ API로 현금영수증 발급(`POST /receipts/{imp_uid}`)시 발급 받을 현

[가능] 주민등록번호로 소득공제용 현금영수증 발급

-```javascript +```ts // POST /receipts/{imp_uid} { @@ -146,7 +146,7 @@ API로 현금영수증 발급(`POST /receipts/{imp_uid}`)시 발급 받을 현

[불가능] 현금영수증 카드번호로 소득공제용 현금영수증 발급

-```javascript +```ts // POST /receipts/{imp_uid} { diff --git a/src/content/docs/ko/pg/payment-gateway/nice-v2/payment-caution.mdx b/src/content/docs/ko/pg/payment-gateway/nice-v2/payment-caution.mdx index d2eae66c7..689fff2c3 100644 --- a/src/content/docs/ko/pg/payment-gateway/nice-v2/payment-caution.mdx +++ b/src/content/docs/ko/pg/payment-gateway/nice-v2/payment-caution.mdx @@ -32,7 +32,7 @@ import Figure from "~/components/Figure.astro";

BC 카드 다이렉트 호출 + 5개월 고정 할부

-```javascript +```ts IMP.request_pay( { // ...중략 @@ -55,7 +55,7 @@ IMP.request_pay(

삼성 카드 다이렉트 호출 + 일시불

-```javascript +```ts IMP.request_pay( { // ...중략 @@ -84,7 +84,7 @@ IMP.request_pay(

모바일 환경에서 리스트 할부 개월수만 전달 → 전달한 파라미터가 무시되고 모든 할부 개월수 렌더링

-```javascript +```ts IMP.request_pay( { // ...중략 @@ -105,7 +105,7 @@ import screenshot1 from "./_assets/caution/only-list-installment-on-mobile.png";

모바일 환경에서 3개월 고정 할부 개월수만 전달 → 전달한 파라미터가 무시되고 모든 할부 개월수 렌더링

-```javascript +```ts // ...중략 IMP.request_pay( { @@ -157,7 +157,7 @@ IMP.request_pay(

자세히 보기

-```javascript +```ts IMP.request_pay( { // ...중략 @@ -206,7 +206,7 @@ import screenshot2 from "./_assets/caution/escrow-trans.png";

결제내역 조회 API 호출 결과

-```javascript +```ts // GET /payments/{imp_uid} { // ...중략 @@ -301,7 +301,7 @@ SSGPAY 은행 계좌 거래는 현금성 결제로 현금영수증 발급이 가

파라미터 예시

-```javascript +```ts IMP.request_pay({ // ...중략 pg: "nice_v2", @@ -322,7 +322,7 @@ SSGPAY 은행 계좌 결제 시 현금영수증 발급 정보를 입력하여

결제내역 조회 API 호출 결과

-```javascript +```ts // GET /payments/{imp_uid} { @@ -340,7 +340,7 @@ SSGPAY 은행 계좌 결제 시 현금영수증 발급 정보를 입력하여

현금영수증 발급 내역 조회 API 호출 결과

-```javascript +```ts // GET /receipts/{imp_uid} { @@ -375,7 +375,7 @@ import screenshot3 from "./_assets/caution/receipts-list-on-v1-console.png";

파라미터 예시

-```javascript +```ts IMP.request_pay( { // ...중략 diff --git a/src/content/docs/ko/pg/payment-gateway/nice-v2/readme.mdx b/src/content/docs/ko/pg/payment-gateway/nice-v2/readme.mdx index 309ec1889..cc756ac9e 100644 --- a/src/content/docs/ko/pg/payment-gateway/nice-v2/readme.mdx +++ b/src/content/docs/ko/pg/payment-gateway/nice-v2/readme.mdx @@ -3,14 +3,13 @@ title: 나이스페이먼츠 (신모듈) description: 나이스페이먼츠 연동 방법을 안내합니다. --- -import * as prose from "~/components/prose"; import Details from "~/components/gitbook/Details.astro"; import Hint from "~/components/Hint.astro"; +import * as prose from "~/components/prose"; export const components = prose; -import Figure from "~/components/Figure.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## 1. 나이스페이먼츠(신모듈) 채널 설정하기 @@ -20,14 +19,23 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; 그렇지 않은 상태에서 해당 기능 이용시 PG창 호출에 실패하거나, 승인에 실패하거나, 승인에 성공하더라도 의도한 바와는 다른 응답을 얻게 될 수 있으니 주의 해주시기 바랍니다. - 모든 결제 수단(간편결제 포함) + - 면세 / 복합과세 사용 + - 부가세 지정 금액 방식 사용(영세율 포함) + - 부분 취소 + - 할부 사용 + - 상점 부담 무이자 할부 사용 + - 카드사 포인트 사용 + - 에스크로 사용 + - 해외 결제 사용 + - 일부 bypass 파라미터 - UserCI - MallUserID @@ -48,19 +56,18 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -#### **기존에 deprecated된 콜백 응답은 모두 제거**됐습니다. - -신규 JS SDK는 기존 모듈에서 제공했던 CallBack 응답 파라미터가 대부분 삭제되었습니다. -(특히 deprecated 로 명시된 파라미터는 모두 삭제되었습니다.) + ## **기존에 deprecated된 콜백 응답은 모두 제거**됐습니다. -해당 JS SDK 사용시 Callback 으로 내려받을수 있는 데이터는 오직 아래 두가지 입니다. + 신규 JS SDK는 기존 모듈에서 제공했던 CallBack 응답 파라미터가 대부분 삭제되었습니다. + (특히 deprecated 로 명시된 파라미터는 모두 삭제되었습니다.) -**`imp_uid`, `merchant_uid`** + 해당 JS SDK 사용시 Callback 으로 내려받을수 있는 데이터는 오직 아래 두가지 입니다. -따라서 해당 SDK를 사용하실때는 `IMP.request_pay`로부터 응답된 객체(또는 쿼리 파라미터)에서 -`imp_uid`를 가지고 **아임포트 REST API(GET `/payments/imp_uid`)로 결제 상세 내역(승인 상태, 승인 결과 등등)을 조회**하여 -응답 파라미터 중 `status` 파라미터로 결제 상태를 파악하셔야 합니다. + **`imp_uid`, `merchant_uid`** + 따라서 해당 SDK를 사용하실때는 `IMP.request_pay`로부터 응답된 객체(또는 쿼리 파라미터)에서 + `imp_uid`를 가지고 **아임포트 REST API(GET `/payments/imp_uid`)로 결제 상세 내역(승인 상태, 승인 결과 등등)을 조회**하여 + 응답 파라미터 중 `status` 파라미터로 결제 상태를 파악하셔야 합니다. [JavaScript SDK](../../../sdk/javascript-sdk/readme) 문서를 통해 최신 SDK를 설치해주세요. @@ -70,131 +77,126 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; [JavaScript SDK](../../../sdk/javascript-sdk/readme) `IMP.request_pay(param, callback)`을 호출하여 (신) 나이스페이먼츠 결제창을 호출할 수 있습니다. **결제 결과**는 PC의 경우 `IMP.request_pay(param, callback)` 호출 후 **callback**으로 수신되고 모바일의 경우 -**m_redirect_url** 로 리디렉션됩니다. +**m\_redirect\_url** 로 리디렉션됩니다. - -```javascript title="Javascript SDK" -IMP.request_pay( - { - pg: "nice_v2.{상점 ID}", - pay_method: "card", - merchant_uid: "orderNo0001", - name: "주문명:결제테스트", - amount: 1004, - buyer_email: "test@portone.io", - buyer_name: "구매자이름", - buyer_tel: "010-1234-5678", - buyer_addr: "서울특별시 강남구 삼성동", - buyer_postcode: "123-456", - m_redirect_url: "{모바일에서 결제 완료 후 리디렉션 될 URL}", - }, - function (rsp) { - // callback 로직 - } -); -``` - -
-

주요 파라미터 설명

- -**`pg` \*****string** + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "nice_v2.{상점 ID}", + pay_method: "card", + merchant_uid: "orderNo0001", + name: "주문명:결제테스트", + amount: 1004, + buyer_email: "test@portone.io", + buyer_name: "구매자이름", + buyer_tel: "010-1234-5678", + buyer_addr: "서울특별시 강남구 삼성동", + buyer_postcode: "123-456", + m_redirect_url: "{모바일에서 결제 완료 후 리디렉션 될 URL}", + }, + function (rsp) { + // callback 로직 + }, + ); + ``` -**PG사 구분코드** +
+

주요 파라미터 설명

-`nice_v2` 로 지정하면 됩니다. + **`pg` \*****string** -**`pay_method`** **\*** **string** + **PG사 구분코드** -**결제수단 구분코드** + `nice_v2` 로 지정하면 됩니다. -- card (신용카드) -- trans (실시간 계좌이체) -- vbank (가상계좌) -- phone (휴대폰소액결제) -- cultureland (컬쳐랜드) -- naverpay_card (네이버페이 - 카드) -- naverpay_point (네이버페이 - 포인트) -- kakaopay (카카오페이) -- payco (페이코) -- samsungpay (삼성페이) -- skpay (11Pay (구.SKPay)) -- ssgpay (SSGPAY) -- ssgpay_bank (SSGPAY 은행계좌) -- lpay (LPAY) -- applepay (애플페이) + **`pay_method`** **\*** **string** -**`merchant_uid`** **\*** **string** + **결제수단 구분코드** -**주문번호** + - card (신용카드) + - trans (실시간 계좌이체) + - vbank (가상계좌) + - phone (휴대폰소액결제) + - cultureland (컬쳐랜드) + - naverpay\_card (네이버페이 - 카드) + - naverpay\_point (네이버페이 - 포인트) + - kakaopay (카카오페이) + - payco (페이코) + - samsungpay (삼성페이) + - skpay (11Pay (구.SKPay)) + - ssgpay (SSGPAY) + - ssgpay\_bank (SSGPAY 은행계좌) + - lpay (LPAY) + - applepay (애플페이) -매번 고유하게 채번되어야 합니다. + **`merchant_uid`** **\*** **string** -**`amount`** **\*** **`integer`** + **주문번호** -**결제금액** + 매번 고유하게 채번되어야 합니다. -소수점 두번째 자리까지 허용합니다. + **`amount`** **\*** **`integer`** -**`buyer_tel`** **\*** **string** + **결제금액** -**구매자 전화번호** + 소수점 두번째 자리까지 허용합니다. -**`vbank_due`** **\*** **string** + **`buyer_tel`** **\*** **string** -**가상계좌 입금기한 (YYYY-MM-DD)** + **구매자 전화번호** -(신) 나이스페이먼츠의 경우 필수 입력이며 날짜는 무조건 23:59:59로 설정 됨 + **`vbank_due`** **\*** **string** -**`escrow`** **\*** **boolean** + **가상계좌 입금기한 (YYYY-MM-DD)** -**에스크로 결제 여부** + (신) 나이스페이먼츠의 경우 필수 입력이며 날짜는 무조건 23:59:59로 설정 됨 -**`period`** **\*** **array** + **`escrow`** **\*** **boolean** -**서비스 제공 기간** + **에스크로 결제 여부** -날짜만 입력이 가능하며(시간은 무시) 시작 날짜와 종료 날짜를 모두 입력해야 합니다. + **`period`** **\*** **array** -**`from`** **`: YYYYMMDD`** - -**`to`** **`: YYYYMMDD`** - -
+ **서비스 제공 기간** -
-

- 결제 가능 결제수단 -

+ 날짜만 입력이 가능하며(시간은 무시) 시작 날짜와 종료 날짜를 모두 입력해야 합니다. -- card + 에스크로, 다이렉트 -- vbank + 에스크로 -- trans + 에스크로, 다이렉트(은행 지정 X) -- phone + 다이렉트(통신사 지정 X) -- cultureland -- naverpay_card -- naverpay_point -- kakaopay -- payco -- samsungpay -- skpay -- ssgpay -- ssgpay_bank -- lpay -- applepay + **`from`** **`: YYYYMMDD`** -
+ **`to`** **`: YYYYMMDD`** +
-
+
+

+ 결제 가능 결제수단 +

+ - card + 에스크로, 다이렉트 + - vbank + 에스크로 + - trans + 에스크로, 다이렉트(은행 지정 X) + - phone + 다이렉트(통신사 지정 X) + - cultureland + - naverpay\_card + - naverpay\_point + - kakaopay + - payco + - samsungpay + - skpay + - ssgpay + - ssgpay\_bank + - lpay + - applepay +
+
-

- 가능한 결제 환경 -

- -- PC (iframe) -- 모바일 (리디렉션) +

+ 가능한 결제 환경 +

+ - PC (iframe) + - 모바일 (리디렉션)
diff --git a/src/content/docs/ko/pg/payment-gateway/nice.mdx b/src/content/docs/ko/pg/payment-gateway/nice.mdx index 02757a61a..ca35c818e 100644 --- a/src/content/docs/ko/pg/payment-gateway/nice.mdx +++ b/src/content/docs/ko/pg/payment-gateway/nice.mdx @@ -29,7 +29,7 @@ import Hint from "~/components/Hint.astro"; -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "nice.{상점 ID}", @@ -174,7 +174,7 @@ curl -H "Content-Type: application/json" \ -```javascript title="javascript" +```ts title="javascript" display: { card_quota: [6], // 할부개월 6개월까지만 활성화 } @@ -192,16 +192,12 @@ display: { - + -```javascript title="javascript" +```ts title="javascript" card: { direct: { code: "367", @@ -223,17 +219,13 @@ card: { - + -```javascript title="javascript" +```ts title="javascript" card: { detail: [ { card_code: "*", enabled: false }, //모든 카드사 비활성화 @@ -247,17 +239,13 @@ card: { - **`card_code` :** 금융결제원 카드사 코드. [**링크**](https://faq.portone.io/6503bcb4-4a61-4cf3-afd8-5d913b1385a6) 참조 (**string)** - **`enabled` :** 해당 카드 활성화 여부 (**boolean)** - + -```javascript +```ts // 영세율 결제 경우 amount: 1000, tax_free: 0, diff --git a/src/content/docs/ko/pg/payment-gateway/paymentwall.mdx b/src/content/docs/ko/pg/payment-gateway/paymentwall.mdx index 02f0d6d4b..cafbde516 100644 --- a/src/content/docs/ko/pg/payment-gateway/paymentwall.mdx +++ b/src/content/docs/ko/pg/payment-gateway/paymentwall.mdx @@ -23,7 +23,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ pg: "paymentwall.{project_key}", pay_method: "card", // 페이먼트월은 국가IP에 따라 결제수단이 활성화 됩니다.(생략가능) @@ -110,7 +110,7 @@ LIVE 프로젝트에서 테스트 결제수단을 활성화 하는 경우 사용 만약 LIVE 프로젝트가 아니라면(페이먼트월 심사 완료 전 단계), `use_test_method` 파라미터 설정과 동시에 bypass의 `ps` 파라미터를 `test`로 설정해야 테스트 결제수단 사용이 가능합니다. -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ use_test_method: true, bypass: { @@ -133,7 +133,7 @@ IMP.request_pay({ 인증결제창 호출 파라미터에서 `customer_uid` 값을 추가하면 비 인증 결제창을 호출할 수 있습니다. 비 인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "paymentwall.{project_key}", diff --git a/src/content/docs/ko/pg/payment-gateway/paypal.mdx b/src/content/docs/ko/pg/payment-gateway/paypal.mdx index 629998d7b..dd52beff9 100644 --- a/src/content/docs/ko/pg/payment-gateway/paypal.mdx +++ b/src/content/docs/ko/pg/payment-gateway/paypal.mdx @@ -29,7 +29,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ pg: "paypal.{API 사용자 이름}", pay_method: "card", @@ -97,7 +97,7 @@ Paypal에서는 고위험업종(게임, 디지털 콘텐츠) 고객사의 경우 고위험거래를 안전하게 요청하기 위해서는 거래를 증명할 추가적인 정보(STC API로 전달할 정보)가 필요하며, 아래 예제와 같이 `request_pay`에 파라미터를 추가하여 고위험거래를 요청할 수 있습니다. -```javascript +```ts IMP.request_pay({ /* 요청 객체 */ // Paypal 전용 파라미터로 결제요청 파라미터 문서에 존재하지 않습니다. diff --git a/src/content/docs/ko/pg/payment-gateway/rt/warning.mdx b/src/content/docs/ko/pg/payment-gateway/rt/warning.mdx index 5dda7d8eb..2a92dc9c5 100644 --- a/src/content/docs/ko/pg/payment-gateway/rt/warning.mdx +++ b/src/content/docs/ko/pg/payment-gateway/rt/warning.mdx @@ -11,7 +11,7 @@ import Figure from "~/components/Figure.astro"; 페이팔을 통해 다양한 수단으로 빌링키 발급이 가능하지만, 페이팔이 승인 된 빌링키 발급 수단 및 정보를 알려주지 않습니다. 따라서 페이팔 빌링키 발급 건의 결제 수단(pay_method)은 모두 paypal로 일괄 저장되며 [발급 된 빌링키 정보 조회](../../../api/api-2/api-2)시 카드 정보는 모두 null로 내려갑니다. -```javascript +```ts GET /subscribe/customers/{customer_uid} { @@ -149,7 +149,7 @@ withAdditionalData:@{}]; 배송 정보 중 **`line1`, `city` 그리고 `country_code`는 필수 입력**입니다. 전달하지 않을 경우 에러가 리턴되며 빌링키 발급 창이 호출되지 않습니다. -```javascript +```ts bypass: { paypal_v2: { ...중략 diff --git a/src/content/docs/ko/pg/payment-gateway/settle/mybank.mdx b/src/content/docs/ko/pg/payment-gateway/settle/mybank.mdx index 6e5e35a57..80099eabc 100644 --- a/src/content/docs/ko/pg/payment-gateway/settle/mybank.mdx +++ b/src/content/docs/ko/pg/payment-gateway/settle/mybank.mdx @@ -23,7 +23,7 @@ callback) 호출 후 **callback** 으로 수신 -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ // param pg: "settle_acc.MID", // 발급받은 고객사아이디 pay_method: "trans", @@ -100,7 +100,7 @@ criPsblYn: "N", // 현금영수증 발행가능 여부 ( Y or N or ""빈문자 인증결제창 호출 파라미터에서 **customer\_uid** 값을 추가하면 비 인증 결제창을 호출할 수 있습니다. 비인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay( { pg: "settle_acc.MID", //발급받은 고객사아이디 diff --git a/src/content/docs/ko/pg/payment-gateway/settle/readme.mdx b/src/content/docs/ko/pg/payment-gateway/settle/readme.mdx index 1384c6453..371b61259 100644 --- a/src/content/docs/ko/pg/payment-gateway/settle/readme.mdx +++ b/src/content/docs/ko/pg/payment-gateway/settle/readme.mdx @@ -25,7 +25,7 @@ callback)` 호출 후 **`callback`**으로 수 -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ pg: "settle.{상점 ID}", pay_method: "card", diff --git a/src/content/docs/ko/pg/payment-gateway/smartro-v2/caution.mdx b/src/content/docs/ko/pg/payment-gateway/smartro-v2/caution.mdx index 5b59bbffe..38d54b1a3 100644 --- a/src/content/docs/ko/pg/payment-gateway/smartro-v2/caution.mdx +++ b/src/content/docs/ko/pg/payment-gateway/smartro-v2/caution.mdx @@ -67,7 +67,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro";

파라미터 예제 코드

-```javascript +```ts // 예. BC카드 5개월 할부 ...중략 pg: 'smartro_v2', @@ -181,7 +181,7 @@ import screenshot1 from "./_assets/caution/screenshot-1.png";

V1 에스크로 + 카드사 다이렉트 호출

-```jsx {5-11} +```tsx {5-11} IMP.request_pay({ pg: "smartro_v2", pay_method: "card", @@ -200,7 +200,7 @@ IMP.request_pay({

V2 에스크로 + 카드사 다이렉트 호출

-```jsx {5-13} +```tsx {5-13} PortOne.requestPayment({ pgProvider: "SMARTRO_V2", payMethod: "CARD", @@ -221,7 +221,7 @@ PortOne.requestPayment({

V2 에스크로 + 가상계좌 다이렉트 호출

-```jsx {5-8} +```tsx {5-8} PortOne.requestPayment({ pgProvider: "SMARTRO_V2", payMethod: "VIRTUAL_ACCOUNT", @@ -243,7 +243,7 @@ PortOne.requestPayment({

V1 에스크로 + 계좌이체 + 현금영수증 정보 전달

-```jsx {4-10} +```tsx {4-10} IMP.request_pay({ pg: "smartro_v2", amount: 50000, @@ -262,7 +262,7 @@ IMP.request_pay({

V2 에스크로 + 계좌이체 + 현금영수증 정보 전달

-```jsx {4-10} +```tsx {4-10} PortOne.requestPayment({ pgProvider: "SMARTRO_V2", totalAmount: 50000, diff --git a/src/content/docs/ko/pg/payment-gateway/smartro-v2/readme.mdx b/src/content/docs/ko/pg/payment-gateway/smartro-v2/readme.mdx index 9c81f66d8..5c4a53bec 100644 --- a/src/content/docs/ko/pg/payment-gateway/smartro-v2/readme.mdx +++ b/src/content/docs/ko/pg/payment-gateway/smartro-v2/readme.mdx @@ -3,14 +3,14 @@ title: 스마트로(신모듈) description: 스마트로 연동 방법을 안내합니다. --- -import * as prose from "~/components/prose"; import Details from "~/components/gitbook/Details.astro"; import Hint from "~/components/Hint.astro"; +import * as prose from "~/components/prose"; export const components = prose; import Figure from "~/components/Figure.astro"; -import Tabs from "~/components/gitbook/tabs/Tabs.astro"; import Tab from "~/components/gitbook/tabs/Tab.astro"; +import Tabs from "~/components/gitbook/tabs/Tabs.astro"; ## 1. 스마트로 채널 설정하기 @@ -37,193 +37,194 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; [JavaScript SDK](../../../sdk/javascript-sdk/readme) `IMP.request_pay(param, callback)`을 호출하여 스마트로 결제창을 호출할 수 있습니다. **결제결과**는 PC의 경우 `IMP.request_pay(param, callback)` 호출 후 **callback**으로 수신되고 -모바일의 경우 **m_redirect_url** 로 리디렉션됩니다. +모바일의 경우 **m\_redirect\_url** 로 리디렉션됩니다. - -```javascript title="Javascript SDK" -IMP.request_pay({ - pg: 'smartro_v2.{상점 ID}', - pay_method: 'card', - merchant_uid: "orderNo0001", // 상점에서 생성한 고유 주문번호 주의: 스마트로 일반결제시 주문 번호에 특수문자 사용 불가 - name: '주문명:결제테스트', - amount: 1004, - buyer_email: 'test@portone.io', - buyer_name: '구매자이름', - buyer_tel: '010-1234-5678', - buyer_addr: '서울특별시 강남구 삼성동', - buyer_postcode: '123-456', - m_redirect_url: '{모바일에서 결제 완료 후 리디렉션 될 URL}', - period: { - from: "20230512", //YYYYMMDD - to: "20230515", //YYYYMMDD - }, -}, function(rsp) { // callback 로직 - /* ...중략... */ -}); -``` - -
-

주요 파라미터 설명

- -**`pg` \*****string** - -**PG사 구분코드** - -`smartro_v2` 로 지정하면 됩니다. - -**`pay_method`** **\*** **string** - -**결제수단 구분코드** - -- card (신용카드) -- trans (실시간 계좌이체) -- vbank(가상계좌) -- phone (휴대폰소액결제) -- lpay (LPAY) -- kakaopay (카카오페이) -- naverpay (네이버페이) -- payco (페이코) -- pinpay (핀페이) + + ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "smartro_v2.{상점 ID}", + pay_method: "card", + merchant_uid: "orderNo0001", // 상점에서 생성한 고유 주문번호 주의: 스마트로 일반결제시 주문 번호에 특수문자 사용 불가 + name: "주문명:결제테스트", + amount: 1004, + buyer_email: "test@portone.io", + buyer_name: "구매자이름", + buyer_tel: "010-1234-5678", + buyer_addr: "서울특별시 강남구 삼성동", + buyer_postcode: "123-456", + m_redirect_url: "{모바일에서 결제 완료 후 리디렉션 될 URL}", + period: { + from: "20230512", //YYYYMMDD + to: "20230515", //YYYYMMDD + }, + }, + function (rsp) { + // callback 로직 + /* ...중략... */ + }, + ); + ``` -**`merchant_uid`** **\*** **string** +
+

주요 파라미터 설명

+ + **`pg` \*****string** + + **PG사 구분코드** + + `smartro_v2` 로 지정하면 됩니다. + + **`pay_method`** **\*** **string** + + **결제수단 구분코드** + + - card (신용카드) + - trans (실시간 계좌이체) + - vbank(가상계좌) + - phone (휴대폰소액결제) + - lpay (LPAY) + - kakaopay (카카오페이) + - naverpay (네이버페이) + - payco (페이코) + - pinpay (핀페이) -**주문번호** + **`merchant_uid`** **\*** **string** -매번 고유하게 채번되어야 합니다. -주의: 스마트로 일반결제시 주문 번호에 특수문자 사용 불가 + **주문번호** -**`amount`** **\*** **`integer`** + 매번 고유하게 채번되어야 합니다. + 주의: 스마트로 일반결제시 주문 번호에 특수문자 사용 불가 -**결제금액** + **`amount`** **\*** **`integer`** -**string** 이 아닌점에 유의하세요 + **결제금액** -소수점 두번째 자리까지 허용합니다. + **string** 이 아닌점에 유의하세요 -**`buyer_tel`** **\*** **string** + 소수점 두번째 자리까지 허용합니다. -**구매자 전화번호** + **`buyer_tel`** **\*** **string** -주의: 스마트로 일반 결제시 필수 입력 + **구매자 전화번호** -**`vbank_due`** **\*** **string** + 주의: 스마트로 일반 결제시 필수 입력 -**가상계좌 입금기한 (YYYY-MM-DD)** + **`vbank_due`** **\*** **string** -스마트로의 경우 필수 입력이며 날짜는 무조건 23:59:59로 설정 됨 + **가상계좌 입금기한 (YYYY-MM-DD)** -**`escrow`** **\*** **boolean** + 스마트로의 경우 필수 입력이며 날짜는 무조건 23:59:59로 설정 됨 -**에스크로 결제 여부** + **`escrow`** **\*** **boolean** -**`period`** **\*** **array** + **에스크로 결제 여부** -**서비스 제공 기간** + **`period`** **\*** **array** -날짜만 입력이 가능하며(시간은 무시) 시작 날짜와 종료 날짜를 모두 입력해야 합니다. + **서비스 제공 기간** -**`from`** **`: YYYYMMDD`** + 날짜만 입력이 가능하며(시간은 무시) 시작 날짜와 종료 날짜를 모두 입력해야 합니다. -**`to`** **`: YYYYMMDD`** + **`from`** **`: YYYYMMDD`** -
+ **`to`** **`: YYYYMMDD`** +
-
-

- 결제 가능 결제수단 -

+
+

+ 결제 가능 결제수단 +

-- card + 에스크로, 다이렉트 -- vbank + 에스크로 -- trans + 에스크로 -- phone -- lpay -- naverpay -- kakaopay -- pinpay -- payco + - card + 에스크로, 다이렉트 + - vbank + 에스크로 + - trans + 에스크로 + - phone + - lpay + - naverpay + - kakaopay + - pinpay + - payco +
+ -
- -
- - - 인증결제창 호출 파라미터에서 **customer\_uid**, **customer\_id**값을 추가하면 비 인증 결제창을 호출할 수 있습니다. - 비 인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. - ```javascript title="Javascript SDK" - IMP.request_pay({ - pg: "smartro_v2.{MID}", - pay_method: "card", // 'card'만 지원됩니다. - merchant_uid: "orderMonthly0001", // 상점에서 관리하는 주문 번호 주의: 스마트로 일반결제시 주문 번호에 특수문자 사용 불가 - name: "최초인증결제", - amount: 1000, // 실제 승인은 발생되지 않고 오직 빌링키만 발급됩니다. - customer_uid: "your-customer-unique-id", // 필수 입력. - buyer_email: "test@portone.io", - buyer_name: "포트원", - buyer_tel: "02-1234-1234", - m_redirect_url: "{모바일에서 결제 완료 후 리디렉션 될 URL}", - customer_id: "matthew", //고객사가 회원에게 부여한 고유 ID로 필수 입력. - }, function (rsp) { - // callback 로직 - }); - ``` + + 인증결제창 호출 파라미터에서 **customer\_uid**, **customer\_id**값을 추가하면 비 인증 결제창을 호출할 수 있습니다. + 비 인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다. -
-

주요 파라미터 설명

+ ```ts title="Javascript SDK" + IMP.request_pay( + { + pg: "smartro_v2.{MID}", + pay_method: "card", // 'card'만 지원됩니다. + merchant_uid: "orderMonthly0001", // 상점에서 관리하는 주문 번호 주의: 스마트로 일반결제시 주문 번호에 특수문자 사용 불가 + name: "최초인증결제", + amount: 1000, // 실제 승인은 발생되지 않고 오직 빌링키만 발급됩니다. + customer_uid: "your-customer-unique-id", // 필수 입력. + buyer_email: "test@portone.io", + buyer_name: "포트원", + buyer_tel: "02-1234-1234", + m_redirect_url: "{모바일에서 결제 완료 후 리디렉션 될 URL}", + customer_id: "matthew", //고객사가 회원에게 부여한 고유 ID로 필수 입력. + }, + function (rsp) { + // callback 로직 + }, + ); + ``` -**`pg` \*****string** +
+

주요 파라미터 설명

-**PG사 구분코드** + **`pg` \*****string** -`smartro_v2` 로 지정하면 됩니다. + **PG사 구분코드** -**`pay_method`** **\*** **string** + `smartro_v2` 로 지정하면 됩니다. -**결제수단 구분코드** + **`pay_method`** **\*** **string** -- card (신용카드) + **결제수단 구분코드** -**`merchant_uid`** **\*** **string** + - card (신용카드) -**주문번호** + **`merchant_uid`** **\*** **string** -매번 고유하게 채번되어야 합니다. + **주문번호** -주의: 스마트로 일반결제시 주문 번호에 특수문자 사용 불가 + 매번 고유하게 채번되어야 합니다. -**`customer_uid`** **\*** **string** + 주의: 스마트로 일반결제시 주문 번호에 특수문자 사용 불가 -**`빌링키 발급을 위한 결제 수단을 특정하는 고유 번호`** + **`customer_uid`** **\*** **string** -빌링키 발급시 필수 입력 + **`빌링키 발급을 위한 결제 수단을 특정하는 고유 번호`** -**`customer_id`** **\*** **string** + 빌링키 발급시 필수 입력 -**`구매자 식별자`** + **`customer_id`** **\*** **string** -주의: 스마트로 빌링키 발급시 필수 입력으로 입력 길이는 **20자**로 제한됩니다. + **`구매자 식별자`** -**`m_redirect_url`** **\*** **string** + 주의: 스마트로 빌링키 발급시 필수 입력으로 입력 길이는 **20자**로 제한됩니다. -**`리다이렉트 URL`** + **`m_redirect_url`** **\*** **string** -리디렉션 방식으로 진행할 경우, 트랜잭션 종료 이후 302 리디렉션 될 고객사 URL + **`리다이렉트 URL`** -스마트로의 경우 모바일 환경에서 **리디렉션 방식으로 빌링키 발급창이 렌더링 되기 때문에 필수입력입니다.** - -
- - + 리디렉션 방식으로 진행할 경우, 트랜잭션 종료 이후 302 리디렉션 될 고객사 URL + 스마트로의 경우 모바일 환경에서 **리디렉션 방식으로 빌링키 발급창이 렌더링 되기 때문에 필수입력입니다.** +
+
-

- 가능한 결제 환경 -

- -- PC (iframe) -- 모바일 (리디렉션) +

+ 가능한 결제 환경 +

+ - PC (iframe) + - 모바일 (리디렉션)
diff --git a/src/content/docs/ko/pg/payment-gateway/smartro.mdx b/src/content/docs/ko/pg/payment-gateway/smartro.mdx index a02747652..e74a53f84 100644 --- a/src/content/docs/ko/pg/payment-gateway/smartro.mdx +++ b/src/content/docs/ko/pg/payment-gateway/smartro.mdx @@ -31,7 +31,7 @@ import Tab from "~/components/gitbook/tabs/Tab.astro"; -```javascript title="Javascript SDK" +```ts title="Javascript SDK" IMP.request_pay({ pg: "smartro.{상점 ID}", pay_method: "card", diff --git a/src/content/docs/ko/pg/payment-gateway/spb.mdx b/src/content/docs/ko/pg/payment-gateway/spb.mdx index 38f0880a6..7b7a50c67 100644 --- a/src/content/docs/ko/pg/payment-gateway/spb.mdx +++ b/src/content/docs/ko/pg/payment-gateway/spb.mdx @@ -41,10 +41,7 @@ import Hint from "~/components/Hint.astro"; 따라서 다른 PG사와 결제 플로우가 상이하기 때문에 고객사는 **체크아웃 페이지가 렌더링 되는 시점에** `IMP.request_pay` 함수 대신 **`IMP.loadUI`라는 별도의 함수를 호출해 페이팔 일반결제 버튼을 렌더링 해야**합니다. -
+
```html