payuni / PAYUNi_for_WooCommerce

PAYUNi 統一金流 WooCommerce
GNU General Public License v3.0
7 stars 3 forks source link

Shipping class的問題. #2

Closed gobido closed 10 months ago

gobido commented 12 months ago

HI, 有另一個問題, 因為我的網站會跟據Shipping Class排除超商, 本來用ezship是用flat rate 他可以依照shipping class 運費寫1000 元避免客人選擇, 請問您們的7-11 有沒有機會增加類似排除的方法.

payuni commented 12 months ago

您好,請問是不要有超商取貨的選項嗎?

gobido commented 11 months ago

不是這個恴思, 因為超取有長寬限制,我們網站賣很多東西, 有些是寄不了超商的 (太長了), 現在是把不能寄的產品用Shipping class做 (加價1000就沒有客人選擇了), 原本的flat rate有針對shipping class 可以加錢, 客人才不管你這東西能不能寄, 能選就選, 結果就變成要叫客人改單.

payuni commented 11 months ago

1700815445840_0 1700815476493_0 請問你的意思是像這樣嗎? 當我單一費率的運費超過一千(或一個值)的時候就把超商的選項隱藏掉 而這個單一費率的運費是透過shipping class去控制的 當他超過門檻的時候就會把選項直接藏掉不能選擇

gobido commented 11 months ago

我覺得你這這個方法更棒 沒得選就沒人會靠背 畢竟WOO好像不能變成disable 然後顯示超材積之類的.

payuni commented 11 months ago

好的 所以這個情境應該就是你所需要的解法了對吧? 但這個方式就是會需要綁定單一費率+運送類別算出的運費總額去判斷了

gobido commented 11 months ago

你意思是會在原來的超取下面產生類別,還是另外要建立一個單一費率我再用別的方式去做PAYMENT連動?

payuni commented 11 months ago

1700818460821

目前作法是用單一費率去設定各運送類別的費用 在結帳時判斷單一費率的金額大於一千時就會把711的選項去掉

payuni commented 11 months ago

想請問一下,會不會有無法寄超商,但真的要使用到單一費率運費金額的情況呢?

gobido commented 11 months ago

我覺得用金額分應該是個陽春招...(爛招..哈哈) 我的產品是沒有差, 但是你是面向全部的賣家, 也許真的有賣家要用設定呢? 所以應該是超商針對shipping class disable shipping method 我查了一下 https://www.businessbloomer.com/woocommerce-disable-free-shipping-if-cart-has-shipping-class/ https://stackoverflow.com/questions/45598944/disable-shipping-method-when-a-cart-item-has-a-specific-shipping-class https://www.tychesoftwares.com/how-to-hide-shipping-method-by-shipping-class-in-woocommerce/

不知道這樣有沒有幫助?

payuni commented 11 months ago

是的 因為考慮到有可能真的有人會使用到單一費率的設定 所以在考慮要直接用shipping class的名稱去控制要不要顯示 進而不要影響到單一費率金額的設定

payuni commented 11 months ago

1701054288146_0 1701054310447_0 1701054088635_0 1701054095365_0 1701054110194_0 大概類似這個樣子 在shipping class要排除711的class設定代稱no711讓我判斷得到 只要結帳時有屬於這個shipping class的商品就會把711的選項藏掉 這樣即使沒有開單一費率也是可以判斷的到的 同時可以讓沒有使用單一費率的不會被綁住 另外也可以讓單一費率正常的設定費用

gobido commented 11 months ago

感覺要改很多CODE, 看是不是導引到其他外掛搭配 https://wordpress.org/plugins/conditional-shipping-for-woocommerce/ (shipping class 是pro功能)

https://wordpress.org/plugins/wpfactory-conditional-shipping-for-woocommerce/ shipping class 排除是免費功能

2個都可以用, 第2個適合Shipping class, 第1個免費適合小網站, 針對產品選擇行為. 我剛剛都試了.

payuni commented 11 months ago

其實上面那個是我已經調整好的結果 另一方面也是考慮到以後如果有其他客戶需要排除黑貓的話只需要另外加一個class的代稱去控就可以了 如果確認你這邊可以接受這個方式不會影響到你的話 我們會盡快更版

gobido commented 11 months ago

以您們為主囉..我只是使用者. 我自己是加了以下的code: (約在311行)

                   //物流資訊
                    if (isset($encryptInfo['ShipType'])) {
                        update_post_meta($encryptInfo['MerTradeNo'], 'uni_ShipType', $encryptInfo['ShipType']);
                        update_post_meta($encryptInfo['MerTradeNo'], 'uni_LgsType', $encryptInfo['LgsType']);
                        update_post_meta($encryptInfo['MerTradeNo'], 'uni_ServiceType', $encryptInfo['ServiceType']);
                        update_post_meta($encryptInfo['MerTradeNo'], 'uni_ShipTradeNo', $encryptInfo['ShipTradeNo']);
                        if( $encryptInfo['ShipType'] == '1' ){
                                update_post_meta($encryptInfo['MerTradeNo'] , '_shipping_first_name',$encryptInfo['Consignee'] );
                                update_post_meta($encryptInfo['MerTradeNo'] , '_shipping_phone',$encryptInfo['ConsigneeMobile'] );
                                update_post_meta($encryptInfo['MerTradeNo'] , '_shipping_address_1',$encryptInfo['StoreID'] . $encryptInfo['StoreName']);
                                update_post_meta($encryptInfo['MerTradeNo'], '_shipping_address_2', "7-11 " . $encryptInfo['StoreName'] ." (地址:" .$encryptInfo['StoreAddr'] 
                                         . " 店號:".$encryptInfo['StoreID'].")");
                                update_post_meta($encryptInfo['MerTradeNo'], '_billing_address_2', "7-11 " . $encryptInfo['StoreName'] ." (地址:" .$encryptInfo['StoreAddr'] 
                                        . " 店號:".$encryptInfo['StoreID'].")" );
                        }
                    }

如果可以能加進去是最棒了..哈哈. 因為加了我用rest api 就能去meta撈tracking number 謝謝大大

payuni commented 11 months ago

https://github.com/payuni/PAYUNi_for_WooCommerce/issues/2#issuecomment-1827056373

該功能已更新 相關說明及設定方式請參閱README.md物流設定

另關於此議題https://github.com/payuni/PAYUNi_for_WooCommerce/issues/2#issuecomment-1827066067 因有其他考量,故暫無更新與此相關設定之打算 若您本身有需求的話,再麻煩更新最新版後再自己調整

感謝您提供寶貴的意見及回覆

若有其他問題歡迎再反應