상품 결제 완료시 sms 전송

안녕하세요.

코스모스팜 회원관리를 통해 회원권을 판매중입니다.

다름이 아니오라 홈페이지 내에서 결제가 완료되었을때, '손님'과 '운영자'에게 모두 문자가 전송되게 하고 싶은데요.

문자 내용에는 '고객 이름', '결제 상품 이름' 을 함께 넣고 싶습니다.

예를들어 운영자에게는 

xxx 고객님이 oooo상품을 결제하였습니다.

손님이게는

xxx 고객님, oooo상픔을 결제해주셨습니다. 감사합니다.

이런 식으로요.

방법을 알려주시면 매우 감사하겠습니다!

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

     

    코스모스팜 회원관리 플러그인에서 SMS 기능을 이용하시려면

    SMS 문자 기능은 카페24 또는 토스트 클라우드(TOAST Cloud)에 가입해야합니다.

    아래 링크들을 참고해보시겠어요?

    워드프레스 SMS 문자 보내기 플러그인 - 카페24(cafe24) 연동

    워드프레스 SMS 문자 보내기 플러그인 - 토스트 클라우드(TOAST Cloud) 연동

     

    cosmosfarm_members_sms_send() 함수를 사용하시면

    워드프레스 훅(액션/필터)에 추가하거나 다른 플러그인과 연동해서 문자를 보내 실 수 있습니다.

    코스모스팜 회원관리 플러그인에서 결제 시 문자를 보내시려면

    cosmosfarm_members_subscription_request_pay 액션에 cosmosfarm_members_sms_send 함수를 적용해주시면 됩니다.

     

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    add_action('cosmosfarm_members_subscription_request_pay', 'my_cosmosfarm_members_subscription_request_pay', 10, 2);
    function my_cosmosfarm_members_subscription_request_pay($order, $product){
    	$purchaser = wp_get_current_user();
    	$phone = get_user_meta(get_current_user_id(), 'phone1', true);
    	$admin_phone = '010-1234-5678';
    	
    	cosmosfarm_members_sms_send($admin_phone, $purchaser->display_name . ' 고객님이 '.$product->post->post_title.' 상품을 결제하였습니다.');
    	cosmosfarm_members_sms_send($phone, $purchaser->display_name . ' 고객님, '.$product->post->post_title.' 상품을 결제해주셨습니다. 감사합니다.');
    }

    위의 코드에서 phone 부분은 실제 사용자의 핸드폰 번호 필드의 메타키로 적용해주시고

    $admin_phone = '010-1234-5678'; 부분의 번호는 운영자의 번호로 적용해주세요.

    display_name(공개적으로 표시할 이름) 대신 다른 필드를 사용 중이시라면 해당 필드로 교체하신 후에 적용해보시겠어요?

    고맙습니다.

  • 안녕하세요. 말씀해주신 cosmosfarm 함수를 이용하니 전송이 안됩니다. 

    기존 답변을 보고 짜깁기하여 

    add_action('woocommerce_order_status_completed', 'my_order_status_completed_sms', 10, 1);
    function my_order_status_completed_sms($order, $product){
        $purchaser = wp_get_current_user();
        $phone = get_user_meta(get_current_user_id(), 'billing_phone', true);
        $admin_phone = '010-7377-5558';
        
        cosmosfarm_members_sms_send($admin_phone, $purchaser->last_name . ' 회원님이 '.$product->post->post_title.' 상품을 결제하였습니다.');
        cosmosfarm_members_sms_send($phone, $purchaser->last_name . ' 고객님, '.$product->post->post_title.' 상품을 결제해주셨습니다. 감사합니다.'}

     

    이렇게 코드를 바꾸니 문자는 옵니다만, 상품 이름이 제대로 표기가 되지 않고 탈락되어 오네요.

    xxx고객님, oooo상품을 결제해주셨습니다. 이렇게 와야하는데

    xxx고객님, 상품을 결제해주셨습니다. 이렇게 옵니다...

    제가 어떤 부분을 고쳐야 상품이름까지 포함하여 제대로 문자가 올까요?

  • 그리고 우커머스와 코스모스팜 코드를 저렇게 짬뽕해도 되는건가요?

  • 안녕하세요.

    코스모스팜 회원관리 플러그인의 결제가 아닌

    우커머스 결제 시 SMS 전송하시려면 코드가 다릅니다.

    관련 문서를 참고해보시겠어요?

    https://docs.woocommerce.com/wc-apidocs/hook-docs.html

     

    코스모스팜 회원관리 플러그인의 cosmosfarm_members_sms_send 함수는

    우커머스 뿐만 아니라 제 3의 다른 플러그인에서도 사용할 수 있도록 되어있기 때문에

    다른 플러그인의 훅에 추가해서 사용하실 수 있습니다.

    고맙습니다.

  • 안녕하세요. 

    알려주신 코드로 다시 시도해보았는데요.

    .$product->post->post_title. 이부분이 상품이름이 제대로 나오지 않고

    Order – 9월 27, 2018@05:21 오후

    라고 나옵니다.

    상품이름이 제대로 나오게 하려면 어떻게 해야할까요?

    제 나름 여러 시도를 해보았는데 잘 되지 않네요.

  • 안녕하세요.

    이전에 안내해드린 코드는 코스모스팜 회원관리 플러그인에서

    결제 완료 시 SMS 알림을 보내는 코드입니다.

    따라서 우커머스 쪽 코드는 다를 수 있습니다.

    아래의 코드를 활용해보시겠어요?

    add_action('woocommerce_order_status_completed', 'my_order_status_completed_sms', 10, 1);
    function my_order_status_completed_sms($order_id){
    	$purchaser = wp_get_current_user();
    	$phone = get_user_meta(get_current_user_id(), 'billing_phone', true);
    	$admin_phone = '010-1234-5678';
    	
    	$order = wc_get_order($order_id);
    	$items = $order->get_items();
    	
    	foreach ($items as $item){
    		$product_name = $item->get_name();
    		cosmosfarm_members_sms_send($admin_phone, $purchaser->last_name . ' 회원님이 '.$product_name.' 상품을 결제하였습니다.');
    		cosmosfarm_members_sms_send($phone, $purchaser->last_name . ' 고객님, '.$product_name.' 상품을 결제해주셨습니다. 감사합니다.');
    	}
    }

    고맙습니다.

  • 깔끔하게 해결이 되었습니다.

    정말 감사합니다!

    좀 더 원할하게 사용하기 위해서는 php공부가 필요할 듯 합니다.

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