17 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
안녕하세요 개발 환경은 전자정부 프레임워크 입니다.
혹시 금액부족으로 인한 오류처리를 사용자가 볼수있게 가능한가요?
소스를 보니 인증을 한후 승인처리에서 금액부족으로 인한 오류페이지로 가게 했는데
메시지를 받을 수 있을까요?? 로그 익셉션엔 메시지가 나오는데 이 부분이 인증에서 이미 메시지가 가는 바람에 successURL 에서 받지 못해서요
successURL에서 승인 API 호출 후 받은 error 응답을
사용자에게 얼럿을 띄우면됩니다.
아 승인 api가 있었군요
승인 api 볼수있는 url이 있을까요?
코어 API | 토스페이먼츠 개발자센터
토스페이먼츠 API 엔드포인트(Endpoint)와 객체 정보, 파라미터, 요청 및 응답 예제를 살펴보세요.
// 결제 상세정보 조회
JSONObject apiDetail = paymentService.getPaymentDetails(paymentKey);
// API 응답 처리
String status = (String) apiDetail.get("status");
String code = (String) apiDetail.get("code");
String message = (String) apiDetail.get("message");
아 상세 api를 조회를 했는데
잔액 부족으로 일부러 에러를 내서
했는데
Toss Payments API Response Body:
{"mId":"namudr","lastTransactionKey":"F048B80AD8964241C87863661AC0352C","paymentKey":"namud20241220164949so506","orderId":"00102600526KOFPI0010019AAAAAAAAAAAAAAAAA","orderName":"2024년도 리뉴얼시행",
"taxExemptionAmount":0,"status":"IN_PROGRESS","requestedAt":"2024-12-20T16:49:49+09:00","approvedAt":null,"useEscrow":null,"cultureExpense":false,"card":null,"virtualAccount":null,
"transfer":null,"mobilePhone":null,"giftCertificate":null,"cashReceipt":null,"cashReceipts":null,"discount":null,"cancels":null,"secret":"ps_ma60RZblrqY9MyAbXYj5rwzYWBn1",
"type":"NORMAL","easyPay":null,"country":"KR","failure":null,"isPartialCancelable":true,"receipt":null,"checkout":{"url":"https://api.tosspayments.com/v1/payments/namud20241220164949so506/checkout"},
"currency":"KRW","totalAmount":20000,"balanceAmount":20000,"suppliedAmount":18182,"vat":1818,"taxFreeAmount":0,"method":null,"version":"2022-11-16",
"metadata":{"eCode":"0102","menuId":"B-01-00","pCode":"0101"}}
이렇게오는데 error 응답이 안옵니다
승인 API 를 호출안하신거에요.
successURL 로 이동하면 승인 API 호출해 주세요 에러가 발생하면 응답이 에러로 내려옵니다.
아 알겠습닏자
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
아 이상하네요
잔액부족이나 예외는 해결이 되었는데
정상 결제 일때
successURL 에서 일단 승인 api 조회를 하고 DONE 확인중에
response getBody JSON: {"code":"ALREADY_PROCESSED_PAYMENT","message":"이미 처리된 결제 입니다."}
이건 왜 나오는지 알수가 없어서요... ㅠㅠ
/v1/payments/confirm 를 여러번 호출해서 그렇습니다.
처음 호출시 정상 처리되었고 이후 2번 더 호출하였는데 그때 "{"code":"ALREADY_PROCESSED_PAYMENT","message":"이미 처리된 결제 입니다."}" 해당 메시지 응답되었어요./
아 그러면 깃허브에 있는 /confirm/widget.do 하고 success.do두가지를 다썼는데
하나로 통일해야 하나요?
어느 코드를 보셨는지 링크 남겨주세요.
GitHub
tosspayments-sample/spring-javascript/src/main/java/com/example/dem...
토스페이먼츠 결제연동 샘플 프로젝트입니다. Contribute to tosspayments/tosspayments-sample development by creating an account on GitHub.
기본적으로 /v1/payments/confirm은 1회만 호출되어야 해요.
아...
중복 호출이라면 한번만 하시면 됩니다.