마켓플레이스

PG·필수 연동 값 목록

PG 마다 resource 에 무엇을 넣어야 하는지 코드로 확인한다.

가맹점 생성·프로젝트 생성·PG 리소스 갱신 의 resources[] 에 넣을 수 있는 PG·결제수단과, 결제수단마다 resource 에 넣어야 하는 키를 돌려준다.

핵심 요약

  • resources[].pg 에는 PG 의 symbols 중 하나, resources[].method 에는 결제수단의 symbols 중 하나를 넣는다.
  • resource_keys 중 required 가 true 인 키만 필수다. 하나라도 비면 RESOURCE_KEY_BLANK 로 거부된다. required 가 false 인 키는 PG 사가 준 경우에만 넣는다(빼거나 빈 값이어도 된다). 부트페이 관리자 화면의 연동 정보 저장과 같은 기준이다.
  • 결제 모드가 있는 결제수단(일부 PG)은 새로 붙일 때의 기본 결제 모드 기준으로 required 를 준다. 관리자 화면에서 다른 모드를 고른 결제수단을 갱신하면 그 모드의 필수 키로 검사한다.
  • 값은 가맹 계약 뒤 PG 사가 알려 준다. description 은 부트페이 관리자 화면의 안내 문구라 HTML 이 섞여 있을 수 있다.
  • input_type 이 textarea 인 키는 여러 줄 값(예: 인증서 PEM)이다.
  • 사용 중인 PG·결제수단만 나온다. pg 를 주면 그 PG 하나만 온다.
  • 모든 리셀러가 같은 목록을 본다.

API 정보

GEThttps://api.bootpay.co.kr/v2/reseller/pgsBasic Auth (리셀러 계정 키)

요청 파라미터

파라미터 타입 필수 설명
pg String 선택 PG 심볼(예: nicepay). 주면 그 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/pgs?pg=nicepay', {
    headers: { 'Authorization': RESELLER_AUTH }
})
const { list } = await res.json()
const card = list[0].methods.find(m => m.method === 'card')
console.log(card.resource_keys.filter(k => k.required).map(k => k.key)) // resource 에 꼭 넣을 키javascript

응답

{
  "list": [
    {
      "pg":      "nicepay",
      "pg_name": "나이스페이먼츠",
      "symbols": ["nicepay"],
      "methods": [
        {
          "method":            "card",
          "method_name":       "카드",
          "display_name":      "신용카드",
          "symbols":           ["card", "카드"],
          "group":             2,
          "sandbox_supported": true,
          "resource_keys": [
            { "key": "mid",        "description": "상점 아이디를 입력해주세요.",        "input_type": "input", "required": true },
            { "key": "mkey",       "description": "상점키를 입력해주세요.",             "input_type": "input", "required": true },
            { "key": "cancel_pwd", "description": "결제 취소 비밀번호를 입력해주세요.", "input_type": "input", "required": false }
          ]
        }
      ]
    }
  ]
}json
필드 타입 필수 설명
list Array 필수 PG 목록(부트페이 노출 순서)
pg String 필수 PG 심볼(별칭)
pg_name String 필수 PG 이름
symbols Array 필수 resources[].pg 에 넣을 수 있는 값
methods Array 필수 결제수단 목록
method String 필수 결제수단 심볼(별칭)
method_name String 필수 결제수단 이름
display_name String 선택 화면 표시 이름
symbols Array 필수 resources[].method 에 넣을 수 있는 값
group Number 선택 결제 그룹
sandbox_supported Boolean 필수 테스트 모드(sandbox: true) 지원 여부. true 면 연동 값(resource) 없이 sandbox: true 만으로 붙일 수 있다(부트페이 테스트 키로 결제)
resource_keys Array 필수 resource 에 넣을 수 있는 키. 필수는 required 가 true 인 키만
key String 필수 키 이름
description String 선택 안내 문구(HTML 이 섞일 수 있다)
input_type String 선택 input 한 줄 · textarea 여러 줄
required Boolean 필수 필수 여부. true 면 비었을 때 RESOURCE_KEY_BLANK (기본 결제 모드 기준)

에러 코드

코드 메시지 대처 방법
API_ONLY_RESELLER (601) 리셀러만 이용이 가능한 API 다 리셀러 권한 계정 키로 호출한다
API_SCOPE_INVALID 허용되지 않은 API 권한의 키다 (HTTP 401) 키에 이 API 의 리셀러 스코프 를 주거나 전체 권한(supervisor) 키로 호출한다
PG_RESOURCE_NOT_FOUND (1004) pg 로 보낸 PG 를 찾지 못했다 (HTTP 404) pg 없이 불러 고를 수 있는 PG 를 확인한다

함께 보기