51 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
flowMode 를 안보내신것 같습니다.
카드/간편결제 통합결제창 연동하기 | 토스페이먼...
토스페이먼츠 카드/간편결제 통합결제창을 연동하는 방법이에요. 구매자가 결제창에서 결제수단, 결제 정보를 선택한 뒤에 카드 또는 간편결제 앱으로 이동해요.
여기 샘플의 요청 값 참고해서 보내주세요.
이렇게 했는데 여전히 필수 파라미터가 누락되었다고 합니다
문서 다시한번만 확인해주셔요
card안에 flowMode가 설정됩니다.
이렇게 했는데도 여전히 오류가 뜹니다
지금 요청하신건 저희쪽으로 전달이 되지 않았습니다. JS 쪽에서 오류가 발생한건 아닌지 브라우저 콘솔 확인해 보세요.
브라우저 콘솔에서는 buy:673
필수 파라미터가 누락되었습니다.
requestTossPayment @ buy:673
라고 뜹니다
Uncaught (in promise) Error: 필수 파라미터가 누락되었습니다.
이렇게 수정 하니
apigw-sandbox.tosspayments.com/payment-gateway-window/open/pg-window/v1/px-payment-parameters?Authorization=Basic%20dGVzdF9nY2tfZG9jc19Pdms1cmsxRXdrRWJQMFc0M24wN3hsem06:1 Failed to load resource: the server responded with a status of 400 ()
buy:671 Toss payment request failed: t: 인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다.
at XMLHttpRequest.<anonymous> (payment-widget:14:222910)
라고 뜨는데 테스트 키가 저게 아닌가요?
저는 테스트 키 가지고 실행 중 입니다
지금 결제위젯을 쓰시는건가요? 결제창을 쓰시는건가요
키는 결제위젯 키, 코드는 결제창 코드인데요
하나로 통일해서 사용해 주세요
결제창으로 쓰고 싶습니다
그거 관련된 키가 뭔가요?
이렇게 했는데도
필수 파라미터가 누락 되었다고 합니다.
test_ck 로 시작되는 키를 사용해 주세요.
지금 결제창 호출하시는데 결제위젯키를 사용하고 계씹니다.
test_ck_QbgMGZzorz4ewpDJPG173l5E1em4
로 사용 했는데도 여전히 필수 파라미터가 누락 되었다고 합니다.
지금은 계좌이체로 보내고 계신거죠?>
카드 결제로 했습니다
가상계좌, 계좌이체, 신용/체크카드 결제 모두 필수 파라미터가 없다고 합니다.
buy:699 Toss payment request failed: r: 필수 파라미터가 누락되었습니다.
at i.value (standard:7:478725)
at n.value (standard:7:380684)
at requestTossPayment (buy:674:38)
at HTMLButtonElement.<anonymous> (buy:796:11)
저희 로그상에 값이 이렇게
정상적이지 않은 json 이 전달되고 있어요.
{"amount":{"value":1650,"currency":"KRW"},"orderId":"zz715ywrhMzieP6Z56uq","orderName":"고정 URL 구매","customerKey":"YIJHRjwfYIGrjIoIEOUr","customerName":"비회원","customerEmail":"test@example.com","successUrl":"https://lynky.xyz/buy-success","failUrl":"https://lynky.xyz/buy-fail","methodType":"TRANSFER"}"
method 값이 이상하게 들어가는 것처럼 보입니다.
await payment.requestPayment(options); 호출하기 전에 options 의 값을 json 으로 변경해서 보내주실수 있을까요?
로 보냈습니다
buy:706 Toss payment request failed: r: 필수 파라미터가 누락되었습니다.
at i.value (standard:7:478725)
at n.value (standard:7:380684)
at requestTossPayment (buy:675:38)
at HTMLButtonElement.<anonymous> (buy:804:11)
requestTossPayment @ buy:706
(anonymous) @ buy:804
@Kimoon Lee
에러 받으신 시간이 언제이신가요?
그런데 payment.requestPayment(options); 에 optionsJson 을 넣으셔야 하는거 아닌가요?
지금 다시 수정해서 했는데
여전히 필수 파라미터 오류가 뜹니다
지금 했습니다
tosspublic on Notion
📘 HAR 파일 저장 가이드 | Notion
웹 페이지의 네트워크 활동을 기록하려면, 브라우저의 개발자 도구(DevTools) 의 네트워크(Network) 탭을 사용하여 .har 파일을 저장할 수 있습니다.
이가이드에 따라서 브라우저에서 에러 발생시키신 후에 HAR 파일 만드신후 공유해 주실수 있을까요?
저희 서버로 넘어오기 전에 FE 쪽에서 에러가 발생되는것 같습니다.
여기 있습니다
에러 발생시키신것 맞나요?
파일에 에러난 부분이 없는데요.
이거 HAR은 Network 탭만 캡쳐되고, Console에 오류가 나오는 건 기록이 안될겁니다.
그러면 순수하게 FE 에서 에러가 난거네요. 에러 발생한 상태에서 브라우저 콘솔 캡쳐해서 보내주세요.
음..
이렇게 나옵니다.

console.log("결제 옵션(JSON):", optionsJson);
이거 출력하신거는 콘솔에 안뜨나요?
넵..
안 뜨네요..
requestTossPayment 호출됨 https://lynky.xyz/ httpslynkyxyz1 카드
buy:700 결제 함수 에러: r: 필수 파라미터가 누락되었습니다.
at n.<anonymous> (standard:7:478725)
at n.value (standard:7:380684)
at requestTossPayment (buy:674:38)
at HTMLButtonElement.<anonymous> (buy:795:11)
Lynky - URL 무료 단축 서비스
Lynky - 간편한 무료 단축 URL
이렇게 뜹니다
결제 옵션(JSON): {
"amount": 1650,
"orderId": "OUV3aVIfPstF2K7ZUHo1",
"orderName": "고정 URL 구매",
"customerName": "비회원",
"customerEmail": "test@example.com",
"successUrl": "https://lynky.xyz/buy-success",
"failUrl": "https://lynky.xyz/buy-fail",
"method": "CARD",
"card": {
"useEscrow": false,
"flowMode": "DEFAULT",
"useCardPoint": false,
"useAppCardOnly": false
}
}
이렇게 뜨네요
@Kimoon Lee
음..
지금 V2 사용하시는 거죠?
그럼 "amount": 1650, 가 아니라
"amount": {
"currency": "KRW",
"value": 50000
},
이런식으로 object 로 보내주셔야 합니다.
requestTossPayment 호출됨 https://lynky.xyz/ httpslynkyxyz11414 카드
buy:698 결제 옵션(JSON): {
"amount": {
"currency": "KRW",
"value": 1650
},
"orderId": "JvMKSNLOA15iCDobCJuS",
"orderName": "고정 URL 구매",
"customerName": "비회원",
"customerEmail": "test@example.com",
"successUrl": "https://lynky.xyz/buy-success",
"failUrl": "https://lynky.xyz/buy-fail",
"method": "CARD",
"card": {
"useEscrow": false,
"flowMode": "DEFAULT",
"useCardPoint": false,
"useAppCardOnly": false
}
}
buy:701 Uncaught (in promise) TypeError: tossPayments.requestPayment is not a function
at requestTossPayment (buy:701:28)
at HTMLButtonElement.<anonymous> (buy:797:11)
requestTossPayment @ buy:701
(anonymous) @ buy:797
[NEW] Explain Console errors by using Copilot in Edge: click
to explain an error. Learn more Don't show again
to explain an error. Learn more Don't show again
Lynky - URL 무료 단축 서비스
Lynky - 간편한 무료 단축 URL
여전히 이렇게 나옵니다..
뭐가 문제일까요..
tossPayments.requestPayment 이게 없다는 에러인데요.
?
뭐가 빠졌길래 그럴까요..?
이렇게 했습니다
카드/간편결제 통합결제창 연동하기 | 토스페이먼...
토스페이먼츠 카드/간편결제 통합결제창을 연동하는 방법이에요. 구매자가 결제창에서 결제수단, 결제 정보를 선택한 뒤에 카드 또는 간편결제 앱으로 이동해요.
여기 있는 FE 코드 그대로 써보실수 있나요?
const tossPayments = TossPayments(clientKey);
const payment = tossPayments.payment({ customerKey });
await payment.requestPayment({
이렇게 호출해 주셔야 합니다.
await tossPayments.requestPayment(method, options);
지금은 이렇게 호출하고 계시구요.
requestTossPayment 호출됨 https://lynky.xyz/ httpslynkyxyz12412141 카드
buy:698 결제 옵션(JSON): {
"amount": {
"currency": "KRW",
"value": 1650
},
"orderId": "cD2s7DHadeLU5OSmfGxP",
"orderName": "고정 URL 구매",
"customerName": "비회원",
"customerEmail": "test@example.com",
"successUrl": "https://lynky.xyz/buy-success",
"failUrl": "https://lynky.xyz/buy-fail",
"method": "CARD",
"card": {
"useEscrow": false,
"flowMode": "DEFAULT",
"useCardPoint": false,
"useAppCardOnly": false
}
}
buy:701 Uncaught (in promise) ReferenceError: payment is not defined
at requestTossPayment (buy:701:9)
at HTMLButtonElement.<anonymous> (buy:797:11)
requestTossPayment @ buy:701
(anonymous) @ buy:797
[NEW] Explain Console errors by using Copilot in Edge: click
to explain an error. Learn more
to explain an error. Learn more
Lynky - URL 무료 단축 서비스
Lynky - 간편한 무료 단축 URL
여전히 그렇습니다..
await payment.requestPayment({method, options});
로 했습니다
const payment = tossPayments.payment({ customerKey });
이게 없으신것 같은데요.
음..
처음 연동하시는거면 github 에 있는 저희 샘플을 우선 돌려보시기 바랍니다.
오
떴습니다
감사합니다
혹시 라이브로 전환하게 된다면
가입비가 얼마일까요?
그리고 혹시 보증보험이 필수일까요?
이부분은 1544-7772로 문의 부탁드립니다.
넵 감사합니다!
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
아 혹시 하나만 더 질문을 드려도 될까요?
Uncaught (in promise) r: method 파라미터에 사용할 수 없는 enum 값입니다.
at Proxy.<anonymous> (standard:7:478725)
at Object.apply (standard:7:74711)
at Proxy.<anonymous> (standard:7:79247)
at Object.apply (standard:7:72012)
at requestTossPayment (buy:705:17)
at HTMLButtonElement.<anonymous> (buy:808:11)
계좌 이체에서는
이렇게 뜨는데 뭘까요?
뭐라고 method를 넘기셨어요?
payMethod === "계좌이체" ? "ACCOUNT_TRANSFER" : "CARD";
라고 했습니다
ACCOUNT_TRANSFER 라는 enum 은 없습니다.
가이드를 참고해주세요.