신용카드 결제는 되었는데 주문내역서에 카드승인일시 와 신용카드결제액 이 표시되지 않습니다

그누보드4 에서
신용카드 결제는 되었는데 주문내역서에
카드승인일시 와 신용카드결제액 이 표시되지 않습니다
PHP의 어느 파일을 수정해야 되나요?

 
|

답변 4개

앞 답변의 DB·화면 구분에 더해, 이미 승인된 결제의 복구 순서도 같이 확인하시는 것이 좋겠습니다. 주문서의 빈칸만 보고 결제를 다시 진행하면 중복 결제가 생길 수 있으니, 먼저 PG 관리자에서 해당 주문의 현재 거래 상태를 대조해 주세요.

대조할 항목은 쇼핑몰 주문번호, PG 거래번호, 승인 금액, 승인 시각, 취소 여부입니다. 같은 금액의 다른 주문을 잘못 연결하지 않도록 금액만으로 찾지 말고 주문번호와 거래번호를 함께 맞춰 보세요.

PG에서는 정상 승인이고 주문 DB에만 정보가 없다면, 그 거래 시각의 결제 결과 수신 로그 → 주문 조회 결과 → DB UPDATE 실행 결과 순서로 좁혀보시면 됩니다. 특히 결과 처리 파일이 호출됐더라도 주문번호가 맞지 않아 갱신 대상이 없었거나, SQL 오류로 저장이 실패했을 가능성을 나누어 확인해야 합니다. 결과 파일이 호출됐다는 사실만으로 DB 반영까지 성공했다고 판단하면 놓치기 쉽습니다.

복구할 때는 표시를 맞추려고 승인 시각·금액만 임의로 입력하기보다, PG의 실제 승인 내역을 확인하고 백업한 뒤 해당 주문에 반영하는 편이 좋습니다. 결제 완료 처리에는 재고·쿠폰·포인트 같은 후속 처리가 연결돼 있을 수 있으니 기존 처리 파일을 통째로 재실행하기 전에는 중복 반영 여부도 확인해 주세요.

사용 PG사와 문제가 보이는 화면이 관리자용인지 고객용인지 알려 주시면 파일 범위를 더 좁힐 수 있습니다. 로그를 첨부하실 때는 고객 개인정보와 인증키·토큰을 가려 주세요.

2026-10-21 (수) 23:24:35

영카트4 기준으로 말씀드리면, 주문내역서의 "카드승인일시"와 "신용카드결제액"은 주문 테이블(yc4_order)의 od_card_time, od_receipt_card 값을 그대로 보여 줍니다.

그래서 먼저 해당 주문번호로 DB를 조회해 보시면 원인이 어느 쪽인지 갈립니다.

SELECT od_id, od_settle_case, od_receipt_card, od_card_time
FROM yc4_order WHERE od_id = '주문번호';
  • 값이 비어 있으면: 결제 결과를 받는 PG 결과 처리 파일(PG사별 result/return 파일)에서 주문을 업데이트하는 쿼리가 실행되지 않은 것입니다. 결제 시각의 PHP 오류 로그를 같이 보시면 좋습니다.
  • 값이 들어 있으면: 화면 쪽 문제입니다. 고객 화면은 shop/orderinquiryview.php, 관리자 화면은 adm/shop_admin/orderform.php에서 od_settle_case가 '신용카드'일 때만 출력하는 조건이 있으니, 그 조건과 변수명을 확인해 보세요.

사용하시는 PG사를 알려 주시면 결과 처리 파일 위치를 더 좁혀 드릴 수 있습니다.

이 경우에는 바로 특정 PHP 파일을 수정하기보다, 먼저 주문 DB에 승인 정보가 저장됐는지부터 확인하는 편이 안전합니다.

1. 결제 완료 주문의 DB 행에서 카드 승인 시각·카드 결제 금액·PG 거래번호 값이 실제로 들어왔는지 확인합니다.
2. 값이 비어 있으면 결제 결과를 받는 PG 콜백 또는 결제 완료 처리에서 주문 업데이트가 누락됐을 가능성이 큽니다. PG사 로그와 결제 완료 시점의 PHP 오류 로그를 함께 확인해야 합니다.
3. DB에는 값이 있는데 화면에만 안 나오면 주문내역서를 출력하는 페이지의 조회 쿼리, 변수명, 조건문 문제입니다. 관리자 주문서인지 고객 주문조회인지에 따라 파일이 달라질 수 있습니다.

그누보드4/영카트4는 사용 중인 배포판과 PG 모듈에 따라 파일 구성이 달라서 파일명을 단정하면 오히려 위험합니다. 문제가 보이는 화면의 URL, 관리자/고객 화면 구분, 사용 중인 PG사, 해당 주문 DB에서 승인 관련 필드가 비어 있는지까지 알려주시면 수정 지점을 훨씬 정확하게 좁힐 수 있습니다. 수정 전에는 주문 테이블과 대상 PHP 파일을 반드시 백업하세요.
주문내역서라는게 관리자페이지도 있고 사용자페이지도 있고 하니
어디서 표시되지 않는지 사진을 첨부하거나 좀 더 상세하게 작성하셔야 다른 분들이 답변 하기 좋을 것 같습니다.

답변을 작성하려면 로그인이 필요합니다.