페이팔 결제 구현시 에러문의
안내받은 아래 링크 가이드로 구현을 했습니다. 물론 이미 일반 국내결제는 다 구현을 해 놓은 상태구요... 그런데 아래와 같은 에러 메세지가 콘솔에 찍히는데요...
Unknown Error Error: Toss Payments와 계약된 결제수단이 아닙니다.
토스페이먼츠와 계약이 이미 된 상태고, 정확한 상점의 ClientKey를 사용했습니다.
어떤 문제 때문일까요?...ㅠ
62 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
토스페이먼츠와의 계약이 결제수단을 사용할 수 있는지의 여부와는 별개의 내용입니다. 각 결제수단별로 결제수단을 운용하는 곳의 심사가 있을 수 있습니다. (카드결제, 간편결제 등)
해외결제 계약을 따로 또 진행을하고 심사가 오늘 완료가 됐거든요. 이렇게 되면 페이팔 결제를 구현할수 있다고 안내 받았는데 아닐까요?
mid 한번 말씀해주시겠어요?
추가로 테스트 환경/라이브환경 어떤거 쓰셨는지도 확인바랍니다.
30raeb60or MID이고 테스트환경에서 구현했습니다~
@justin27515 다시한번 시도해보시겠어요?
테스트환경에 설정 누락된게 있어 조치해드렸습니다.
네 감사합니다~
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
어제 다시 해보니 아직 똑같은 현상이 일어나고 있는데요 혹시 몰라서 제가 스크린녹화를 해놨습니다. 확인 부탁드립니다! @이실장
동일하게 테스트키 사용중이신거죠?
네 그렇습니다~
귀사 키로 테스트해봤을 때 이상이 없는 것 같아서요!
혹시 사용하신 clientKey남겨주실 수 있을까요?
test_ck_0Poxy1XQL8R5b6lPdNXr7nO5Wmlg 테스트 클라이언트 키입니다!
아예 페이팔 창이 안뜨시는거죠..?
제가 남겨드린 스크린녹화 영상 보시면 작은 창은 뜨는데요... 그 이후에 아무런 반응이 없네요...ㅠ
이거 그대로 실행해보셔도 동일한가요?
리엑트로 구현을 하는데요... 음... npm 구현 가이드대로 하긴 했거든요
이렇게 했습니다~ ㅎ

네네 우선 귀사 키로 열었을 때 전혀 문제가 없어서요! 혹시 구현과정 중에 문제가 있을까해서 html파일만 먼저 보내드려봤습니다.
아니면 사용하신 orderId 한번 전달해주시겠어요
// successUrl: successUrl ??
${window.location.origin}/payment/complete
,
// failUrl: failureUrl ?? ${window.location.origin}/pricing
,
orderId는 서버에서 생성하는거여서요그걸 콘솔에라도 찍어서 보내주시는게 좋을거 같아요
아 네
넘길 때 값은 client로 넘어오니 확인가능하실텐데요.
아니면 live key로는 정상 동작하는지 확인해주셔도 좋을 것 같아요
둘다 해보고 말씀드릴께요 잠시만요
우선 orderId는 64eeac8630e2d8ab91c1e7fc 이거이구요 매 결제 요청시마다 새롭게 만들어내는 uuid 값입니다
그리고 라이브키로 해봤는데 똑같은 현상이 나네요 ㅠ
확인 후 안내드리겠습니다.
@justin27515 다시 한번 확인 부탁드립니다
똑같은 현상이 나오네요...ㅠ
개발자센터에서 검색으로 페이팔 치면 2가지 연동 가이드가 나오는데요...
저는 지금 첫번째로 하고 있는데 이게 맞을까요?
https://docs.tosspayments.com/guides/payment-widget/integration-paypal
https://docs.tosspayments.com/guides/paypal
PayPal 연동하기 | 토스페이먼츠 개발자센터
토스페이먼츠 결제위젯 SDK로 PayPal 해외 간편결제를 연동하는 가이드입니다. 결제위젯으로 간편하게 주문서 페이지의 결제 UI를 연동할 수 있기 때문에 해외 간편결제 연동에 추천하는 방법입니다.
PayPal 연동하기 | 토스페이먼츠 개발자센터
토스페이먼츠 결제창 SDK로 PayPal 해외 간편결제를 연동하는 방법입니다. 결제 페이지를 구축해서 페이팔 버튼을 직접 만들어야 합니다.
똑같은 현상나온 주문번호 한번 확인해주시겠어요..?
네 맞습니다
64eec86530e2d8ab91c1e846
orderId입니다
방금전에 다시 해본 주문입니다
첫번째꺼는 기존 결제위젯 SDK를 사용하시는 분이 추가로 결제수단 추가 시 사용하는 가이드이고,
두번째는 결제창 방식 SDK으로 연동하는 가이드입니다.
아 그런가요 잠시만요
페이팔 결제시에는 이렇게 하드코딩해놨는데 KRW와 KR로 되어있나요?

혹시 저희가 접속 가능한 사이트가 있을까요?
토스페이먼츠 결제연동팀
techsupport@tosspayments.com
사이트 접속이 불가하면, 페이지 전체코드 전달 요청드립니다.
(페이팔 부분)
라이브키가 노출되어 지웁니다.
코드는 받았고 확인해서 안내드리겠습니다
@justin27515 전혀 재현이 되지 않습니다. 위파일 only html로 구현된거라, local에서 실행하기만하면 페이팔 위젯 뜰거에요. (clientKey만 사용하시는거 넣어주세요) 되는지 확인 해주시기 바랍니다..
@justin27515 뭔가 귀사 코드에 일반결제랑, 페이팔 함수 분리해논게 섞이지 않았을지 의심됩니다.
보내주신 html을 띄어보니 이렇게 나오는데요... 결제하기를 눌러도 아무런 반응이 나오지 않습니다..ㅠ

물론 클라이언트키는 교체했습니다...
@이실장 다시 한번만 확인 부탁드립니다!
이실장님이 보내주신 html을 그대로 실행하신 것은 아닌 것 같은데요. iframe으로 호출하셨나요?
이실장님 코드에 key만 변경한 경우 정상 동작합니다.
네 들어가지긴 했는데요.. 페이팔 로그인하고 이렇게 나오는데 제 페이팔 계정이 한국으로 설정되어 있어서 그럴까요?

네, 해외 VPN을 사용해서 해외계정 로그인 하여 테스트하셔야 할겁니다.
한국 페이팔은 국내 규제로 인해 진행이 되지않습니다.
음 제가 지금 호주로 vnp을 잡아서 해봤는데요 똑같이 뜨네요... 등록되어 있는 계좌랑 카드가 한국계좌이어서 그럴수 있을까요?
PayPal 연동하기 | 토스페이먼츠 개발자센터
토스페이먼츠 결제위젯 SDK로 PayPal 해외 간편결제를 연동하는 가이드입니다. 결제위젯으로 간편하게 주문서 페이지의 결제 UI를 연동할 수 있기 때문에 해외 간편결제 연동에 추천하는 방법입니다.
테스트환경에서는 여기 공개된 아이디로 테스트하시고
라이브환경에서는 외국에서 생성된 외국카드가 등록된 계정으로 가능합니다.
네 html 환경에서는 되는데 npm환경에서는 안되네요...
Toss Payments와 계약된 결제수단이 아닙니다.
이렇게 계속 에러가 떨어지는데요... 제가 혹시나해서 아무렇게나 클라이언트 키 입력해도 이렇게 떨어지는것 같은데요..
test_ck_0Poxy1XQL8R5b6lPdNXr7nO5Wmlg 이 테스트키에는 문제가 없는걸까요?
그리고 테스트 결제 내역에서 저는 이 클라이언트 키로 절대 통화단위를 KR로 보낸적이 없거든요 ... USD로 하드코딩 되어 있어서요... 이건 왜 그런걸까요?

우선 지난번에 보내주신 소스코드를 보니
조건에 따라 일반결제/해외결제 호출해주시는 것 같은데
npm으로 단순하게 페이팔 위젯 render,페이팔 호출 페이지만 구현해봐주실 수 있나요?
다른 분들 모두 사용하는 모듈이라 ㅠ 우선 구현 문제인지 아니면 특정상황에서 npm이 잘못 동작하는지 확인해보기 위함입니다.
Toss Payments와 계약된 결제수단이 아닙니다.
는 페이팔 결제로 정상 호출되지 않았기 때문입니다. USD 부분도 파라메터가 제대로 들어오지 않아서 발생한 것입니다.
이실장님 말씀해주신 것처럼 npm으로 페이팔 호출 부분만 심플하게 구현하여 먼저 테스트 부탁드려요.
방금전에 orderId = 64f68145658ddabd3d6b8eb6 페이팔 결제 요청했었는데요... value, currency, country 모두 하드코딩해서 넣었습니다.
Unknown Error Error: Toss Payments와 계약된 결제수단이 아닙니다.
이 에러가 지속적으로 떨어지는데요....
혹시 몰라서 어제 제가 20.1 이렇게 소숫점을 넣어보니, 해당통화에는 소숫점을 넣을수 없다고 에러문구가 나오기도 했습니다.
결제요청시 currency 이 부분에서 설정이 안들어 가는것 같은데 확인한번 부탁드립니다!

하드코딩한 소스코드 한번 전달주시겠어요?
저희도 바로 확인해보겠습니다.
이 소스입니다~
감사합니다!
iframe위나 이런데서 띄우세요?
에러받은 주문번호도 한번 공유주세요
rderId = 64f68145658ddabd3d6b8eb6
근데 저희쪽 로그를 보면 10시 15분 요청이 아래와 같이 들어와 있습니다.
"amount":20,"currency":"KRW","country":"KR"
혹시 보내주신 코드 이외에 updateAmount 등을 하고 계신 코드는 없나요?
그런거는 아에 없습니다..ㅠ
제가 정확히 똑같은 파라미터들 넘기고있거든요?
귀사 clientKey로요
전혀 문제없습니다.
원인을 찾았네요... 저는 페이지에서 금액을 완전히 결정하고 loadPaymentWidget를 생성하고 바로 결제요청을 보냈는데요...
이렇게 안하고 상품 페이지에서 들어오자마자 초기화 해 놓고 상품을 변경시 금액을 업데이트 해주니 문제없이 되네요~
이렇게 안하고 상품 페이지에서 들어오자마자 초기화 해 놓고 상품을 변경시 금액을 업데이트 해주니 문제없이 되네요~
이유를 찾으셨다니 다행입니다.
모두 render되기 전에 결제요청이 되었나보네요.. 고생하셨습니다...
감사합니다! @이실장