결제 링크 — 개요
결제 링크는 이미 구성한 호스팅 체크아웃으로 구매자를 안내하는 공유 가능한
URL입니다. SDK도, 서버 연동도 필요 없습니다 — 대시보드에서 발급하고 공유하면,
온체인에서 자금이 확인될 때 동일한 payment.settled 웹훅이 발생합니다.
내부적으로 결제 링크는 CheckoutSession입니다 — “결제 링크”는 구매자 주도 SDK 흐름으로 생성되지 않은 세션의 대시보드 측 이름일 뿐입니다. 동일한 웹훅 계약, 동일한 온체인 정산, 동일한 수수료가 적용됩니다.
일반적인 사용 사례:
- 코드를 작성하지 않고 일회성 고객에게 인보이스 발행
- 개발팀이 이번 분기에 커스텀 카트를 구현할 여유가 없는 판매 페이지
- B2B 후속 — 이메일에 링크를 붙여넣고 마무리
- “커피 한 잔 사주세요” 스타일의 고정 금액 팁 페이지
생성하기
현재는 대시보드 전용입니다.
- 가맹점 대시보드 에 로그인
- Payments → Payment Links → + New link
- 두 가지 경로 중 하나를 선택:
- 새 주문 — 라인 아이템, 통화, 고객 정보, 선택적 메타데이터를 입력합니다. 대시보드가 한 번의 호출로 Order와 결제 링크를 생성합니다.
- 기존 주문 —
PENDING주문(예: 구매자가 이전 링크를 포기한 경우)을 선택합니다. 동일한 주문을 기반으로 새 링크를 재발급하여 주문 이력을 유지합니다.
- 저장 → 대시보드가 복사 버튼과 QR 코드 다운로드와 함께
https://checkout.infraio.xyz/cst_…URL을 표시합니다. 테스트 모드 링크는checkout-dev.infraio.xyz를 사용하므로 환경이 호스트명에 인코딩됩니다.
현재 각 결제 링크는 일회용입니다 — 구매자가 결제하면 세션은
COMPLETED가 됩니다. 결제 전에 세션이 만료되는 경우(기본 TTL은 30분),
주문 상세 페이지를 열고 Re-create link를 클릭하여 동일한 주문에
대해 새 링크를 발급하세요.
구매자가 보는 것
- 구매자는
checkout.infraio.xyz/<session_key>에 도착합니다 — SDK가 발급한 세션에서 얻는 것과 동일한 호스팅 체크아웃 UI입니다. - 체크아웃 — 개요에서 설명한 표준 자산 선택 → 자금 전송 → 확인 대기 흐름을 진행합니다.
payment.settled가 주문, 인텐트, 영수증, 온체인 tx 해시, 확인 수와 함께 웹훅으로 발생합니다 — 다른 정산된 결제와 동일한 페이로드입니다. 스키마는 웹훅을 참조하세요.
대시보드에서 제공되는 기능
결제 링크 표면은 현재 다음을 제공합니다.
- 목록 뷰 — 발급한 모든 링크. 커서 페이지네이션, 상태, 금액, 부모 주문 번호, 고객, 만료일, 구매자 URL로 원클릭 이동.
- 필터 — 상태(
ACTIVE/COMPLETED/EXPIRED/CANCELED), 날짜 범위, 주문 번호, 고객명, 이메일, 외부 참조에 대한 전문 검색. - CSV 내보내기 — 원클릭. 현재 필터를 따릅니다.
- KPI 스트립 — 상태별 카운트.
X-Environment헤더를 통해 현재 환경(livevstest)으로 스코프되므로 숫자는 항상 표시되는 테이블과 일치합니다. - 상세 페이지 — 주문 요약, 세션 이력(이 주문에 대한 모든 시도), 블록 익스플로러 링크가 포함된 온체인 이력, 결제 전에 만료된 세션에 대한 Re-create link 액션.
현재 제한 사항
- 프로그래밍 API 없음 — 링크는 대시보드에서만 생성할 수 있습니다.
SDK는
POST /b2b/v1/checkout-sessions/quick을 통해 동등한 일회용 세션을 생성할 수 있지만(API 레퍼런스 참조), “오래 유지되는 공유 가능한 URL” UX는 현재 대시보드 전용입니다. - 구매자별 인증 없음 — URL을 가진 모든 사용자가 결제할 수 있습니다. 일회용 모델이 이를 부분적으로 완화하지만, 완전한 구매자 신원 바인딩은 아래 로드맵에 있습니다.
- 브랜딩은 전역적임 — 링크는 Settings → Branding의 가맹점 전체 로고, 브랜드 컬러, 보더 라디우스를 사용합니다. 링크별 브랜딩 오버라이드는 아직 대시보드 UI에 노출되지 않았습니다.
로드맵
원하는 기능 항목, 우선순위 높음에서 낮음 순:
- 프로그래밍 방식 생성 — 대시보드의 두 탭 다이얼로그를 미러링하고
동일한
checkout_url을 반환하는POST /b2b/v1/payment-links엔드포인트. 목록 + 취소와 자연스럽게 페어링됩니다. - 시간 기반 만료 — 세션 TTL 경과까지가 아닌 특정 날짜까지 링크가 유효합니다. “14일 내 결제 기한”이 자연스러운 마감일인 인보이스 흐름에 필요합니다.
- 재사용 가능한 링크 — Stripe 스타일의 다중 구매자 페이지(기부, 팁, 반복 청구). 현재 모든 링크는 일회용입니다.
- 구매자별 신원 — 링크를 특정 이메일이나 지갑에 잠궈 전달될 수 없게 만듭니다.
- API 측 QR 생성 — 대시보드는 현재 QR 코드를 클라이언트 측에서 렌더링합니다. 라벨 인쇄 및 임베드된 영수증을 위해 이를 API에 노출하는 것이 목록에 있습니다.