본문 바로가기
빌링플러스

정기결제 API 연동 가이드: 화면과 API 함께 쓰기

빌링플러스 정기결제 API로 무엇을 연결할 수 있는지, 인증 방식과 연동 순서, 화면과 API를 섞어 쓰는 방법을 개발자 관점에서 정리했습니다.

자체 서비스에 정기결제를 붙이려는 개발자에게 가장 큰 부담은 결제사 승인 API 자체보다 그 주변입니다. 청구일 계산, 매일 도는 배치, 재청구, 미확정 처리, 운영 화면까지 만들어야 하기 때문입니다. 빌링플러스는 이 부분을 플랫폼이 운영하고, 개발자는 필요한 업무만 API와 웹훅으로 연결합니다.

무엇을 직접 만들지 않아도 되나

결제사 정기결제를 직접 연동해 배치·재청구·관리 화면까지 만드는 경우와 비교하면 개발 기간과 작업량이 90% 이상 줄어듭니다(빌링플러스 자체 기준). 청구일에 결제를 실행하는 배치는 빌링플러스가 운영하므로, 가맹점 서버가 크론을 돌릴 필요가 없습니다.

연동 순서

  1. 설정 > API 연동에서 API 키와 시크릿을 발급합니다. 시크릿은 발급 화면에서 한 번만 보입니다.
  2. 서명 헤더를 만들어 GET /api/v1/ping으로 연결을 확인합니다. 응답의 가맹점명과 서버 시각으로 키와 시계를 점검합니다.
  3. 회원 등록 API로 회원을 만들고, 카드는 등록창이나 등록 링크로 받습니다.
  4. 계약 API로 금액·청구일·주기를 정합니다.
  5. 웹훅 수신 주소를 등록해 결제 결과를 받습니다.

인증: HMAC 서명

요청마다 X-BillingPlus-Key, X-BillingPlus-Timestamp, X-BillingPlus-Nonce, X-BillingPlus-Signature 헤더를 보냅니다. 서명은 메서드, 쿼리스트링을 포함한 경로, 타임스탬프, 논스, 본문 해시를 줄바꿈으로 이어 시크릿으로 HMAC-SHA256 한 값입니다. 시각은 서버와 5분 이상 어긋나면 거부되고, 같은 논스는 다시 쓸 수 없습니다. 자세한 예제는 인증 문서에 있습니다.

POST에는 Idempotency-Key

모든 POST 요청에는 Idempotency-Key 헤더가 필요합니다. 같은 키로 다시 보내면 새로 처리하지 않고 저장된 응답을 돌려주므로, 네트워크 오류로 재시도해도 결제가 두 번 나가지 않습니다.

화면과 API를 섞어 써도 됩니다

  • 화면과 API는 같은 결제 경로를 쓰므로 결과가 한곳에 모입니다.
  • 회원은 API로 만들고 미납 처리는 화면에서 해도 됩니다.
  • 카드번호를 우리 API로 보내는 엔드포인트는 없습니다. 카드는 등록창이나 링크로 회원이 직접 입력합니다.
  • 결제 거절은 서버 오류가 아니라 정상 응답의 실패 상태로 옵니다.

연동 뒤에는 설정 메뉴의 연동 현황 화면에서 호출 실패율과 웹훅 전달률을 확인하세요. 문제가 생기면 화면이 경고와 함께 할 일을 알려 줍니다.

다음 단계

처음이라면 빠른 시작부터 보세요. 전체 엔드포인트는 API 레퍼런스에, 오류 형식은 오류 문서에 있습니다. 연동 범위를 정하기 어렵다면 도입 상담을 남겨 주세요.

우리 사업에 맞게 시작하고 싶다면

회원 규모와 지금의 결제 방식을 알려 주시면 담당자가 도입 방법을 안내해 드립니다.