결제 관련 이슈가 있어서 공유 드립니다.
안녕하세요 결제 SDK를 활용하여 서비스를 개발하는 중에 에러가 있습니다.
결제가 완료되었다는 완료 모달까지 확인 되는 데 실제로 계좌에서 돈이 빠져나가지 않습니다.
확인 한번 요청 드립니다. 필요한 것 있음 말씀 주셔요
This is guide: https://docs.tosspayments.com/reference/js-sdk
This is the code applied:
const onClickPaymentWithTosspay = () => {
var clientKey = CLIENT_KEY_LIVE;
var orderId =
order_id_${new Date().getTime()}
;
let currentAmout = data.freightCost + data.vat;
setloadingBrandpay(true);
loadTossPayments(clientKey).then((tossPayments: any) => {
tossPayments
.requestPayment("카드", {
// 결제 정보 파라미터
amount: currentAmout,
orderId: orderId,
orderName: orderId,
})
.then(function (data: any) {
// 결제 요청 성공 처리
console.log("payment completed:", data);
callbackPayment({
success: true,
});
setloadingBrandpay(false);
})
.catch(function (error: any) {
console.log("payment error:", error);
if (error.code === "USER_CANCEL") {
// 결제 고객이 결제창을 닫았을 때 에러 처리
} else if (error.code === "INVALID_CARD_COMPANY") {
// 유효하지 않은 카드 코드에 대한 에러 처리
}
dispatch(
openDialog({
type: "info",
//@ts-ignore
content: error?.message || "결제 문제",
})
);
setloadingBrandpay(false);
});
});
};결제창 JavaScript SDK | 토스페이먼츠 개발자센터
토스페이먼츠 결제창 JavaScript SDK 사용에 필요한 준비와 메서드 사용법, 결제 실패 및 에러 처리 방법을 알아봅니다.
30 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
1. 테스트 키를 사용하셨나요
2. successURL 이동 후 결제승인API는 호출 하셨나요?
혹시 테스트키로 하신건가요? 테스트키를 쓰시면 실제 결제는 발생하지 않습니다.
키는 공개하지 말아주세요
2번 질문의 경우에도 가이드라인에 따라 진행했습니다.
아 넵 라이브키 사용했습니다.
주문번호 남겨주시기 바랍니다.
주문번호 혹시 어디서 확인 가능할까요?
var orderId = orderid${new Date().getTime()};
orderId
이 값을 알려주시기 바랍니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
저희가 지금 테스트 결제내역에서도 결제내역이 뜨지 않고 라이브키를 사용하였음에도 실결제가 이루어지지 않아서요

주문번호 : 1684807873312
해당 주문번호는 저희쪽으로 요청이 들어온적이 없습니다.
주문번호 다시 확인해 주실수 있을까요?
order_id_1684807873312

요청하신 orderid가 이것인가요?
저희에게 전달 주시는 파라미터가 있을겁니다
orderId

이거 맞는거 같습니다
결제를 진행 했다는 것이
* 결제창을 열어서, 카드사를 선택하고 필요한 액션을 완료했다
이것 이라면,
승인 API 호출 진행 하셨는지를 확인 해주세요
위에 코드를 보면 order_id_(timestamp)로 보내고 있으니 저게 맞지 않나 싶어요
orderId: orderId,
orderName: orderId,
동일 값을 쓰고 있으신듯 하네요
네네 그런거 같습니다
결제가 완료 되려면
https://docs.tosspayments.com/reference#%EA%B2%B0%EC%A0%9C-%EC%8A%B9%EC%9D%B8
이 API 를 호출 해주셔야 합니다
코어 API | 토스페이먼츠 개발자센터
토스페이먼츠 API 엔드포인트(Endpoint)와 객체 정보, 파라미터, 요청 및 응답 예제를 살펴보세요.
이 API 호출이 누락 되어 있으신것 같아요
제가 개발자가 아닌지라 그렇다면 해당 api가 누락되어 있다고만 전달 드리면 괜찮을까요?
이 부분도 함께 전달 드려야 할까요?
네네 저 부분을 개발자 분에게 전달 주시면 됩니다
개발자분이 궁금한 점이 있으면 이곳으로 모시고 와도 좋고요
해당 api 추가해서 테스트 해보았는데
"인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다."
라고 뜹니다ㅠ
tosspayments.com 로그인 해서, 개발자센터로 접속하면
클라이언트키 / 시크릿키가 있는데요
그 키들 pair 는 잘 맞추셨는지
API 에서 시크릿키는 base64 인코딩 해야 하는데, 그건 잘 하신건지
해외 개발자라도 저희가 영어로 대응할 수 있으니까 이곳으로 데려오셔도 좋을것 같아요
아니면
https://docs.tosspayments.com/guides/international/index
이 링크를 공유 해주세요
외국인 개발자 이해도에 맞게 작업한 곳 이에요
International Merchants Guide | 토스페이먼츠 개발자센터
Understand the features and flow of Korean card payments and integrate TossPayments.