참고

원스토어 연동

원스토어 설정과 검증 순서를 한 흐름으로 살펴봐요.

원스토어(OneStore) 외부결제를 연동하는 방법이에요. 원스토어 앱 내 결제에서 부트페이를 사용하려면 OAuth 키 설정과 추가 파라미터가 필요해요.

사전 설정

OAuth 키 등록

부트페이 관리자 플러그인 설정에서 원스토어 OAuth 키를 등록해야 해요.

  1. 부트페이 관리자 → 개발자 설정 > 플러그인 > 원스토어 항목 이동
  2. CLIENT_ID​​와 CLIENT_SECRET​​을 입력
  3. 저장

원스토어 개발자 센터에서 OAuth 키를 발급받을 수 있어요.

결제는 어디로 나가나

원스토어는 PG가 아니라 관리자에서 활성화하는 ThirdParty 플러그인​​이에요. 실제 결제는 계약한 PG로 나가고, 부트페이가 그 결제 결과를 원스토어에 함께 통지해요.

pg 값에 onestore를 넣지 않아요. pg는 비워 두거나(관리자 기본 PG 사용) 실제 계약한 PG 코드를 넣어요.

items 필수 조건

원스토어 플러그인이 켜진 프로젝트는 items를 반드시 함께 보내야 해요.

시점 조건 누락 시 에러
결제 요청 items 필수 RC_ONESTORE_NEED_ITEM (2056)
부분 취소 취소 후 남은 items 필수 RC_ONESTORE_PC_ITEM_NEED (2054)

각 항목은 id, name, qty(1 이상), price(1 이상)를 모두 채워요. 부분 취소에서는 남은 items의 합계(price × qty)가 취소 후 잔액과 정확히 일치해야 해요. 어긋나면 RC_ITEM_TOTAL_PRICE_INVALID 오류가 나요.

추가 파라미터

원스토어 결제 요청 시 extra.third_party.onestore 객체에 다음 파라미터를 넣어요.

파라미터 타입 필수 설명
extra.third_party.onestore.ad_id String 선택 광고 ID. 미입력 시 UNKNOWN_ADID로 전달돼요
extra.third_party.onestore.sim_operator String 선택 SIM 사업자 정보. 미입력 시 UNKNOWN_SIM_OPERATOR로 전달돼요
extra.third_party.onestore.installer_package_name String 선택 설치 패키지 이름. 미입력 시 UNKNOWN_INSTALLER로 전달돼요

코드 예제

import { Bootpay } from '@bootpay/client-js'

const response = await Bootpay.requestPayment({
    client_key: '[ Client Key ]',
    pg: '', // 원스토어는 PG 코드가 아니에요. 비워 두거나 실제 계약한 PG 코드를 넣어요
    method: '',
    order_name: '원스토어 결제 테스트',
    order_id: 'order_' + Date.now(), // 테스트용. 실제로는 서버에서 생성한 주문번호 사용
    price: 1000,
    items: [
        {
            id: 'item_001',
            name: '아이템 1',
            qty: 1,
            price: 1000
        }
    ],
    extra: {
        third_party: {
            onestore: {
                ad_id: '[ 광고 ID ]',
                sim_operator: '[ SIM 사업자 ]',
                installer_package_name: '[ 패키지명 ]'
            }
        }
    }
})
console.log(response)javascript