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:
successUrl:
failUrl:
customerEmail: "test@test.com",
customerName: "testNickname",
});
위와 같이 보내고 있습니다. 토스페이먼츠 결제 UI 설정에서는 해외간편결제(바로사용가능) 이렇게 떠있습니다.
국내일반결제에서는 잘 되고 있고, 해외간편결제 paypal만 안되고 있습니다. currency는 USD로 넣었습니다
상점아이디: vecmuledph
입니다!
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
입니다!

