마켓플레이스

프로젝트 생성

한 셀러 안에 결제 환경을 여러 개 분리한다.

이미 만들어진 셀러 안에 새 프로젝트(=app)를 추가한다. 본 서비스와 테스트 환경을 분리하거나, 한 셀러가 운영하는 여러 브랜드를 따로 정산·집계하려고 할 때 쓴다.

핵심 요약

  • 셀러 생성 시 자동으로 만들어지는 기본 프로젝트 외에 추가가 필요할 때만 호출한다. 신규 셀러용 첫 프로젝트는 가맹점 생성 한 번으로 만들어진다.
  • provider_id 가 리셀러 본인 하위 셀러가 아니면 PROVIDER_NOT_FOUND 가 떨어진다.
  • 응답에는 app_id 만 포함된다. 결제 연동키와 PG 리소스는 PG 리소스 갱신 에서 별도로 붙인다.
  • unit 기본값은 KRW, real 기본값은 실물 이다.

API 정보

POSThttps://api.bootpay.co.kr/v2/reseller/seller/appBasic Auth (리셀러 계정 키)

요청 파라미터

파라미터 타입 필수 설명
provider_id String 필수 프로젝트를 추가할 셀러의 provider_id
name String 필수 프로젝트명. 콘솔과 영수증 표시에 사용
desc String 선택 프로젝트 설명
unit String 선택 결제 통화. 기본 KRW. 그 외 USD, JPY
real String 선택 거래 상품 유형. 실물 또는 디지털. 기본 실물
timezone String 선택 프로젝트 타임존. 기본 Asia/Seoul
실물 vs 디지털

물리적 배송이 발생하는 상품(쇼핑몰, 식음료) 은 실물, 디지털 콘텐츠 / 구독 / 충전금은 디지털 로 설정한다. 일부 PG 가 사용 가능한 결제수단 목록을 이 값으로 분기한다.

코드 예제

import fetch from 'node-fetch'

const RESELLER_AUTH = 'Basic ' + Buffer
  .from(`${process.env.BOOTPAY_RESELLER_CLIENT_KEY}:${process.env.BOOTPAY_RESELLER_SECRET_KEY}`)
  .toString('base64')

const res = await fetch('https://api.bootpay.co.kr/v2/reseller/seller/app', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Authorization': RESELLER_AUTH
    },
    body: JSON.stringify({
        provider_id: '65a1c0aa8f1b5b00367a0001',
        name:        '한입가게 — 정기구독',
        desc:        '월 정기구독 전용 프로젝트',
        unit:        'KRW',
        real:        '디지털',
        timezone:    'Asia/Seoul'
    })
})
const data = await res.json()
// data.app_id 저장
console.log(data)javascript

응답

{
  "app_id":      "65a1c0ab8f1b5b00367a0010",
  "provider_id": "65a1c0aa8f1b5b00367a0001",
  "app_name":    "한입가게 — 정기구독",
  "real":        "디지털",
  "desc":        "월 정기구독 전용 프로젝트",
  "unit":        "KRW",
  "status":      1
}json

응답 파라미터

파라미터 타입 설명
app_id String 생성된 프로젝트 식별자
provider_id String 소속 셀러
app_name String 프로젝트명
real String 거래 상품 유형 (실물 / 디지털)
unit String 결제 통화
status Number 프로젝트 상태
결제 연동키

이 응답에는 결제 연동키가 포함되지 않는다. 결제수단까지 붙여야 의미가 있으므로 PG 리소스 갱신 을 이어서 호출하면 application_keys 묶음을 받는다.

에러 코드

코드 메시지 대처 방법
API_ONLY_RESELLER 리셀러만 이용이 가능한 API 다 리셀러 권한 계정 키로 호출한다
PROVIDER_NOT_FOUND 본인 하위 셀러가 아니다 provider_id 가 본인 리셀러 소속인지 확인한다

다음 단계