토스페이
토스페이 간편결제 연동 방법을 안내합니다.
채널 설정하기
- 결제대행사 채널 설정하기의 내용을 참고하여 PG 설정을 진행합니다.
가능한 결제 수단
-
결제창 일반 결제
payMethod
파라미터를 결제 수단에 따라 아래와 같이 설정해야 합니다.- 간편결제 :
EASY_PAY
- 간편결제 :
-
결제창 빌링키 발급
billingKeyMethod
파라미터를 결제 수단에 따라 아래와 같이 설정해야 합니다.- 간편결제 :
EASY_PAY
- 간편결제 :
SDK 결제 요청하기
결제 요청 시에는 requestPayment
함수를 호출해야 합니다.
channelKey
파라미터에 결제 채널 연동 후 생성된 채널 키를 지정하여 토스페이 채널 사용을 명시해주세요.
토스페이 기준으로 작성한 예시 코드는 아래와 같습니다.
SDK 결제 요청import * as PortOne from "@portone/browser-sdk/v2"; function requestPayment() { PortOne.requestPayment({ storeId: "store-4ff4af41-85e3-4559-8eb8-0d08a2c6ceec", // 고객사 storeId로 변경해주세요. channelKey: "channel-key-9987cb87-6458-4888-b94e-68d9a2da896d", // 콘솔 결제 연동 화면에서 채널 연동 시 생성된 채널 키를 입력해주세요. paymentId: `payment${Math.random().toString(36).slice(2)}`, orderName: "나이키 와플 트레이너 2 SD", totalAmount: 1000, currency: "CURRENCY_KRW", payMethod: "EASY_PAY", }); }
주요 파라미터
스토어 아이디
포트원 계정에 생성된 상점을 식별하는 고유한 값으로 관리자 콘솔에서 확인할 수 있습니다.
채널 키
포트원 콘솔 내 [연동 관리] > [연동 정보] > [채널 관리] 화면에서 채널 추가 시 생성되는 값입니다. 결제 호출 시 채널을 지정할 때 사용됩니다.
고객사 주문 고유 번호
고객사에서 채번하는 주문 고유 번호로 매번 고유하게 채번되어야 합니다. 이미 승인 완료된 paymentId
로 결제를 시도하는 경우 에러가 발생합니다.
주문명
주문명으로 고객사에서 자유롭게 입력합니다.
결제 금액
결제 금액으로 결제를 원하는 통화(currency)별 scale factor(소수점 몇번째 자리까지 유효한지)를 고려한 number 형식만 허용됩니다.
결제 통화
결제통화로 원화 결제 시 KRW
로 입력해야 합니다.
결제수단 구분코드
결제 호출 시 결제수단을 지정할 때 사용됩니다.
간편 결제의 경우 EASY_PAY
로 입력해야 합니다.
PG사 결제창 호출 시 PG사로 그대로 bypass할 파라미터들의 모음
토스페이에서 제공하는 파라미터
결제 만료 기한
yyyy-MM-dd HH:mm:ss
의 형식으로 입력해야 합니다.
입력하지 않을 경우, 기본값인 15분으로 설정됩니다. 최대 60분까지 설정할 수 있습니다.
현금영수증 발급 대상 타입
전달하지 않을경우, 기본값은 GENERAL 입니다.
일반 (default) : GENERAL
/ 문화비 : CULTURE
/ 교통비 : PUBLIC_TP
유의사항
공통
SDK 빌링키 발급 요청하기
빌링키 발급 요청 시에는 requestIssueBillingKey
함수를 호출해야 합니다.
channelKey
파라미터에 결제 채널 연동 후 생성된 채널 키를 지정하여 토스페이 채널 사용을 명시해주세요.
토스페이 기준으로 작성한 예시 코드는 아래와 같습니다.
SDK 빌링키 발급 요청import * as PortOne from "@portone/browser-sdk/v2"; function requestIssueBillingKey() { PortOne.requestIssueBillingKey({ storeId: "store-4ff4af41-85e3-4559-8eb8-0d08a2c6ceec", // 고객사 storeId로 변경해주세요. channelKey: "channel-key-3b37819a-1c72-4deb-a245-8c810af5403d", // 콘솔 결제 연동 화면에서 채널 연동 시 생성된 채널 키를 입력해주세요. billingKeyMethod: "EASY_PAY", issueId: "test-issueId", issueName: "test-issueName", customer: { customerId: "uniqueCustomerId", }, redirectUrl: "http://localhost", }); }
주요 파라미터
스토어 아이디
포트원 계정에 생성된 상점을 식별하는 고유한 값으로 관리자 콘솔에서 확인할 수 있습니다.
채널 키
포트원 콘솔 내 [연동 관리] > [연동 정보] > [채널 관리] 화면에서 채널 추가 시 생성되는 값입니다. 결제 호출 시 채널을 지정할 때 사용됩니다.
빌링키 발급수단
토스페이는 빌링키 발급 수단으로 간편결제(토스페이)만을 지원하므로 해당 파라미터는 EASY_PAY
로 고정해야 합니다.
고객 정보
구매자 고유 ID
- 토스페이의 경우 구매자 ID를 필수로 입력해야 합니다.
빌링키 발급 후 이동할 URL
모바일 환경의 경우, 필수 입력입니다.
유의사항
API 빌링키 단건 결제 요청하기
발급된 빌링키로 단건 결제를 진행하려면 POST /payments/${PAYMENT_ID_HERE}/billing-key
API를 이용하여 결제를 요청하실 수 있습니다.
토스페이 기준으로 작성한 예시 코드는 아래와 같습니다.
API 빌링키 단건 결제const response = await axios({ url: `https://api.portone.io/payments/${encodeURIComponent(PAYMENT_ID_HERE)}/billing-key`, method: "post", headers: { Authorization: `PortOne ${PORTONE_API_SECRET}` }, data: { billingKey: "billing-key-1", // 빌링키 발급 API를 통해 발급받은 빌링키 orderName: "월간 이용권 정기결제", customer: { id: "customer-1234", // 고객사에서 관리하는 고객 고유번호 phoneNumber: `010-1234-5678`, email: `test@test.com`, }, amount: { total: 50000, taxFree: 3000, }, currency: "KRW", }, });
주요 파라미터
결제 주문 번호
- 고객사에서 채번하여 사용하는 주문번호로 고유한 값이여야 합니다.
- URL path에 포함하여 요청해야 합니다.
빌링키 결제에 사용할 빌링키
주문명
결제 금액
총 결제 금액
결제 금액으로 결제를 원하는 통화(currency)별 scale factor(소수점 몇번째 자리까지 유효한지)를 고려한 number 형식만 허용됩니다.
결제 통화
결제통화로 원화 결제 시 KRW
로 입력해야 합니다.
고객 정보
고객 이름
한 줄 이름 형식 (ex. 김포트)
분리된 이름
이름
성
구매자 연락처
구매자 이메일
API 빌링키 예약/반복 결제 요청하기
예약 결제를 진행하려면 POST /payments/${PAYMENT_ID_HERE}/schedule
API를 이용하여 결제를 예약하실 수 있습니다.
토스페이 기준으로 작성한 예시 코드는 아래와 같습니다.
API 예약/반복 결제const response = await axios({ url: `https://api.portone.io/payments/${PAYMENT_ID_HERE}/schedule`, method: "post", headers: { Authorization: `PortOne ${PORTONE_API_SECRET}` }, data: { payment: { billingKey: "billing-key-1", // 빌링키 발급 API를 통해 발급받은 빌링키 orderName: "월간 이용권 정기결제", customer: { id: "customer-1234", // 고객사에서 관리하는 고객 고유번호 }, amount: { total: 10000, taxFree: 3000, }, currency: "KRW", }, timeToPay: "2023-01-01 00:00:00", // 결제를 시도할 시각이며 미래 시각만 가능합니다. }, });
주요 파라미터
결제 주문 번호
- 고객사에서 채번하여 사용하는 주문번호로 고유한 값이여야 합니다.
- URL path에 포함하여 요청해야 합니다.
빌링키 결제 요청 입력정보
빌링키 결제에 사용할 빌링키
주문명
결제 금액
총 결제 금액
결제 금액으로 결제를 원하는 통화(currency)별 scale factor(소수점 몇번째 자리까지 유효한지)를 고려한 number 형식만 허용됩니다.
면세액
결제 금액으로 결제를 원하는 통화(currency)별 scale factor(소수점 몇번째 자리까지 유효한지)를 고려한 number 형식만 허용됩니다.
결제 통화
결제통화로 원화 결제 시 KRW
로 입력해야 합니다.
결제 예정 시점
고객 정보
고객 이름
-
토스페이의 경우 full 혹은 separated를 필수로 입력해야 합니다.
한 줄 이름 형식 (ex. 김포트)
분리된 이름
이름
성
구매자 연락처
구매자 이메일