연동
만든 앱에서 결제받기
금액은 브라우저가 보낸 값이 아니라 서버가 주문을 다시 읽어 계산합니다.
Stripe·PortOne·Toss 어댑터와 웹훅 서명 확인은 코드에 있습니다. 다만 PG 가맹 계약은 사업자가 직접 맺어야 하고, mypage 요금제의 유료 결제도 아직 열려 있지 않습니다.
무엇에 쓰나
물건을 팔면 금액이 생깁니다. 그런데 브라우저에서 고칠 수 있는 금액은 금액이 아닙니다.
그래서 결제창을 열기 전에 서버가 주문을 다시 읽고 스스로 더합니다. 손님 화면의 숫자를 믿지 않습니다.
가격을 고쳐 보낸 요청이 와도 결제창에는 주문서와 같은 금액이 뜹니다.
준비물
결제사 가맹 계약과, 프로젝트 비밀값에 저장할 값 두 개입니다 — 비밀 열쇠와 판매를 허용할 가격 목록.
주인에게 가는 주문 알림도 준비돼 있어야 합니다. 안 되어 있으면 결제를 시작하지 않습니다. 아무도 모르는 주문을 받는 것보다 낫기 때문입니다.
붙이는 순서
장바구니와 주문 화면을 먼저 만드세요. 결제는 마지막에 붙입니다.
그다음 열쇠를 저장하고, 주문 화면에서 결제창으로 넘어가게 하면 됩니다.
시험 결제부터 하세요. 결제사에는 대개 시험용 열쇠가 따로 있습니다.
확인하는 법
시험 결제를 한 번 해 보세요. 결제창 금액과 주문서 금액이 1원까지 같아야 합니다.
결제 버튼을 일부러 두 번 누르세요. 두 번째는 결제가 더 생기지 않아야 합니다.
주문 내용이 결제 도중에 바뀌면 결제를 멈추고 장바구니를 다시 보라고 알려 줍니다.
안 되는 것
- 카드 번호는 우리 서버를 지나지 않습니다. 손님은 결제사 화면에 입력합니다.
- 한 번의 결제에 통화를 섞을 수 없습니다. 시작 전에 막습니다.
- 결제사에 등록된 가격과 주문 금액이 다르면 결제를 멈춥니다.
- 결제 링크는 30분 뒤 만료됩니다. 그 뒤에는 주문 화면에서 다시 시작해야 합니다.
- 프로젝트당 하루 1,000건까지 결제를 시작할 수 있습니다.