김태현
김태현4mo ago

일시적인 오류가 발생했습니다.

안녕하세요 결제창(payment.requestPayment)을 띄우는 중에 일시적인 오류가 발생했습니다. loadTossPayments 이후 customerKey 키 값을 넘기는 것 까진 정상 작동을 확인했는데 requestPayment를 호출하는 과정에서 아래와 같이 서버 에러 500이 내려오는데 어떻게 해결 할 수 있을까요?
const tossPayments = await loadTossPayments(clientKey);
const payment = tossPayments.payment({
customerKey: value,
});


{
"result": "ERROR",
"data": null,
"error": {
"code": "COMMON_ERROR",
"message": "처리 중 오류가 발생했습니다",
"data": {
"failUrl": "https://pages.tosspayments.com/error/?code=COMMON_ERROR&message=%EC%B2%98%EB%A6%AC%20%EC%A4%91%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4&orderId=11eff4c1224f2e66a6700242ac110004"
}
}
}
const tossPayments = await loadTossPayments(clientKey);
const payment = tossPayments.payment({
customerKey: value,
});


{
"result": "ERROR",
"data": null,
"error": {
"code": "COMMON_ERROR",
"message": "처리 중 오류가 발생했습니다",
"data": {
"failUrl": "https://pages.tosspayments.com/error/?code=COMMON_ERROR&message=%EC%B2%98%EB%A6%AC%20%EC%A4%91%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4&orderId=11eff4c1224f2e66a6700242ac110004"
}
}
}
13 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
김태현
김태현OP4mo ago
주문번호는 ORD-174062905029 입니다.
Kimoon Lee
Kimoon Lee4mo ago
requestPayment 호출하실때 보내신 payload 를 공유해주실수 있을까요? 휴대폰 번호길이가 잘못된것 같아 보이긴합니다.
김태현
김태현OP4mo ago
아래와 같이 요청했습니다.
await payment?.requestPayment({
method: "CARD",
amount: {
currency: "KRW",
value: amount
},
orderId:paymentId,
orderName: ord-id,
customerEmail: email,
customerName: name,
customerMobilePhone: contactNumber,
windowTarget: "iframe",
// 카드 결제에 필요한 정보
card: {
useEscrow: false,
flowMode: "DEFAULT", // 통합결제창 여는 옵션
useCardPoint: false,
useAppCardOnly: false,
useInternationalCardOnly: currency === 'USD',
},
})
await payment?.requestPayment({
method: "CARD",
amount: {
currency: "KRW",
value: amount
},
orderId:paymentId,
orderName: ord-id,
customerEmail: email,
customerName: name,
customerMobilePhone: contactNumber,
windowTarget: "iframe",
// 카드 결제에 필요한 정보
card: {
useEscrow: false,
flowMode: "DEFAULT", // 통합결제창 여는 옵션
useCardPoint: false,
useAppCardOnly: false,
useInternationalCardOnly: currency === 'USD',
},
})
휴대폰 번호 길이 확인해보고 다시 시도해보겠습니다. 코드를 수정한게 없는데 다시 정상 작동하네요ㅎㅎ;
Kimoon Lee
Kimoon Lee4mo ago
네 아마 contactNumber 정보에 이상이 있었을것 같습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
김태현
김태현OP4mo ago
안녕하세요 useInternationalCardOnly을 true값으로 설정했을때만 위와 같이 처리 중 오류가 발생했다고 500이 발생하는데 확인이 가능할까요? orderId만 다르고 동일한 name, emial, contactNumber로 useInternationalCardOnly을 false로 설정했을 때는 결제창이 정상적으로 노출이 되는데 useInternationalCardOnly을 true로 주면 에러가 발생합니다.
Kimoon Lee
Kimoon Lee4mo ago
useInternationalCardOnly를 true 로 보내신 주문번호 알려주세요. 아. 지금 좀 잘못 알고 계신게 있으신것 같은데요. 해외카드 결제를 하시려고 하시는거죠? 국내카드와 해외카드 결제 를 같은 MID 로 사용하고 있으시다면 해외카드 결제 때도 KRW 로 결제를 올려주셔야 합니다. 해외카드결제MID 를 USD 결제용으로 받으신건가요? 요청 주시는거 보니까 테스트 상점이신것 같은데요 개발 테스트 상점에서는 USD 결제가 불가합니다.
김태현
김태현OP4mo ago
지금 키값을 요청하신분에게 여쭤보니 해외카드결제MID를 USD로 받지 않았다고하시네요 USD 결제를 하려고하면 해외카드결제MID를 따로 발급받아야하는걸까요? 아 개발 테스트 상점에서는 불가능하군요 그럼 USD 결제를 하려면 해외카드결제MID를 발급받고 개발 테스트 상점이 아닌 환경에서 시도하면 되겠군요
Kimoon Lee
Kimoon Lee4mo ago
네 맞습니다 USD 결제용 MID 를 따로 받으셔야 합니다.
김태현
김태현OP4mo ago
해외 카드 결제는 추가 계약이 필요하다는 문서를 확인했는데 이 계약이 해외카드결제MID 계약일까요?
Kimoon Lee
Kimoon Lee4mo ago
네 맞습니다. 계약하실때 USD 로 결제 원하신다고 해주세요.
김태현
김태현OP4mo ago
네 감사합니다 🙂

Did you find this page helpful?