2017-04-12 107 views
0

在WooCommerce管理中,有取消訂閱選項。 我可以將其掛鉤,以便在訂閱被取消時進行陷印。 但是,如果我在WooCommerce中取消網關並取消網關上的訂閱之前,我更願意。WooCommerce訂閱擴展 - 在取消WooCommerce前在網關上取消

它需要

  1. 用戶/管理員選擇「取消訂閱」
  2. API請求到達網關給成功/失敗的響應。
  3. 成功後,WooCommerce取消訂閱。

之後掛鉤的當前設置中,取消訂閱可能導致API調用失敗。出現的訂閱在用戶可以繼續處理付款時在網關處取消。

我發現發佈狀態掛鉤更改將在訂閱發生變化之前觸發,但我無法停止進一步處理失敗(die)()。

有誰知道處理這種情況的最佳方法?

回答

1

而不是試圖重新排列事情的完成順序,你應該寫一個函數,在網關調用後,如果失敗,那麼它應該重新激活訂閱,然後告訴用戶再試一次。當然,它應該被記錄下來並向你發送通知。

我建議這種方法的原因是,它更不可能在WooCommerce更新中破壞。

+0

好的建議。 有沒有問題重新激活訂閱?如在,重新激活後是否觸發任何其他事件?它是一個簡單的'WC_Subscriptions_Manager :: activate_subscriptions_for_order()' 或者一個 '$ order-> update_status('completed');'? –

+0

不,我不這麼認爲,但當然總是需要測試。激活函數應該處理所有的依賴關係。請務必對該重新激活進行嘗試/捕獲。 請喜歡我,如果你喜歡我的答案。我正在努力爭取我的聲望點。 :) – Difster