워드프레스 정기결제 취소 알림 기능

코스모스팜 회원관리 플러그인의 정기결제를 테스트하고 있습니다.

정기결제시 cosmosfarm_members_subscription_request_pay 액션과 wp_mail 함수를 이용해서 메일을 보내실 수 있는 것을 알았습니다.

그럼 정기결제를 취소하면 어떤 액션이 발생하나요? 이때도 알림 메일을 받을 수 있을까요?

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    코스모스팜 회원관리 플러그인에서 cosmosfarm_members_subscription_request_pay 액션을 활용하시면

    말씀하신 것처럼 정기결제 시 코드를 추가하고 실행되게 하실 수 있습니다.

    정기결제 만료 시에는 cosmosfarm_members_subscription_expiry 액션을 활용하시면

    코드를 추가하고 실행되게 하실 수 있습니다.

     

    아래 링크들을 참고해보시면 도움이 되실 듯합니다.

    https://www.cosmosfarm.com/threads/document/33396
    https://www.cosmosfarm.com/threads/document/39270

    고맙습니다.

  • 아래처럼 구현해서 functions.php에 추가 했는데, 구독 취소시 Email이 발송이 안되더군요. 무엇이 잘못되었을까요?

    사용자가 구독을 수동으로 취소하는 것은 해당이 안되나요? 그냥 구독 기간이 만기가 되는 것을 감지하는 것인가요?

    info@mydomain.com은 실제 Email주소를 적용했습니다. 

    add_action('cosmosfarm_members_subscription_expiry', 'my_cosmosfarm_members_subscription_expiry', 10, 2);
    function my_cosmosfarm_members_subscription_expiry($old_order, $product){
        $to = 'info@mydomain.com';
        $title = '[구독종료] 구독 종료 알림';
        $message = '구독이 종료되었습니다.';
        
        $ret = wp_mail($to, $title, $message);        
    }

     

  • cosmosfarm_members_subscription_expiry 액션은 정기결제 만료 시 실행됩니다.

    사용자가 자동결제 활성화 비활성화 시에 코드를 추가하고 실행되게 하시려면

    cosmosfarm_members_subscription_update_result 필터를 활용해보시겠어요?

    예제 코드는 아래와 같습니다.

    add_filter('cosmosfarm_members_subscription_update_result', 'cosmosfarm_members_subscription_update_result_20200604', 10, 1);
    function cosmosfarm_members_subscription_update_result_20200604($result){
    	$subscription_active = isset($result['subscription_active']) ? $result['subscription_active'] : '';
    	
    	if($subscription_active){
    		// 자동결제 활성화 시 코드를 추가해보세요.
    	}
    	else{
    		// 자동결제 비활성화 시 코드를 추가해보세요.
    	}
    	
    	return $result;
    }

     

    최신 버전의 코스모스팜 회원관리 플러그인을 사용 중이시라면

    워드프레스 관리자 -> 정기결제 -> 상품 -> 상품 선택 -> 구매자 설정 탭에서

    자동결제 상태 및 중지 관련해서 설정하실 수 있습니다.

    고맙습니다.

  • 아래처럼 적용해서 성공적으로 알림 메일을 받았습니다.

    감사합니다.

     

    add_filter('cosmosfarm_members_subscription_update_result', 'cosmosfarm_members_subscription_update_result_20200604', 10, 1);
    function cosmosfarm_members_subscription_update_result_20200604($result){
    	$subscription_active = isset($result['subscription_active']) ? $result['subscription_active'] : '';
    	$order_id = isset($result['order_id']) ? $result['order_id'] : 'Unknown';
    	$current_user = wp_get_current_user();
    	
    	$to = 'info@mydomain';
    	if($subscription_active){
    		// 자동결제 활성화 시 코드를 추가해보세요.
    		$title = '[구독재개] 자동결제 재개 알림';
    		$message = '자동결제가 재개되었습니다.';
    	}
    	else{
    		// 자동결제 비활성화 시 코드를 추가해보세요.
    		$title = '[구독취소] 자동결제 취소 알림';
    		$message = '자동결제가 취소되었습니다.';
    	}
    	$message .= ' user:';
    	$message .= $current_user->user_login;
    	$message .= ', order_id:';
    	$message .= $order_id;
    	$ret = wp_mail($to, $title, $message);	
    	
    	return $result;
    }
    

     

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기