가맹점 생성 ·프로젝트 생성 ·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 정보 GET https://api.bootpay.co.kr/v2/reseller/pgsBasic Auth (리셀러 계정 키)
요청 파라미터
파라미터
타입
필수
설명
pg
String
선택
PG 심볼(예: nicepay). 주면 그 PG 만 돌려준다 (쿼리)
코드 예제 Node.js Python cURL
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 Node.js Python cURL
import base64, os, requests
auth = 'Basic ' + base64.b64encode(
f " { os.environ[ 'BOOTPAY_RESELLER_CLIENT_KEY' ] } : { os.environ[ 'BOOTPAY_RESELLER_SECRET_KEY' ] } " .encode()
).decode()
res = requests.get( 'https://api.bootpay.co.kr/v2/reseller/pgs' , headers = { 'Authorization' : auth})
for pg in res.json()[ 'list' ]:
print (pg[ 'pg' ], [m[ 'method' ] for m in pg[ 'methods' ]]) python Node.js Python cURL
RESELLER_AUTH = $( printf '%s' " $BOOTPAY_RESELLER_CLIENT_KEY : $BOOTPAY_RESELLER_SECRET_KEY " | base64 )
curl "https://api.bootpay.co.kr/v2/reseller/pgs?pg=nicepay" -H "Authorization: Basic $RESELLER_AUTH " bash
응답 {
"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 를 확인한다