생성 때 실패한 커머스 연동을 같은 프로젝트에 다시 붙인다.
프로젝트에 부트페이 커머스 프로젝트를 생성해 연결한다. 생성 응답에서 커머스 생성이 실패했을 때, 또는 커머스 연동이 없던 시기에 만든 프로젝트에 커머스를 붙일 때 쓴다.
핵심 요약
- 생성 응답의
commerce.status 가 failed 였다면 생성 API 를 다시 부르지 말고 이 API 로 커머스만 다시 시도한다.
- 여러 번 불러도 커머스 프로젝트가 중복으로 생기지 않는다. 이미 있으면
exists 로 응답한다.
- 요청 본문은 없다. 경로의
app_id 만 보낸다.
- 커머스 연동 이전에 만든 하위 가맹점의 프로젝트에도 같은 방법으로 커머스를 붙인다.
API 정보
PUThttps://api.bootpay.co.kr/v2/reseller/seller/app/commerce/:app_idBasic Auth (리셀러 계정 키)
요청 파라미터
| 파라미터 |
타입 |
필수 |
설명 |
app_id |
String |
필수 |
커머스를 연결할 프로젝트의 app_id (URL 경로) |
코드 예제
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 appId = '65a1c0ab8f1b5b00367a0002'
const res = await fetch(`https://api.bootpay.co.kr/v2/reseller/seller/app/commerce/${appId}`, {
method: 'PUT',
headers: {
'Authorization': RESELLER_AUTH
}
})
const data = await res.json()
console.log(data.commerce.status)javascript
import base64, os, requests
auth = 'Basic ' + base64.b64encode(
f"{os.environ['BOOTPAY_RESELLER_CLIENT_KEY']}:{os.environ['BOOTPAY_RESELLER_SECRET_KEY']}".encode()
).decode()
app_id = '65a1c0ab8f1b5b00367a0002'
res = requests.put(
f'https://api.bootpay.co.kr/v2/reseller/seller/app/commerce/{app_id}',
headers={'Authorization': auth}
)
print(res.json())python
RESELLER_AUTH=$(printf '%s' "$BOOTPAY_RESELLER_CLIENT_KEY:$BOOTPAY_RESELLER_SECRET_KEY" | base64)
APP_ID='65a1c0ab8f1b5b00367a0002'
curl -X PUT "https://api.bootpay.co.kr/v2/reseller/seller/app/commerce/$APP_ID" \
-H "Authorization: Basic $RESELLER_AUTH"bash
응답
{
"app_id": "65a1c0ab8f1b5b00367a0002",
"commerce": {
"status": "created",
"seller_id": "65a1c0ab8f1b5b00367a0005",
"project_id": "65a1c0ab8f1b5b00367a0006",
"client_key": "example_commerce_client_key"
}
}json
응답 파라미터
| 파라미터 |
타입 |
설명 |
| app_id |
String |
프로젝트 식별자 |
| commerce |
Object |
커머스 프로젝트 정보 |
| commerce.status |
String |
created 새로 생성, exists 기존 프로젝트 연결, failed 커머스 생성 실패 (message 포함) |
| commerce.seller_id |
String |
커머스 셀러 식별자 |
| commerce.project_id |
String |
커머스 프로젝트 식별자 |
| commerce.client_key |
String |
커머스 공개키. 프론트 SDK 용이며 서버용 secret 은 키 생성·조회 에서 발급한다 |
에러 코드
| 코드 |
메시지 |
대처 방법 |
API_ONLY_RESELLER |
리셀러만 이용이 가능한 API 다 |
리셀러 권한 계정 키로 호출한다 |
API_SCOPE_INVALID |
허용되지 않은 API 권한의 키다 |
리셀러 프로젝트의 전체 권한(supervisor) Client Key 로 호출한다 |
APP_NOT_FOUND |
프로젝트를 찾지 못했다 |
app_id 가 올바른지 확인한다 |
APP_NOT_PERMIT |
본인 하위 프로젝트가 아니다 |
app_id 가 본인 리셀러 하위 셀러의 프로젝트인지 확인한다 |
다음 단계