김형준
김형준4d ago

결제위젯 등록 시, 배포 환경에서만 실패

현재 아래 링크를 통해 테스트용 결제위젯을 연동하였습니다. https://docs.tosspayments.com/guides/v2/payment-widget/integration 로컬에서는 성공적으로 결제 성공까지 정상적으로 나오지만, 실제 배포 환경에서는 결제 성공창으로 리다이렉트 되는 과정에서 실패합니다. 로컬호스트와 배포 환경 모두 CORS 설정은 정상적으로 진행했습니다. 1. 서버에서 특정 방화벽을 허용해야하는 이슈일까요? 2. 위 링크에서 제공하는 테스트키를 사용했는데, 따로 개발자 센터에서 발급받은 테스트키를 사용해야하는지?
연동하기 | 토스페이먼츠 개발자센터
토스페이먼츠의 간편한 결제 연동 과정을 한눈에 볼 수 있습니다. 각 단계별 설명과 함께 달라지는 UI와 코드를 확인해보세요.
12 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
Kimoon Lee
Kimoon Lee4d ago
결제 요청시에 보내셨던 payload 를 공유해주세요. redirect가 안된다면 결제창을 호출하신 결제창을 호출한 domain 과 successURL 의 domain 이 다른것 같아요.
김형준
김형준OP4d ago
실제 payload 말씀이실까요? payload = {"paymentKey": data.payment_key, "orderId": data.order_id, "amount": data.amount} async with httpx.AsyncClient() as client: response = await client.post( "https://api.tosspayments.com/v1/payments/confirm", headers=headers, json=payload, ) 일단 코드는 위와같이 구성되어 있습니다.
Kimoon Lee
Kimoon Lee4d ago
requestpayments 호출할때 넣으셨던 파라미터 값을 알려주세요.
김형준
김형준OP4d ago
Toss confirm payload: {'paymentKey': 'tgen_202508181620123BEp3', 'orderId': 'order_2e2245aa-17d4-4cd8-8acb-f05ce590eab7_1755501611517', 'amount': 1900} redirect url형식은 아래와 같습니다! http://localhost:5173/success?paymentType=NORMAL&orderId=order_2e2245aa-17d4-4cd8-8acb-f05ce590eab7_1755501611517&paymentKey=tgen_202508181620123BEp3&amount=1900
Kimoon Lee
Kimoon Lee4d ago
실제 배포 환경에서는 결제 성공창으로 리다이렉트 되는 과정에서 실패
라고 하셨는데 거기도 이렇게 보내신건가요? 실제 배포 환경은 localhost 가 아니실것 같은데요.
김형준
김형준OP4d ago
requestpayments 호출할때 넣으셨던 파라미터는 아래와 같습니다! 혹시 문제가 될 요소가 있을까요?
await paymentWidgets.requestPayment({ orderId: orderId, orderName: "내용증명서 작성 서비스", successUrl: ${window.location.origin}${import.meta.env.VITE_BASE_PATH}success, failUrl: ${window.location.origin}${import.meta.env.VITE_BASE_PATH}fail, });
Kimoon Lee
Kimoon Lee4d ago
orderId 에 들어갔던값 알려주세요. Toss confirm payload: {'paymentKey': 'tgen_202508181620123BEp3', 'orderId': 'order_2e2245aa-17d4-4cd8-8acb-f05ce590eab7_1755501611517', 'amount': 1900} 이게 배포 서버에서 요청하셨던 건가요?
김형준
김형준OP4d ago
아뇨, 로컬에서 요청했던 건이였습니다. 배포 서버에서 요청한 값 파악하여 전달드리도록 하겠습니다. 일단 배포서버 로그에는, 로컬과 달리 아래와 같은 로그가 기록되어 있습니다. INFO:httpx:HTTP Request: POST https://api.tosspayments.com/v1/payments/confirm "HTTP/1.1 400 Bad Request"
OMG
OMG4d ago
tgen_202508181620123BEp3 로 16:21 에 이미 결제 성공 응답을 받으셨는데, 16:28 에 동일한 paymentKey 로 승인 요청을 다시 주셔서 400 에러 응답을 받으셨네요. {"code":"ALREADY_PROCESSED_PAYMENT","message":"이미 처리된 결제 입니다."}
김형준
김형준OP4d ago
해결하였습니다! 감사합니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?