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
입니다!
2 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.