서버에서 Bootpay API를 호출할 때 Basic Auth로 인증해요. 별도의 토큰 발급 없이 매 요청마다
Authorization헤더를 포함하면 돼요.
모든 서버 API 요청에 Authorization: Basic {credentials} 헤더를 추가해요. {credentials}는 client_key:secret_key를 Base64로 인코딩한 값이에요.
인증 방식
Authorization: Basic base64(client_key:secret_key)예를 들어 client_key가 my_client_key이고 secret_key가 my_secret_key이면:
base64("my_client_key:my_secret_key") → "bXlfY2xpZW50X2tleTpteV9zZWNyZXRfa2V5"
Authorization: Basic bXlfY2xpZW50X2tleTpteV9zZWNyZXRfa2V5연동키 확인 방법
백엔드 연동키(Client Key, Secret Key)는 관리자 콘솔 > 개발자 설정의 결제 연동키 탭에서 확인할 수 있어요.
코드 예제
import { Bootpay } from '@bootpay/backend-js'
// SDK 사용 시 — SDK가 Basic Auth를 자동 처리한다
Bootpay.setConfiguration({
client_key: '[ Client Key ]',
secret_key: '[ Secret Key ]'
})
// 이후 API 호출 시 인증이 자동 적용된다
const receipt = await Bootpay.receiptPayment('receipt_id')javascript// SDK 없이 직접 호출할 때
const BASIC_AUTH = 'Basic ' + btoa(`${process.env.BOOTPAY_CLIENT_KEY}:${process.env.BOOTPAY_SECRET_KEY}`)
const res = await fetch('https://api.bootpay.co.kr/v2/receipt/receipt_id', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': BASIC_AUTH
}
})javascriptfrom bootpay_backend import BootpayBackend
# SDK 사용 시 — SDK가 Basic Auth를 자동 처리한다
bootpay = BootpayBackend(client_key='CLIENT_KEY', secret_key='SECRET_KEY')
receipt = bootpay.receipt_payment('receipt_id')pythonuse Bootpay\ServerPhp\BootpayApi;
// SDK 사용 시 — SDK가 Basic Auth를 자동 처리한다
BootpayApi::setClientKeyConfiguration('CLIENT_KEY', 'SECRET_KEY');
$receipt = BootpayApi::receiptPayment('receipt_id');phpimport kr.co.bootpay.pg.Bootpay;
// SDK 사용 시 — SDK가 Basic Auth를 자동 처리한다
Bootpay bootpay = Bootpay.withClientKey("CLIENT_KEY", "SECRET_KEY");
var receipt = bootpay.getReceipt("receipt_id");javabootpay = Bootpay::Api.new(client_key: 'CLIENT_KEY', secret_key: 'SECRET_KEY')
receipt = bootpay.verify('receipt_id').datarubyimport "github.com/bootpay/backend-go/v2"
api := bootpay.NewAPIWithClientKey("CLIENT_KEY", "SECRET_KEY", nil, "")
receipt, err := api.GetReceipt("receipt_id")gousing Bootpay;
var bootpay = BootpayApi.WithClientKey("CLIENT_KEY", "SECRET_KEY");
var receipt = await bootpay.GetReceipt("receipt_id");csharp에러 코드
공통 에러
인증·권한 관련 에러는 에러 코드표를 참고해요.
| 코드 | 메시지 | 대처 방법 |
|---|---|---|
PROJECT_KEY_NOT_FOUND |
프로젝트 API 연동키가 생성되지 않았습니다. [설정 | 관리자 > 개발자 설정 > API 연동키에서 키를 생성한다 |
PROJECT_SK_NOT_MATCHED |
Secret Key가 일치하지 않다 | Secret Key를 다시 확인해요 |
PROJECT_AT_AUTHORIZE_HEADER_BLANK |
인증 헤더가 비어있다 | Authorization: Basic {base64} 형식으로 헤더를 추가해요 |
백엔드 연동키(Client Key, Secret Key)는 백엔드에서만 써요. 프론트엔드에 노출하지 않아요.
