<!-- Source: https://docs.infraio.xyz/ko/get-started/introduction -->
<!-- Last updated: 2026-10-04 -->

# 소개

## 결제의 구조

InfraIO Pay를 연동하는 가맹점은 네 가지 구성 요소를 다루게 됩니다.

### 체크아웃 세션

서버 측에서 라인 아이템과 합계를 포함하여 세션을 생성합니다. 응답에는
`session_key`(`cst_…`)와 `checkout_url`이 포함됩니다. 세션은 시간 제한이 있으며
(기본값 30분) 일회용입니다.

### 호스팅 결제 페이지 페이지

브라우저 SDK를 로드하고 세션을 엽니다 — 팝업, 리디렉션, 또는 임베드된
iframe 방식 중에서 선택할 수 있습니다. 구매자는 체인 × 자산(Polygon의 USDT,
Base의 ETH 등)을 선택하고, 생성된 주문별 입금 주소와 QR 코드를 확인한 후 지갑에서
자금을 전송합니다.

### 결제 확인

InfraIO Pay는 해당 네트워크에서 세션의 주문별 입금 주소와 일치하는 인바운드 송금을
감시합니다. 설정된 확인 수(예: Ethereum 메인넷 12, Polygon 5 — [체인 및
자산](https://docs.infraio.xyz/ko/concepts/chains) 참조)에 도달하면, 근간이 되는 PaymentIntent는
`SETTLED`로 이동하고 상위 Order는 `PAID`로 이동합니다.

TRON, Solana, TON에는 주문별 입금 주소가 없습니다. 구매자의 지갑이 가맹점의 트레저리 지갑으로 직접 결제하고(TronLink, Solana Pay QR 또는 TON Connect), InfraIO Pay가 해당 결제를 인식합니다. [체인 및 자산](https://docs.infraio.xyz/ko/concepts/chains)를 참조하세요.

> 결제 금액은 회원님의 트레저리 지갑으로 바로 입금됩니다. InfraIO Pay는 회원님의 자금을 보관하지 않습니다.

### 웹훅

저희는 서명된 `payment.settled` 이벤트를 가맹점이 등록한 웹훅 URL로 POST 합니다.
가맹점 서버에서 서명을 검증하고 주문을 조회한 후 이행 처리를 진행합니다.

## 데이터 모델 한눈에 보기

```
CheckoutSession  ←  1:1  →  Order  ←  1:N  →  PaymentIntent
   (시간 제한)                (영구 기록)        (결제 시도당 1개)
```

가맹점은 이행 처리를 **Order** 기준으로 생각하고, 결제를 받기 위해 **Session**을
생성하며, 재시도와 네트워크 선택은 시스템이 백그라운드에서 **PaymentIntent**로
관리합니다.

## 저희가 처리하는 부분 vs 가맹점이 처리하는 부분

| InfraIO Pay가 처리 | 가맹점이 처리 |
| --- | --- |
| 호스팅 결제 페이지 UI(주문별 입금 주소, QR, 자산 선택기) | 자체 DB에서 카탈로그 및 Order 생성 |
| 8개 EVM 체인과 TRON, Solana, TON(출시 예정) 전반의 체인 모니터링 및 확인 로직 | 웹훅 수신기 및 서명 검증 |
| 멀티 자산 스테이블코인 체크아웃(네트워크별 USDT, USDC) | `external_ref`를 통해 저희의 `order_id`와 가맹점 주문 ID 매핑 |
| 환불 회계 처리(상태 머신, 대시보드, API) | 온체인 환불 트랜잭션 서명 및 브로드캐스트 |
| 테스트 모드 키 및 격리된 테스트 웹훅 | 포셋(faucet)에서 테스트넷 지갑 자금 조달 |

> **Note:**
>
> 저희는 가맹점 자금을 수탁하지 않습니다. 구매자에서 가맹점으로의 송금은
> 온체인에서 **직접** 이루어지며, 저희는 송금이 완료되었음을 알려주는
> 인덱서 + 리컨실리에이션 레이어입니다.

## 테스트 모드 vs 라이브 모드

모든 계정은 **테스트 모드**로 시작합니다. 테스트 키는 `pk_test_` / `sk_test_`
프리픽스를 가집니다. 라이브 키(`pk_live_` / `sk_live_`)는 계정 인증을 완료하고
수신하려는 각 네트워크의 트레저리 지갑을 추가하면(해당 지갑을 직접 관리함을
증명하는 메시지에 서명) 사용할 수 있습니다.

동일한 API 기본 URL이 두 환경 모두에서 사용됩니다 — 환경은 URL이 아닌 키
프리픽스에 의해 결정됩니다. 테스트 모드는 **실제 테스트넷**(Sepolia, Base
Sepolia, BSC Testnet 등)에서 동작하며, 모의 체인은 없습니다. 테스트 결제를
트리거하려면 포셋에서 받은 실제 테스트넷 자금이 필요합니다.

## 문의 / 지원

질문이 있거나 도움이 필요하신가요? [contact@lartech.xyz](mailto:contact@lartech.xyz)로 이메일을 보내 주세요.

## InfraIO Pay가 아닌 것

- **수탁 기관이 아닙니다.** 자금은 온체인에서 구매자에게서 가맹점의 트레저리 지갑으로
  직접 이동합니다. 저희는 가맹점의 잔액을 보유하지 않습니다.
- **지갑이 필수는 아닙니다.** 고객은 자신의 지갑으로 결제합니다(호스팅 결제 페이지에는
  WalletConnect 옵션이 내장되어 있습니다). [InfraIO Wallet](https://docs.infraio.xyz/ko/wallet/overview)은
  별도의 비수탁형 패스키 지갑이며 필수는 아닙니다.
- **법정화폐 램프가 아닙니다.** 구매자는 보유한 암호화폐 자산으로 결제하며,
  저희는 변환을 수행하지 않습니다.
- **비트코인 게이트웨이가 아닙니다.** 8개 EVM 네트워크와 TRON, Solana, TON(출시 예정)의 스테이블코인을 지원하며, 비트코인이나 Lightning은 지원하지 않습니다. 현재 지원 매트릭스는 [체인 및 자산](https://docs.infraio.xyz/ko/concepts/chains)를 참조하세요.

## 다음 단계

- [빠른 시작](https://docs.infraio.xyz/ko/get-started/quickstart) — 약 10분 만에 첫 통합 코드를
  복사하여 실행해 보세요.
- [개념 → 세션](https://docs.infraio.xyz/ko/concepts/sessions) — 데이터 모델을 자세히 다룹니다.
- [SDK → JavaScript](https://docs.infraio.xyz/ko/sdks/javascript) — 현재 공개된 유일한 SDK입니다.
- [요금 및 수수료](https://docs.infraio.xyz/ko/concepts/pricing) — 거래량 등급과 할인.
- [가맹점 앱](https://docs.infraio.xyz/ko/get-started/merchant-app) — 휴대폰으로 비즈니스를 관리하세요.
