테스트 결제 모드
진짜 카드를 안 긁고 결제 전 과정을 점검하는 모드예요. 오픈 전에 반드시 하고, 성공보다 실패하는 경우를 더 많이 눌러 봐야 해요.
쉽게 말하면
개업 전날 빈 가게에서 계산대를 눌러 보는 일이에요. 손님은 없지만 단말기에 연습용 카드를 꽂아 보고, 영수증이 제대로 나오는지, 취소 버튼이 먹는지 확인하죠. 손님 앞에서 처음 눌러 보는 사장님은 없어요. 테스트 결제 모드가 인터넷 가게의 그 리허설이에요. 화면도 순서도 실제와 똑같이 돌아가는데, 돈만 안 움직여요.
결제 대행사는 열쇠를 두 벌 줘요. 하나는 연습용, 하나는 실전용이에요. 내 사이트에 연습용 열쇠를 꽂아 두면 그때부터 그 사이트는 테스트 모드예요.
첫 손님에게 실패를 보여 준 거예요. 원인을 찾는 동안 결제는 계속 들어오고, 그 사이 들어온 주문도 같이 막혀요.
사고가 날 자리를 손님이 아니라 내가 먼저 밟았어요. 오픈 첫날에 남은 위험은 실전 열쇠 하나뿐이에요.
테스트 모드가 진짜로 바꾸는 것
바뀌는 것은 딱 하나예요. 어느 열쇠를 꽂았느냐예요. 화면도 코드도 그대로고, 결제 대행사가 그 열쇠를 보고 연습으로 처리할지 실전으로 처리할지 정해요.
| 테스트 모드 | 실전 모드 | |
|---|---|---|
| 열쇠 | 대행사가 준 연습용 열쇠 | 실전 열쇠. 환경변수 금고에만 넣고 대화방에 올리지 않아요 |
| 카드 | 대행사가 공개한 연습용 번호 | 손님의 진짜 카드 |
| 돈 | 안 움직여요. 승인도 취소도 흉내예요 | 진짜로 나가고 진짜로 돌아와요 |
| 승인번호 | 발급은 되지만 카드사에 남는 기록이 아니에요 | 카드사 기록으로 남고 손님 명세서에 찍혀요 |
| 정산 내역서 | 안 올라와요. 그래서 수수료도 안 붙어요 | 회차마다 올라오고 정산 대사의 대상이 돼요 |
| 결제 완료 통보 | 연습용 주소로 와요. 실전과 주소가 다른 경우가 많아요 | 실전 주소로 와요. 여기서 주문이 만들어져요 |
열쇠를 바꾸면 저쪽 세상도 통째로 바뀌어요
테스트에서 만든 결제 기록은 실전 관리자 화면에 안 보여요. 반대도 마찬가지예요. 두 세상은 아예 따로 돌아가요. 그래서 "어제 테스트에서 잘 되던 게 오늘 안 보인다"면 고장이 아니라 열쇠가 바뀐 것일 때가 많아요. 놀라기 전에 지금 어느 모드인지부터 확인해요.
무엇을 눌러 보나 (성공은 한 번이면 돼요)
테스트에서 가장 흔한 실수는 성공만 확인하고 끝내는 거예요. 성공은 원래 잘 돼요. 사고는 전부 나머지 쪽에서 나요.
- 1성공 한 건. 결제창이 뜨고, 승인이 나고, 내 사이트에 주문이 하나 생기는지 봐요. 여기까지가 절반이에요.
- 2손님이 창을 닫은 경우. 결제창을 그냥 X로 닫아 봐요. 주문이 미결제 상태로 남는지, 아니면 결제된 것처럼 잘못 잡히는지 확인해요.
- 3카드가 거절된 경우. 대행사가 주는 거절용 연습 카드번호로 눌러 봐요. 손님에게 무슨 문구가 보이는지가 핵심이에요. 영문 오류 코드가 그대로 뜨면 고쳐야 해요.
- 4결제 도중 통신이 끊긴 경우. 승인 직후 화면을 새로고침하거나 뒤로 가기를 눌러 봐요. 주문이 두 개 생기면 그건 오픈 전에 반드시 잡아야 할 문제예요.
- 5버튼 연타. 결제 버튼을 빠르게 두 번 눌러 봐요. 승인이 두 번 나면 실전에서는 손님 돈이 두 번 빠져요.
- 6전액 취소와 부분 취소. 방금 만든 테스트 결제를 관리자 화면에서 취소해 봐요. 취소가 되는지, 주문 상태도 같이 바뀌는지 둘 다 봐요.
- 7결제 완료 통보 도착. 결제창을 닫아도 주문이 만들어지는지 확인해요. 이게 웹훅이 하는 일이고, 안 붙어 있으면 손님이 창을 일찍 닫은 주문이 통째로 사라져요.
확인해 보세요
테스트 결제에서 가장 자주 빠뜨리는 확인은 어느 것일까요?
실전으로 갈아 끼우는 순서
테스트가 끝났다고 오픈이 아니에요. 열쇠를 바꾸는 그날이 사고가 가장 많이 나는 날이에요. 순서를 정해 두면 그날이 조용해져요.
- 1심사 상태부터 확인해요. 실전 열쇠는 가맹 심사가 끝나야 나와요. 순서와 준비물은 PG 가맹 심사에 있어요.
- 2열쇠를 금고에 넣어요. 코드에 직접 적지 않고 환경변수로 넣어요. 실전 열쇠는 API 키와 같은 급의 비밀이에요.
- 3통보 주소도 같이 바꿔요. 결제 완료 통보 주소가 연습용으로 남아 있으면 결제는 되는데 주문이 안 생겨요. 열쇠만 바꾸고 이걸 잊는 사고가 가장 흔해요.
- 4내 카드로 소액 한 건을 진짜로 결제해요. 가장 싼 상품 하나면 돼요. 이게 유일한 실전 증거예요.
- 5그 한 건을 바로 취소해요. 승인만 되고 취소가 안 되는 경우가 있어서, 두 개를 한 묶음으로 확인해요.
- 6대행사 관리자 화면에서 그 건이 보이는지 확인해요. 내 화면과 대행사 화면 양쪽에 같은 건이 있어야 정상이에요.
장면 1 · 만드는 사람이 말했다
“테스트 다 통과했어요. 열쇠만 바꿔서 올리면 바로 오픈됩니다.”
맞는 말이지만 절반이에요. 열쇠 말고도 실전용으로 바뀌어야 하는 것이 보통 두 개 더 있어요. 결제 완료 통보 주소와 결제창에 뜨는 가게 이름이에요. 갈아 끼운 뒤에 실제로 한 건을 결제해 보자고 요청하세요. 요청은 무리한 게 아니라 정상 절차예요.
오픈 첫 결제는 손님 것이 아니라 내 것이어야 해요
테스트 모드는 대행사 안쪽까지만 흉내 내요. 실제 카드사 승인, 은행 점검 시간, 손님 폰의 결제 앱 이동은 실전에서 처음 돌아가요. 그래서 첫 실전 결제 한 건은 반드시 내가 만들어요. 소액이라도 승인과 취소가 둘 다 되면, 그때부터 손님을 받아도 되는 상태예요.
헷갈리기 쉬운 것
이름이 비슷한 다른 장치와 자주 섞여요. 섞이면 안전하다고 믿은 채로 실전을 건드리게 돼요.
| 헷갈리는 말 | 실제로 무엇인가 | 섞으면 생기는 일 |
|---|---|---|
| 테스트 모드와 연습용 주소 | 테스트 모드는 결제 대행사 쪽 열쇠 이야기이고, 연습용 주소는 내 사이트를 두 벌 두는 이야기예요 | 연습용 주소에 실전 열쇠를 꽂아 두고 마음 놓고 실험해요. 자세한 갈래는 연습용 주소와 진짜 주소에 있어요 |
| 테스트 결제와 소액 실결제 | 앞은 돈이 안 움직이고, 뒤는 진짜로 나갔다가 취소로 돌아와요 | 테스트만 하고 오픈해요. 카드사와 은행 구간은 한 번도 안 돌려 본 채로 손님을 받게 돼요 |
| 결제 취소와 환불 | 테스트에서 눌러 보는 취소는 당일 승인 취소 쪽이에요 | 매입이 끝난 뒤의 환불은 처리 경로가 달라요. 차이는 결제취소와 환불의 차이에서 다뤄요 |
| 테스트 통과와 오픈 준비 완료 | 테스트는 결제 한 줄기만 봐요 | 재고 차감, 알림 발송, 영수증 발급이 안 붙은 채로 열려요. 전체 목록은 오픈 전 점검표로 따로 봐요 |
장면 2 · 손님이 문의했다
“결제는 됐다고 문자가 왔는데 주문 내역에는 아무것도 없어요.”
실전 열쇠는 바꿨는데 결제 완료 통보 주소가 연습용으로 남아 있을 때 나오는 증상이에요. 카드사는 승인했고 대행사도 받았는데, 그 소식이 내 사이트로 안 온 거예요. 이때 손님 돈은 이미 나간 상태라 답을 미루면 안 돼요. 대행사 관리자 화면에서 승인 건을 찾아 주문을 손으로 만들어 주고, 통보 주소를 그날 안에 고쳐요.
자주 묻는 것
- Q. 테스트 결제도 수수료가 나가나요?
- 돈이 움직이지 않으니 결제 수수료도 안 붙어요. 정산 내역서에도 안 올라와요. 다만 계약이나 심사 절차는 테스트와 별개로 진행돼요.
- Q. 테스트 카드번호는 어디서 받나요?
- 결제 대행사가 개발 안내 문서에 공개해 둬요. 아무 번호나 넣으면 거절돼요. 반대로 내 진짜 카드번호를 테스트 모드에 넣을 필요는 없어요. 테스트 모드는 진짜 카드를 처리하지 않으니 아무 의미가 없거든요.
- Q. 심사가 끝나기 전에도 테스트가 되나요?
- 대행사마다 달라요. 연습용 열쇠는 계약 전에 먼저 열어 주는 곳이 많고, 실전 열쇠는 심사 뒤에 나와요. 내 대행사가 어느 쪽인지는 가입 화면에서 확인하세요.
- Q. 오픈한 뒤에도 테스트 모드가 필요한가요?
- 필요해요. 결제 화면을 고칠 때마다 실서비스에서 실험하지 않는 것이 원칙이에요. 오픈 뒤에는 연습용 주소에 연습용 열쇠를 꽂아 두고 거기서 확인한 다음 올려요.
- Q. 테스트에서는 다 됐는데 실전에서만 실패해요.
- 확인 순서는 셋이에요. 첫째 열쇠가 실전용으로 바뀌었는지, 둘째 결제 완료 통보 주소가 실전 주소인지, 셋째 심사가 완전히 끝났는지예요. 이 셋이 아니면 결제 수단별 계약 상태를 봐요. 카드는 되는데 간편결제만 안 되는 경우가 여기예요.
- Q. 테스트 주문이 통계에 섞이면 어떻게 하나요?
- 주문 표에 테스트 여부를 적는 칸을 하나 두고, 매출 집계에서 그 칸이 켜진 건을 빼요. 오픈 전에 만들면 한 줄이지만, 주문이 쌓인 뒤에는 지난 건을 하나씩 골라내야 해요.
하나 더
오픈 직후 손님 결제가 전부 실패해요. 가장 먼저 볼 곳은 어디일까요?
직접 해보기
만드는 중이라면 두 가지를 미리 적어 두세요
테스트를 편하게 만드는 장치는 오픈 전에 넣어야 값이 싸요. 스튜디오에서 만드는 중이면 이렇게 적어 보세요. "결제 열쇠를 환경변수로 읽게 하고, 테스트 모드일 때 화면 위에 연습 중이라는 띠를 띄워 주세요. 그리고 주문 표에 테스트 주문 여부 칸을 추가하고 매출 집계에서 빼 주세요." 띠 하나가 실전에서 연습용 열쇠를 쓰는 사고를 막아 줘요.
스튜디오에서 적어 보기더 깊이 (안 읽어도 괜찮아요)
테스트 모드가 절대 못 보여 주는 것 · 연습 환경은 결제 대행사 안쪽까지만 흉내 내요. 그 너머의 카드사 승인 판단, 은행 정기 점검 시간, 손님 폰에서 결제 앱으로 넘어갔다 돌아오는 구간은 실전에서 처음 돌아가요. 한도 초과나 도난 카드 같은 실제 거절 사유도 연습 환경에서는 정해진 번호로 흉내만 내는 거예요. 그래서 테스트를 아무리 많이 해도 실전 소액 한 건을 대신하지 못해요. 반대로 실전 한 건만 하고 테스트를 건너뛰면 실패 경우를 한 번도 안 본 채로 여는 거고요. 둘은 서로 대체가 아니라 순서예요.
테스트 주문이 장부와 통계를 오염시키는 경로 · 테스트 모드에서 만든 결제는 대행사 쪽에는 안 남지만, 내 사이트의 주문 표에는 그대로 쌓여요. 그 상태로 오픈하면 첫 달 매출이 실제보다 크게 잡히고, 재고가 안 판 만큼 빠져 있고, 방문자 대비 구매율 같은 숫자도 전부 어긋나요. 주문에 테스트 여부 칸을 두는 것이 가장 싼 해법이에요. 이미 섞였다면 오픈 날짜 이전 주문을 통째로 빼는 방식으로 정리하고, 그 기준을 어딘가에 적어 둬요. 나중에 장부 쓰기에서 같은 질문을 다시 받게 되거든요.
결제 완료 통보를 두 벌로 관리하는 법 · 결제 완료 통보는 테스트와 실전이 서로 다른 주소를 쓰는 경우가 많고, 통보가 진짜인지 확인하는 서명 열쇠도 따로예요. 그래서 오픈 때 갈아 끼울 것이 열쇠 하나가 아니라 셋이 돼요. 결제 열쇠, 통보 주소, 통보 서명 열쇠예요. 이 셋을 한곳에 모아 두고 모드에 따라 통째로 갈아 끼우면 하나만 남는 사고가 사라져요. 통보를 받았을 때 남기는 기록도 지우지 마세요. "결제는 됐는데 주문이 없다"는 문의가 왔을 때 통보가 도착했는지 아닌지가 원인을 가르는 유일한 증거예요.
이것만 기억하세요
- ·테스트 결제 모드는 화면과 순서를 그대로 두고 돈만 안 움직이게 하는 연습 환경이에요
- ·바뀌는 것은 열쇠 하나지만, 테스트와 실전은 기록도 관리자 화면도 아예 따로 돌아가요
- ·성공보다 실패를 더 많이 눌러요. 창 닫기, 거절, 연타, 취소가 진짜 점검 항목이에요
- ·오픈 때는 열쇠만 바꾸면 안 돼요. 결제 완료 통보 주소까지 실전으로 같이 갈아 끼워요
- ·첫 실전 결제는 손님이 아니라 내 카드로 소액 한 건, 그리고 곧바로 취소까지 해 봐요