워드프레스 쇼핑몰, 웹사이트

사이트 이미지
쇼핑몰

남성의류 정기결제 쇼핑몰

우커머스의 정기결제(Subscription) 플러그인을 이용한 쇼핑몰.

사이트 이미지
웹사이트

회원관리 사이트

회원관리 프러그인을 이용한 학회 홈페이지.

사이트 이미지
쇼핑몰

면도기 정기결제 쇼핑몰

우커머스의 정기결제(Subscription) 플러그인을 이용한 쇼핑몰.

사이트 이미지
쇼핑몰

해외 쇼핑몰

해외 대상 쇼핑몰. 다양한 플러그인 사용됨.

사이트 이미지
쇼핑몰

강아지 용품 정기결제 쇼핑몰

우커머스의 정기결제(Subscription) 플러그인을 이용한 쇼핑몰.

포트폴리오 보기

블로그 인기글

커스텀 디자인

여러 종류의 플러그인을 이용해 페이지와 콘텐츠를 커스텀 디자인

Brizy Pro

페이지 빌더

다양한 콘텐츠를 만들 수 있는 프론트 엔드 페이지 빌더

Elementor Pro

페이지 빌더

다양한 콘텐츠를 만들 수 있는 프론트 엔드 페이지 빌더

Advanced Custom Field Pro

사용자 정의 필드

커스텀 콘텐츠 작업에 필요한 플러그인

Pods

사용자 정의 콘텐츠 타입

기본 콘텐츠 타입외에 다양한 형태의 콘텐츠 생성.

블로그

오늘 필자가 관리하고 있는 우커머스 정기구매 사이트에서 아래와 같은 메시지가 출력됐습니다. 우커머스 정기결제를 수년간 사용해오고 있지만 이런 증상은 처음이라서 우커머스 정기결제 쇼핑몰을 운영중인 관리자에게 도움이 되고자 포스팅합니다.



관리자 화면 상단에 메시지가 나타나는데 최근 정기구매 관련 이벤트를 처리중 에러가 발생했는데 원인 분석과 수정하려면 here라는 링크를 참고하라고 합니다. 해당 페이지는 아레와 같습니다.


https://docs.woocommerce.com/document/subscriptions/scheduled-action-errors/


이러한 에러가 발생하는 주된 원인은 Time Out이라고 합니다. 우선 정기결제는 예약된 작업을 기반으로 결제가 되는데 정기결제의 상태가 Active(활성)에서 On hold(일시정지)로 변경되고 5분동안 정기결제를 기반으로 새로운 자동주문이 발생하면서 지불결제도 순차적으로 발생합니다. 결제가 완료되면 다시 On hold는 Active로 전환되고 다음 정기결제 발생을 기다리게 됩니다.


그런데 호스팅의 알수없는 원인으로 주문만 발생하고 결제는 이뤄지지 않은 것으로 나옵니다. 위 그림에서 subscription payment for #6880라는 메시지의 #6880은 정기결제이고 이 링크를 클릭해 처리과정을 점검해봤습니다.



과거 이력을 보면 이 정기구매는 1주일 단위로 결제됩니다. 주문 #8982가 7월 7일 정상적으로 발생했고 결제도 이뤄졌습니다. 그리고 상태가 On hold에서 Active로 전환됐습니다. 다음 정기결제인 7월 14일에 Active에서 On hold로 전환되고 주문이 발생했으나 자금 결제는 이뤄지지 않은 것으로 나옵니다.


우커머스 가이드의 안내를 보면 카드결제가 이뤄졌는지 점검해보라고 합니다. 고객의 카드는 결제가 됐는데 사이트에서는 결제가 안된 것으로 나오면 안되겠죠.



아임포트를 거래하고 있으므로 결제내역을 보니 정상적으로 결제완료 됐습니다. 이곳의 관리자 화면은 확정적인 것이 아니므로 PG사의 결제내역을 확인해야 합니다. 이 사이트의 사장님께 연락해 나이스페이먼츠의 결제내역을 확인해달라고 했더니 이곳에서도 결제가 완료됐다고 합니다.


그러면 이후의 절차는 명확해집니다. 주문이 결제 대기중이므로 처리중으로 전환하고 정기결제는 On hold 상태이므로 Active로 전환해주면 된다고 합니다.



주문편집으로 들어가 대기중인 지불을 처리중으로 변경하고 업데이트 합니다.



정기구매 편집화면으로 들어가 활성으로 전환하고 다음 지불일자도 일주일 후로 변경하고 업데이트 합니다. 주문을 처리중으로 전환했으므로 정기구매 메모에도 지불결제가 완료되고 On hold에서 Active로 전환됩니다.


우커머스의 가이드에 따르면 WooCommerce Subscription 플러그인의 2.4.3 버전 이후에서는 아주 드문 경우라고 합니다. 에러가 자주 발생하면 호스팅에 문의해 해결해야 하고 Time Out으 문제이므로 PHP 실행시간을 늘리라고 합니다. 이 사이트는 현재 무한대의 실행시간을 설정해놨으니 Time Out으로 인한 문제는 아니고 호스팅의 다른 요인으로 인한 것으로 판단됩니다. 단순한 에러로 생각하고 무시하고 지나칠뻔 했는데 처음으로 겪는 일이라 유심히 점검해보니 고객의 불만이 생길만한 중요한 일이었습니다.