← 블로그로 돌아가기 개발자 · API 연동

결제 API 5분 만에 연동하기 — ChatGPT·Claude 활용법

OpenAPI 스펙만 AI 에 첨부하면 본인 언어·프레임워크로 결제 코드 자동 생성. 실제 프롬프트와 결과물까지 단계별로 풀어봅니다.

Payvit 운영팀 · · 읽기 6분

"결제 연동, 며칠 걸리실 거예요" 라는 말을 5년 전엔 당연하게 들었습니다. 각 결제사 가이드를 읽고, SDK 설치하고, 인증·승인·취소·웹훅 콜백을 따로따로 구현하고, 테스트 카드로 검증하고… 작은 회사 한 명 개발자가 처음부터 하면 1주일은 잡아야 했습니다.

그런데 2024년부터 분위기가 바뀌었습니다. ChatGPT·Claude·Gemini 같은 AI 코딩 도구가 OpenAPI 스펙을 읽고 본인 프로젝트에 맞는 코드를 직접 짜주는 시대가 됐기 때문입니다. Payvit 은 이걸 정면으로 노려 openapi.yaml·llms.txt 를 처음부터 공개합니다 — AI 가 결제 연동의 1차 도우미가 되는 환경.

이 글에서는 실제로 ChatGPT 에 어떻게 프롬프트를 던져서 5분 안에 결제 코드를 받아내는지 단계별로 풀어봅니다.


1. 사전 준비 (5분 안에 끝)

준비물은 단 두 개 URL.

openapi.yaml 은 9개 endpoint 의 request/response schema 를 OpenAPI 3.1 표준으로 정의한 파일입니다. AI 도구가 읽으면 "Payvit API 는 어떤 요청·응답을 받는다" 를 정확히 파악합니다. llms.txt 는 더 간단한 1페이지 요약 — 핵심 endpoint 와 인증 방식을 설명합니다.

2. 첫 프롬프트: "결제 생성 코드 짜줘"

ChatGPT 또는 Claude 에 다음 프롬프트를 던져봅시다 (실제 작동합니다).

아래 OpenAPI 스펙을 참고해서 Payvit 결제 연동 코드를 Node.js + Express 로 작성해줘.

스펙: https://api.getpayvit.com/openapi.yaml

요구사항:
1. POST /api/payment/create 호출하여 paymentLink 발급
2. /webhook endpoint 에서 결제 완료 수신 (HTTP 200 + {"resultCode":"OK"} 응답)
3. extraData 에 내부 주문번호 JSON 으로 넣고 webhook 에서 그대로 매칭
4. axios 사용, 환경변수 PAYVIT_API_KEY 로 인증

3. AI 가 생성하는 결과물

약 30초 ~ 1분 안에 AI 가 다음과 비슷한 코드를 생성합니다 (실제 ChatGPT-5 결과 예시):

// payment-router.js
const express = require("express");
const axios = require("axios");
const router = express.Router();

const PAYVIT_BASE = "https://api.getpayvit.com";
const API_KEY = process.env.PAYVIT_API_KEY;

// 결제 생성 — 고객에게 paymentLink 전달
router.post("/create-payment", async (req, res) => {
    try {
        const { merchantId, orderId, productName, price, internalOrderId } = req.body;

        const response = await axios.post(
            `${PAYVIT_BASE}/api/payment/create`,
            {
                merchantId,
                orderId,
                productName,
                price,
                extraData: JSON.stringify({ internalOrderId })
            },
            { headers: { "X-API-Key": API_KEY } }
        );

        if (response.data.resultCode === "00") {
            res.json({ paymentLink: response.data.data.paymentLink });
        } else {
            res.status(400).json({ error: response.data.message });
        }
    } catch (err) {
        res.status(500).json({ error: err.message });
    }
});

// 웹훅 수신 — 결제 결과 알림
router.post("/webhook", (req, res) => {
    const { paymentId, orderId, payStatus, price, extraData } = req.body;

    if (payStatus === "20") {
        // 결제 성공
        const { internalOrderId } = JSON.parse(extraData || "{}");
        // 내부 DB 에서 internalOrderId 로 주문 찾아서 처리
        markOrderAsPaid(internalOrderId, paymentId);
    }

    // ⚠️ 반드시 HTTP 200 + JSON 응답
    res.status(200).json({ resultCode: "OK" });
});

module.exports = router;

위 코드는 즉시 실행 가능한 상태입니다. 인증 헤더(X-API-Key) · request body schema · webhook 응답 형식 모두 Payvit OpenAPI 스펙에 따라 정확히 맞춰져 나옵니다. "axios 대신 fetch 로 바꿔줘" 같은 후속 요청도 자연스럽게 받습니다.

4. 더 복잡한 프롬프트 — "전체 결제 흐름 + 에러 처리"

실전에서는 에러 처리·재시도·로깅까지 필요합니다. 이렇게 한 번에 요청해도 됩니다.

같은 OpenAPI 스펙으로 Spring Boot (Java 21) 결제 연동 모듈을 만들어줘.

포함 사항:
1. PaymentService 클래스 — create/get/cancel 3개 메서드
2. WebhookController — 결제 결과 수신 + 멱등성 처리 (paymentId 중복 체크)
3. ResultCode 별 에러 처리 (00/98/99/-1)
4. WebClient (reactive) 사용, 타임아웃 5초
5. Logback 으로 모든 결제 호출 로깅

JaCoCo 테스트 커버리지 80% 이상 유지하도록 단위 테스트도 같이.

AI 는 위 요구를 모두 이해하고 5~10개 파일로 나눠서 코드를 생성합니다. 5분 안에 production-ready 결제 모듈 완성. 모르던 결제사라도 OpenAPI 스펙 한 번 던지면 AI 가 학습된 도메인 지식과 조합해 적절한 구조를 짜줍니다.

5. AI 가 자주 하는 실수와 검증 방법

AI 출력은 99% 정확하지만 가끔 다음 실수가 나옵니다.

  1. 인증 헤더 이름: Authorization: Bearer ... 처럼 OAuth 패턴으로 추측해서 적는 경우. Payvit 은 X-API-Key: ... 입니다 (스펙 명시).
  2. resultCode 처리 누락: HTTP 200 이어도 resultCode"99" (비즈니스 오류) 인 경우가 있습니다. response.data.resultCode === "00" 체크 필수.
  3. 웹훅 응답 누락: AI 가 res.send() 만 하고 JSON 미반환하는 경우. 반드시 res.json({"resultCode": "OK"}) 응답해야 재시도가 안 옵니다.

이 3가지만 점검하면 90% 이상 작동합니다.

6. 더 강력한 활용 — Cursor / Windsurf / Claude Code

ChatGPT 채팅 방식보다 더 강력한 건 코드 에디터 통합형 AI 입니다. Cursor·Windsurf·Claude Code 같은 도구는 본인 프로젝트의 기존 파일 구조를 읽고, Payvit OpenAPI 스펙을 reference 로 참조하면서 기존 코드 스타일에 맞춰 결제 코드를 추가해줍니다.

예시 워크플로:

  1. Cursor 에서 본인 프로젝트 열기
  2. Cmd+L (또는 Ctrl+L) 으로 챗 창 열기
  3. "@web https://api.getpayvit.com/openapi.yaml 참고해서 우리 프로젝트에 결제 모듈 추가해줘" 입력
  4. 제안된 변경사항 검토 → Apply

코드 스타일·테스트 패턴·로거 사용법까지 본인 프로젝트의 기존 코드를 반영해서 자연스럽게 추가됩니다. 결제 연동에 들어가던 전통적 1주일 작업이 실제로 30분 이내에 끝납니다.

7. SDK 가 없는 게 오히려 장점

Payvit 은 의도적으로 SDK 를 제공하지 않습니다. 대신 OpenAPI 스펙과 llms.txt 를 노출합니다.

접근 방식 SDK 제공 OpenAPI + AI
지원 언어 SDK 가 만든 언어만 (보통 5~7개) 모든 언어 (AI 가 즉석 변환)
버전 관리 SDK 업데이트 → 가맹점 패치 필요 스펙만 갱신, AI 가 항상 최신
커스터마이징 SDK 추상화 레이어 우회 어려움 REST 직접 호출, 자유로움
학습 비용 SDK 자체 문법 학습 필요 HTTP 만 알면 끝

8. 정리

  1. OpenAPI + llms.txt 두 URL 만 ChatGPT/Claude 에 첨부 → 결제 코드 5분 자동 생성
  2. 본인 언어·프레임워크 무관, AI 가 즉석 변환
  3. 인증 헤더 / resultCode 체크 / webhook 응답 — 3가지만 검증하면 99% OK
  4. Cursor·Claude Code 통합형 도구는 기존 코드 스타일까지 반영
  5. SDK 가 없는 게 오히려 자유도 ↑ (모든 언어 + 자유로운 커스터마이징)

결제 연동이 더 이상 "며칠 걸리는 작업" 이 아닙니다. AI 가 도메인 지식의 90% 를 보완해주는 시대 — 본인은 비즈니스 로직과 검증에만 집중하면 됩니다. Payvit 은 그 흐름을 가장 빠르게 받아들인 결제 게이트웨이입니다.

지금 OpenAPI 첨부하고 코드 받아보세요

사업자등록증 1장 → 1분 가맹등록 → ChatGPT 에 스펙 첨부 → 결제 시작.

OpenAPI 스펙 보기

※ 이 글의 코드 예시는 ChatGPT 와 Claude 의 실제 출력을 기반으로 정리됐습니다. AI 모델 버전·프롬프트에 따라 결과는 다를 수 있으나 OpenAPI 스펙이 정확하면 핵심 로직은 동일하게 생성됩니다.