vecmul
vecmul2mo ago

Paypal 결제위젯 연동 INVALID_PAYMENT_METHOD

web에서 toss payments 연결 중입니다. react에서 "@tosspayments/tosspayments-sdk": "^2.2.4" 사용중입니다. 첨부한 사진 처럼 paypal 위젯까지는 잘 열리는데, requestPayment 함수가 실행될때 다음과 같은 failUrl로 갑니다 http://localhost:3000/payments/toss/fail?code=INVALID_PAYMENT_METHOD&message=Payment%20has%20already%20been%20requested.&orderId=48db89da-b1f2-4830-9f9f-5e00f6fe7b77 const widgetsRef = useRef<TossPaymentsWidgets | null>(null); const initWidgets = async () => { if (process.env.TOSS_PAYMENTS_API_KEY) { const tossPayments = await loadTossPayments( process.env.TOSS_PAYMENTS_API_KEY ); const customerKey = getRandomId(); const widgets = tossPayments.widgets({ customerKey }); widgetsRef.current = widgets; } }; // 결제할 아이템 선택하면 실행되는 함수에서 currency, amount 지정해줌 widgetsRef.current.setAmount({ currency: currency, value: amount, }); // 결제하기 버튼을 누르면 실행되는 함수 widgetsRef.current.requestPayment({ orderId: orderId, orderName: test-order-name, successUrl: ${window.location.origin}/payments/toss/success, failUrl: ${window.location.origin}/payments/toss/fail, customerEmail: "test@test.com", customerName: "testNickname", }); 위와 같이 보내고 있습니다. 토스페이먼츠 결제 UI 설정에서는 해외간편결제(바로사용가능) 이렇게 떠있습니다. 국내일반결제에서는 잘 되고 있고, 해외간편결제 paypal만 안되고 있습니다. currency는 USD로 넣었습니다 상점아이디: vecmuledph 입니다!
No description
3 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
Ayaan
Ayaan2mo ago
안녕하세요, 해당 문제는 1. 계약이 완료되지 않은 상태에서 결제 시도 시 2. 이미 결제가 완료된 결제건인데 중복결제가 요청되었을 시 발생합니다. 상점관리자 (https://app.tosspayments.com) 에 로그인 하셔서, 좌측 '이용 정보' 에서 PayPal 계약되어있는 상점아이디 선택하시고, 계약 완료상태인지 확인해 주세요. 계약 완료 상태가 아닌 경우, 결제위젯으로는 PayPal 테스트가 불가능합니다. (일반 결제창 방식으로는 공용 문서키를 통해 테스트 진행이 가능하긴합니다.) 계약 완료 상태이면, 주문번호(orderId) 값을 다르게 해서 요청해 보세요. 이렇게 하더라도 문제가 지속되면, 요청하셨던 주문번호(orderId) 값을 올려주시기 바랍니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.