본문으로 건너뛰기

토스페이 승인 요청 중복 유입 시 정상 결제가 PG확인요망으로 남는 문제 개선

PHP 7 · GODO25
변경 파일 수: 3개
변경 파일 목록
총 3개
변경 파일 코드
추가삭제
Controller/Front/Order/OrderEndController.php+1-1
변경 전OrderEndController.php
 
// 결제 실패시의 모드에 따른 처리
$mode = Request::get()->get('mode');
if (in_array($mode, ['pgUserStop', 'pgTimeOver', 'pgDbError', 'pgWaitingCallback'])) {
/** @var OrderEndService $service */
$service = \App::getInstance(OrderEndService::class);
$pgFailReason = $service->failProcess($mode, $orderNo);
 
변경 후OrderEndController.php
 
// 결제 실패시의 모드에 따른 처리
$mode = Request::get()->get('mode');
if (in_array($mode, ['pgUserStop', 'pgTimeOver', 'pgDbError', 'pgWaitingCallback', 'pgPending'])) {
/** @var OrderEndService $service */
$service = \App::getInstance(OrderEndService::class);
$pgFailReason = $service->failProcess($mode, $orderNo);
 
Controller/Mobile/Order/OrderEndController.php+1-1
변경 전OrderEndController.php
 
// 결제 실패시의 모드에 따른 처리
$mode = Request::get()->get('mode');
if (in_array($mode, ['pgUserStop', 'pgTimeOver', 'pgDbError', 'pgWaitingCallback'])) {
/** @var OrderEndService $service */
$service = \App::getInstance(OrderEndService::class);
$pgFailReason = $service->failProcess($mode, $orderNo);
 
변경 후OrderEndController.php
 
// 결제 실패시의 모드에 따른 처리
$mode = Request::get()->get('mode');
if (in_array($mode, ['pgUserStop', 'pgTimeOver', 'pgDbError', 'pgWaitingCallback', 'pgPending'])) {
/** @var OrderEndService $service */
$service = \App::getInstance(OrderEndService::class);
$pgFailReason = $service->failProcess($mode, $orderNo);
 
Service/Order/OrderEndService.php+4
변경 전OrderEndService.php
$pgFailReason = __('결제가 정상적으로 완료되지 않았을 수 있습니다. 잠시 후 자동으로 확인되며, 결제 내역이 없다면 다시 시도해 주세요.');
$this->orderAdmin->setStatusChangePgWaitingCallback($orderNo);
break;
 
 
 
 
default :
$pgFailReason = '';
break;
 
변경 후OrderEndService.php
$pgFailReason = __('결제가 정상적으로 완료되지 않았을 수 있습니다. 잠시 후 자동으로 확인되며, 결제 내역이 없다면 다시 시도해 주세요.');
$this->orderAdmin->setStatusChangePgWaitingCallback($orderNo);
break;
case 'pgPending' :
// 다른 요청이 결제완료(f1→p1)를 선점할 수 있어 f1을 유지해야 하므로 상태를 기록하지 않는다
$pgFailReason = __('결제가 정상적으로 완료되지 않았을 수 있습니다. 잠시 후 자동으로 확인되며, 결제 내역이 없다면 다시 시도해 주세요.');
break;
default :
$pgFailReason = '';
break;