카드 결제 시 1초만에 자동취소 오류
결제를 한 고객들 중 간헐적으로 1초만에 자동으로 카드가 취소되는 경우가 발생합니다. 저희 내부 시스템에는 결제되어 있다고 확인이 되는데 실제로 카드취소가 되어있는 상황입니다. 답변 부탁드립니다.
12 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
유플러스 결제 모듈 XPay 쓰고 있으신가요?
네 맞습니다
결제 완료 후, 가맹점 측에서 해당 결제건에 대한 처리 여부에 따라서
결제 취소를 바로 요청하는 Rollback 이라는 기능이 있는데요
서버 언어는 어떤 언어를 쓰고 있으신가요?
자바입니다
네, 그럼 아래와 같습니다.
1) payres.jsp 를 보시면, (5) DB에 인증요청 결과처리 라고 명시되어 있는 부분이 있을 겁니다. 여기에 Rollback 함수가 실행되는 조건에 대해 명시 해주셨을 겁니다. Rollback 취소가 일어난 이유는, 여기에 명시된 조건에 부합된것 때문이다, 라고 우선 이해해주시면 될것 같습니다. DB 처리가 늦어졌거나 등 사유가 있을텐데, 이 부분은 직접 확인해 주셔야 합니다.
2) lgdacom/conf/mall.conf 를 보시면 auto_rollback 이라는 기능이 있습니다.
rollback 함수 실행을 원하지 않으시면, 이 값을 0 으로 변경 해주시면 됩니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
확인해본 결과 1번의 경우에 저희가 Rollback 함수가 실행되어도 받을 수 있는 트랜잭션이 따로 없어서 ROLLBACK 값을 0으로 해놔도 기능이 의미가 없는 것 같더라구요. 그래서 저희는 결재완료 후 바로 취소 되었을 경우 특정 주문번호에 대해서 API를 통해 최종 결재가 완료 또는 취소 여부를 확인할 수 있는 API가 있는지 여쭤보고 싶고 있다면 관련 샘플 소스 등을 제공받아서 저희쪽에 적용할려고 합니다.
샘플코드에서 롤백 수행되는 부분의 코드인데요
이 부분 if 절에서 수행하는 로직이 없다는 말씀일까요?>
문의주신 결제의 완료인지 취소인지는 아래 가이드로 확인하시면 됩니다
https://drive.google.com/drive/folders/1PaDbgryQBwMX5Xczv59P6Oh5woBDKXE-?usp=drive_link
응답 필드의 내용들을 조합해서 최종상태를 확인하는 방식입니다

말씀하신 코드가 저희쪽에 주석처리되어 사용하지 않고 있더라구요. 예외처리 추가해서 사용하다가 나중에 또 문의사항 있으면 연락드리겠습니다. 감사합니다.
넵, 공유 감사합니다. 🙏