<!-- Source: https://docs.infraio.xyz/ko/payment-links/overview -->
<!-- Last updated: 2026-10-04 -->

# 결제 링크 — 개요

**결제 링크**는 이미 구성한 호스팅 결제 페이지로 구매자를 안내하는 공유 가능한
URL입니다. SDK도, 서버 연동도 필요 없습니다 — 대시보드에서 발급하고 공유하면,
온체인에서 자금이 확인될 때 동일한 `payment.settled` 웹훅이 발생합니다.

내부적으로 결제 링크는 [CheckoutSession](https://docs.infraio.xyz/ko/concepts/sessions)입니다 — "결제
링크"는 구매자 주도 SDK 흐름으로 생성되지 않은 세션의 대시보드 측 이름일
뿐입니다. 동일한 웹훅 계약, 동일한 온체인 정산, 동일한 수수료가 적용됩니다.

일반적인 사용 사례:

- 코드를 작성하지 않고 일회성 고객에게 인보이스 발행
- 커스텀 카트가 없는 판매 페이지
- B2B 후속 — 이메일에 링크를 붙여넣기
- "커피 한 잔 사주세요" 스타일의 고정 금액 팁 페이지

## 생성하기

대시보드에서 결제 링크를 생성합니다.

1. [가맹점 대시보드](https://app.infraio.xyz)에 로그인
2. **Payments → Payment Links → + New link**
3. 두 가지 경로 중 하나를 선택:
   - **새 주문** — 라인 아이템, 통화, 고객 정보, 선택적 메타데이터를
     입력합니다. 대시보드가 한 번의 호출로 Order와 결제 링크를 생성합니다.
   - **기존 주문** — `PENDING` 주문(예: 구매자가 이전 링크를
     포기한 경우)을 선택합니다. 동일한 주문을 기반으로 새 링크를 재발급하여
     주문 이력을 유지합니다.
   - **New order**에서 **금액만**으로 바꾸면 상품 목록 없이 정해진 금액을 청구할 수 있습니다.
4. 저장 → 대시보드가 복사 버튼과 QR 코드 다운로드와 함께
   `https://checkout.infraio.xyz/cst_…` URL을 표시합니다. 테스트 모드
   링크는 `checkout-dev.infraio.xyz`를 사용하므로 환경이 호스트명에
   인코딩됩니다.

> **Note:**
>
> 현재 각 결제 링크는 일회용입니다 — 구매자가 결제하면 세션은
> `COMPLETED`가 됩니다. 결제 전에 세션이 만료되는 경우(기본 TTL은 30분),
> 주문 상세 페이지를 열고 **Re-create link**를 클릭하여 동일한 주문에
> 대해 새 링크를 발급하세요.

## 구매자가 보는 것

1. 구매자는 `checkout.infraio.xyz/<session_key>`에 도착합니다 — SDK가
   발급한 세션에서 얻는 것과 동일한 호스팅 결제 페이지 UI입니다.
2. [체크아웃 — 개요](https://docs.infraio.xyz/ko/checkout/overview)에서 설명한 표준 자산 선택 →
   자금 전송 → 확인 대기 흐름을 진행합니다.
3. `payment.settled`가 주문, 인텐트, 영수증, 온체인 tx 해시, 확인 수와
   함께 웹훅으로 발생합니다 — 다른 정산된 결제와 동일한 페이로드입니다.
   스키마는 [웹훅](https://docs.infraio.xyz/ko/webhooks/overview)을 참조하세요.

## 대시보드에서 제공되는 기능

결제 링크 표면은 현재 다음을 제공합니다.

- **목록 뷰** — 발급한 모든 링크. 커서 페이지네이션, 상태, 금액, 부모
  주문 번호, 고객, 만료일, 구매자 URL로 원클릭 이동.
- **필터** — 상태(`ACTIVE` / `COMPLETED` / `EXPIRED` / `CANCELED`), 날짜
  범위, 주문 번호, 고객명, 이메일, 외부 참조에 대한 전문 검색.
- **CSV 내보내기** — 원클릭. 현재 필터를 따릅니다.
- **KPI 스트립** — 현재 환경(`live` 또는 `test`)의 상태별 카운트이며,
  테이블에 표시되는 내용과 일치합니다.
- **상세 페이지** — 주문 요약, 세션 이력(이 주문에 대한 모든 시도),
  블록 익스플로러 링크가 포함된 온체인 이력, 결제 전에 만료된 세션에
  대한 **Re-create link** 액션.

## 현재 제한 사항

- **프로그래밍 API 없음** — 링크는 대시보드에서만 생성할 수 있습니다.
  `POST /b2b/v1/checkout-sessions/quick`을 통해 동등한 일회용
  세션을 생성할 수 있지만([API 레퍼런스](https://docs.infraio.xyz/ko/api-reference) 참조),
  공유 가능한 링크는 대시보드에서만 생성됩니다.
- **구매자별 인증 없음** — URL을 가진 모든 사용자가 결제할 수 있습니다.
  각 링크는 일회용이므로 이를 어느 정도 제한합니다.
- **브랜딩은 전역적임** — 링크는 **Settings → Branding**의 가맹점 전체
  로고, 브랜드 컬러, 보더 라디우스를 사용합니다. 링크별 브랜딩
  오버라이드는 사용할 수 없습니다.

## 참고

- [개념 → 세션](https://docs.infraio.xyz/ko/concepts/sessions) — 구매자가 결제하는 동안 세션 및
  인텐트 레이어에서 일어나는 일.
- [체크아웃 → 개요](https://docs.infraio.xyz/ko/checkout/overview) — 구매자가 실제로 보는 것.
- [웹훅 → 개요](https://docs.infraio.xyz/ko/webhooks/overview) — 가맹점 서버가 반응하는
  `payment.settled` 이벤트.
