결제 게이트웨이란? 온라인 결제의 원리를 쉽게 설명합니다
결제 게이트웨이는 고객이 결제 버튼을 눌렀을 때 결제 정보를 안전하게 받아 은행과 카드사에 승인을 요청하고, 몇 초 안에 “승인” 또는 “거절” 결과를 돌려주는 서비스입니다. 앱과 금융 시스템을 잇는 다리입니다. Stripe, PayPal, Adyen, Square, Braintree가 잘 알려진 예입니다.
요즘에는 대부분의 회사가 게이트웨이와 돈을 받는 데 필요한 다른 기능을 함께 묶어 제공합니다. 그래서 ‘결제 게이트웨이’, ‘결제 프로세서’, ‘결제 제공업체’라는 말이 같은 의미로 쓰이는 경우가 많습니다.
AI로 만들 때 결제 게이트웨이가 중요한 이유
“결제 기능을 추가해 줘”는 AI 빌더에 가장 흔하게 하는 요청 중 하나이며, 미묘하게 잘못 만들기도 쉬운 요청입니다. 실제 코드는 보통 짧습니다. 중요한 것은 그 주변의 결정들입니다.
- 어떤 제공업체를 쓸지. 사업 형태, 국가, 판매하는 상품에 맞아야 합니다.
- 코드가 어디서 실행되는지. 비밀 결제 키는 반드시 서버에 있어야 하며, 브라우저에 있으면 안 됩니다.
- 앱이 결제 성공을 어떻게 아는지. 신뢰할 수 있는 방법은 고객이 “감사합니다” 페이지에 도착하는 것이 아니라, 제공업체가 보내는 웹훅을 받는 것입니다.
- 법적·세금적 책임. 누가 판매 명의자인지에 따라 달라집니다.
게이트웨이가 무엇을 하는지 알면 명확한 지시를 내릴 수 있고, 결과가 안전한지도 확인할 수 있습니다.
일상 속 비유
매장에서 카드로 결제하는 장면을 떠올려 보세요.
계산대의 카드 단말기가 게이트웨이입니다. 카드를 안전하게 읽고 요청을 보냅니다. 판단은 하지 않습니다. “이 사람이 40유로를 낼 수 있나요?”라는 질문을 연결된 여러 곳에 넘기고 답을 받아 돌려줄 뿐입니다. 판단은 매장의 은행(매입사)과 고객의 은행(발급사)이 하며, 둘을 연결하는 것은 비자나 마스터카드 같은 카드 브랜드입니다.
온라인 결제 게이트웨이는 이 단말기를 웹용으로 다시 만든 것이며, 인터넷을 통해 들어온 카드 정보를 다루기 위한 보안이 더해진 형태입니다.
온라인 카드 결제의 흐름
고객이 “결제”를 누른 뒤 몇 초 동안 일어나는 일은 다음과 같습니다.
| 단계 | 무슨 일이 일어나나요 | 누가 처리하나요 |
|---|---|---|
| 1. 결제 화면 | 고객이 보안 결제 양식에 카드 정보를 입력합니다 | 제공업체의 양식이나 페이지 |
| 2. 암호화 | 정보가 암호화되어 게이트웨이로 전송됩니다 | 게이트웨이 |
| 3. 승인 요청 | 요청이 카드 브랜드와 고객의 은행으로 전달됩니다 | 프로세서, 카드 브랜드 |
| 4. 검사 | 발급 은행이 잔액과 사기 신호를 확인하고, 3D Secure 같은 추가 인증을 요구할 수 있습니다 | 발급 은행 |
| 5. 응답 | 승인 또는 거절 결과가 앱으로 돌아옵니다 | 게이트웨이 |
| 6. 매입과 정산 | 금액이 수거되고, 제공업체의 지급 일정에 따라 수수료를 뺀 금액이 내 은행 계좌로 들어옵니다 | 프로세서, 매입사 |
알아 두면 좋은 두 가지 포인트가 있습니다.
- 승인이 곧 입금은 아닙니다. 먼저 금액이 예약되고, 그다음 매입되며, 이후 정산되어 내 계좌로 들어오는데 보통 며칠이 걸립니다.
- 앱은 카드 번호를 전혀 보지 않아야 합니다. 최신 제공업체는 제공업체가 통제하는 호스팅 결제 페이지나 임베디드 입력란을 제공하고, 앱은 결제에 대한 참조 값만 받습니다.
주요 구성 요소와 담당 주체
| 구성 요소 | 설명 |
|---|---|
| 결제 게이트웨이 | 결제 정보를 안전하게 받아 전달합니다. |
| 결제 프로세서 | 은행 사이에서 거래 데이터를 옮깁니다. |
| 가맹점 계정 | 나를 대신해 카드 결제금을 받는 계정입니다. Stripe 같은 제공업체가 묶어서 제공합니다. |
| 매입사(Acquirer) | 판매자 쪽의 은행입니다. |
| 발급사(Issuer) | 고객의 은행으로, 승인 또는 거절을 결정합니다. |
| 카드 브랜드 | 비자, 마스터카드 등으로, 매입사와 발급사를 연결합니다. |
| 판매 명의자(Merchant of Record) | 고객에게 법적으로 판매하는 사업자이며, 세금, 환불, 지급 거절을 책임집니다. |
일부 제공업체(Paddle, Lemon Squeezy)는 판매 명의자로서 직접 부가가치세와 판매세를 대신 처리해 주는 대신 수수료가 더 높습니다. 다른 곳(Stripe, PayPal)에서는 여러분이 판매 명의자가 되고, 세금 도구는 선택 사항입니다. 선택지를 공정하게 비교하려면 Stripe vs Paddle vs Lemon Squeezy와 Stripe vs PayPal을 참고하세요.
실제 예시: 강의 판매
온라인 강의를 99유로에 판매하면서, AI 빌더에게 “구매” 버튼을 추가해 달라고 요청한다고 해 봅시다.
- 고객이 구매를 누릅니다. 서버는 비밀 키를 사용해 제공업체에 99유로짜리 결제 세션을 만들어 달라고 요청하고, 링크를 받습니다.
- 고객은 제공업체의 호스팅 결제 페이지로 이동해 카드를 입력하고, 은행의 3D Secure 확인을 마칩니다.
- 결제가 승인되고, 고객은 “성공” 페이지로 이동합니다.
- 별도로 제공업체가 서버에 웹훅을 보냅니다. “세션 X의 결제가 성공했습니다.” 서버는 웹훅 서명을 확인하고, 주문을 찾아 결제 완료로 표시한 뒤 강의를 열어 줍니다.
- 며칠 뒤 수수료를 뗀 금액이 은행 계좌로 입금됩니다.
4단계가 가장 중요합니다. 성공 페이지에서 강의를 열어 주었다면, 그 URL을 찾은 누구나 무료로 강의를 받을 수 있고, 결제 후 브라우저를 일찍 닫은 고객은 돈을 내고도 강의를 받지 못합니다.
핵심 용어
| 용어 | 의미 |
|---|---|
| 결제 세션 | 특정 구매를 위해 서버가 만드는 일회성 결제 페이지 또는 흐름입니다. |
| 테스트 모드 | 테스트 키와 테스트 카드 번호를 쓰는 샌드박스입니다. 실제 돈은 움직이지 않습니다. |
| 공개 키 / 비밀 키 | 공개 키는 브라우저 코드에 있어도 되지만, 비밀 키는 반드시 서버에만 있어야 합니다. |
| 3D Secure | 고객이 은행을 통해 결제를 확인하는 추가 단계입니다. 유럽에서는 SCA(강력한 고객 인증) 규정에 따라 흔히 쓰입니다. |
| PCI DSS | 카드 정보를 다루는 모든 사업자를 위한 카드 업계의 보안 표준입니다. |
| 차지백(Chargeback) | 고객이 결제를 은행에 이의 제기하여 돈이 회수되는 것입니다. |
| 환불 | 내가 자발적으로 돈을 돌려주는 것입니다. |
| 지급(Payout) | 제공업체가 수금한 돈을 내 은행 계좌로 보내는 것입니다. |
흔한 오해
- “정기 결제를 하려면 카드 번호를 저장해야 한다.” 아닙니다. 제공업체가 카드를 저장하고, 반복 결제와 구독에 쓸 참조 토큰을 줍니다. 카드 번호를 직접 저장해서는 절대 안 됩니다.
- “성공 페이지가 떴으니 결제가 된 것이다.” 결제 확인은 서버에서 웹훅으로 해야 합니다. 리디렉션은 건너뛰어질 수도, 조작될 수도, 아예 일어나지 않을 수도 있습니다.
- “결제 제공업체는 다 비슷한 비용이다.” 수수료는 제공업체, 국가, 카드 종류, 세금 처리 포함 여부에 따라 다릅니다. 국가별 최신 요금표를 확인하세요.
- “Stripe를 쓰면 PCI 인증이 자동으로 된다.” 훨씬 간단해지는 것은 맞습니다. 카드 정보가 제공업체에 머물기 때문이지만, 보통 짧은 자가 점검은 여전히 해야 합니다.
- “테스트 모드와 실서비스 모드는 완전히 같다.” 거의 비슷하지만, 실서비스에는 인증이 완료된 계정, 실서비스 환경용 웹훅 엔드포인트, 실제 은행 정보가 필요합니다.
- “결제 게이트웨이가 세금도 처리해 준다.” 판매 명의자이거나 세금 기능을 직접 켜고 설정한 경우에만 그렇습니다. 현지 규정을 확인하거나 전문가에게 문의하세요.
AI 빌더에 요청할 내용
- “[상품]을 위해 [Stripe] 체크아웃을 추가해 주세요. 세션은 환경 변수의 비밀 키를 사용해 서버에서 만들어 주세요.”
- “주문은 검증된 웹훅을 받았을 때만 결제 완료로 표시하고, 웹훅 서명도 확인해 주세요.”
- “웹훅이 두 번 와도 주문이 중복 생성되지 않도록 처리해 주세요.”
- “테스트 모드 키를 사용하고, 제공업체의 테스트 카드(거절되는 카드 포함)로 테스트하는 방법을 알려 주세요.”
- “고객이 결제 후 탭을 닫으면 어떻게 되나요?”
- “결제 키가 쓰이는 모든 곳을 보여 주고, 비밀 키가 브라우저에 절대 전달되지 않는다는 것을 확인해 주세요.”
Mythex의 결제 게이트웨이
Mythex는 만드는 앱에 결제 기능을 내장하고 있지 않으며, 한 번의 클릭으로 Stripe를 연결하는 기능도 없습니다. 원하는 제공업체에서 계정을 만들고, 그 테스트 키를 프로젝트 시크릿으로 추가한 다음, 서버 쪽에서 결제 화면을 구현해 달라고 에이전트에게 요청하세요. 미리보기에서 제공업체의 테스트 카드로 테스트한 뒤 게시하면 됩니다. 문서의 Stripe로 결제 받기에 전체 과정이 나와 있고, 웹훅에서는 결제 확인 단계를 다룹니다.
앱에 결제를 추가하는 단계별 방법은 앱에 결제 기능을 추가하는 방법을, 정기 결제는 Stripe로 구독 추가하는 방법을 참고하세요.
자주 묻는 질문
결제 게이트웨이란 간단히 말해 무엇인가요?
결제 게이트웨이는 결제 화면에서 고객의 결제 정보를 안전하게 받아, 은행과 카드사에 승인을 요청하고, 승인 또는 거절 결과를 앱에 돌려주는 서비스입니다. 보통 몇 초 안에 이 과정이 끝납니다.
결제 게이트웨이와 결제 처리업체(프로세서)는 어떻게 다른가요?
엄밀히 말하면 게이트웨이는 결제 정보를 안전하게 받아 전달하는 정문 역할이고, 프로세서는 은행 사이에서 거래를 옮기는 역할입니다. 하지만 Stripe, PayPal, Adyen 같은 최신 제공업체는 둘을 가맹점 계정과 함께 하나의 서비스로 묶어 제공하므로, 두 용어가 혼용되는 경우가 많습니다.
카드 결제를 받으려면 PCI 인증이 필요한가요?
카드를 받는 모든 사업자는 어떤 형태로든 PCI DSS 보안 표준을 충족해야 합니다. 호스팅된 결제 페이지나 제공업체의 임베디드 결제 입력란을 쓰면 카드 번호가 내 서버를 거치지 않으므로, 내가 책임질 범위가 크게 줄어듭니다. 어떤 자가 점검이 적용되는지는 제공업체가 알려 줍니다.
판매 명의자(Merchant of Record)란 무엇인가요?
판매 명의자는 고객에게 법적으로 상품을 판매하는 사업자로서, 부가가치세나 판매세의 징수와 납부, 환불, 지급 거절(차지백) 처리 등을 책임집니다. Paddle이나 Lemon Squeezy는 대신 판매 명의자 역할을 해 주고, Stripe나 PayPal을 쓰면 보통 직접 판매 명의자가 됩니다.
AI로 만든 앱에 결제 기능을 추가할 수 있나요?
네. AI 빌더는 Stripe 같은 제공업체와 앱을 연결하는 코드를 작성할 수 있습니다. 서버에서 결제 세션을 만들고, 웹훅을 처리하고, 주문 상태를 갱신하는 식입니다. 제공업체에 직접 계정을 만들어야 하며, 실서비스 전에 반드시 테스트 모드에서 모든 기능을 확인해야 합니다.