diff --git a/src/routes/(root)/opi/ko/_nav.yaml b/src/routes/(root)/opi/ko/_nav.yaml index 4ca613118..d5abe5d7b 100644 --- a/src/routes/(root)/opi/ko/_nav.yaml +++ b/src/routes/(root)/opi/ko/_nav.yaml @@ -61,6 +61,11 @@ items: - /ko/integration/v2-mobile-sdk/readme +- label: 서버 SDK + systemVersion: v2 + items: + - /ko/integration/v2-server-sdk/readme + - label: 결제 연동하기 systemVersion: v1 items: diff --git a/src/routes/(root)/opi/ko/integration/v2-server-sdk/readme.mdx b/src/routes/(root)/opi/ko/integration/v2-server-sdk/readme.mdx new file mode 100644 index 000000000..2cc57981d --- /dev/null +++ b/src/routes/(root)/opi/ko/integration/v2-server-sdk/readme.mdx @@ -0,0 +1,93 @@ +--- +title: 서버 SDK 레퍼런스 +description: 웹훅 및 REST API 연동시 사용되는 SDK에 대한 설명 문서입니다. +targetVersions: ["v2"] +--- + +import Tabs from "~/components/gitbook/Tabs"; + +포트원 서버 SDK는 웹훅을 포함한 포트원 V2 REST API를 여러 언어에서 별도의 보일러플레이트 없이 사용 가능하도록 만들어진 SDK입니다. + +현재 JavaScript 및 TypeScript, Python, JVM을 지원하고 있으며, Go, PHP 등을 지원할 예정입니다. + +## JavaScript 및 TypeScript + +- [GitHub 레포지토리](https://github.com/portone-io/server-sdk/tree/main/javascript) +- [API 레퍼런스](https://portone-io.github.io/server-sdk/js) + +JavaScript 및 TypeScript SDK는 [npm](https://www.npmjs.com/package/@portone/server-sdk)과 [jsr](https://jsr.io/@portone/server-sdk)을 통해 배포되고 있습니다. +`@portone/server-sdk` 패키지를 의존성에 추가하여 사용하실 수 있습니다. + +Node.js의 경우 v20 이상에서 정상 동작하며, v20 미만 버전은 폴리필이 필요합니다. + + + + 애플리케이션 코드 시작 부분에 아래 코드를 삽입해 주세요. + + ```javascript title="CommonJS" + globalThis.crypto = require("node:crypto").webcrypto; + ``` + + ```javascript title="ESM" + import { webcrypto } from "node:crypto"; + globalThis.crypto = webcrypto; + ``` + + + + [@whatwg-node/fetch](https://www.npmjs.com/package/@whatwg-node/fetch) 패키지를 의존성에 추가해 주세요. + + 애플리케이션 코드 시작 부분에 아래 코드를 삽입해 주세요. + + ```javascript title="CommonJS" + const { fetch, crypto } = require("@whatwg-node/fetch"); + globalThis.fetch = fetch; + globalThis.crypto = crypto; + ``` + + ```javascript title="ESM" + import { crypto, fetch } from "@whatwg-node/fetch"; + globalThis.fetch = fetch; + globalThis.crypto = crypto; + ``` + + + +## Python + +- [GitHub 레포지토리](https://github.com/portone-io/server-sdk/tree/main/python) +- [API 레퍼런스](https://portone-io.github.io/server-sdk/py) + +Python SDK는 [PyPI](https://pypi.org/project/portone-server-sdk)를 통해 배포되고 있습니다. +`portone-server-sdk` 패키지를 의존성에 추가하여 사용하실 수 있습니다. + +Python 3.9 이상에서 정상 동작합니다. + +## JVM + +- [GitHub 레포지토리](https://github.com/portone-io/server-sdk/tree/main/jvm) +- [API 레퍼런스](https://portone-io.github.io/server-sdk/jvm) + +Java, Kotlin, Scala 등에서 사용 가능한 JVM SDK는 [Maven](https://central.sonatype.com/artifact/io.portone/server-sdk)을 통해 배포되고 있습니다. + +`io.portone:server-sdk` 패키지를 의존성에 추가하여 사용하실 수 있습니다. + +```xml title="Apache Maven" + + io.portone + server-sdk + 0.3.0 + +``` + +```kotlin title="Gradle (Kotlin)" +implementation("io.portone:server-sdk:0.3.0") +``` + +```groovy title="Gradle (Groovy)" +implementation 'io.portone:server-sdk:0.3.0' +``` + +```scala title="sbt" +libraryDependencies += "io.portone" % "server-sdk" % "0.3.0" +```