綠界定期定額訂閱外掛拆解

公司有一個專案買了這個綠界定期定額專業版,因此不得已要研究一下他的運作方式
https://cloudwp.pro/market/plugins/premium-plugins/ecpay-subscriptions-pro/

搭配著 Woocommerce Subscription 分析 這篇文章

我們知道「訂單」和「收款更新」是兩件事

  1. 這個 Woocommerce Subscription 會在固定排程新增續訂訂單
  2. 這個定期定額外掛的 class-action.php 裏面會接收綠界收款資訊後,更新到 _cw-allpay-cce_order-info 或是 _cw-allpay-cce_period-return

因此這邊提供幾個檢驗:

  1. 使用以下程式來檢驗是否有正確的收到定期定額的付款
$intSubscriptionID = 12345; // 訂閱編號
print_r(get_post_meta($intSubscriptionID, '_cw-allpay-cce_period-return', true));
  1. 取得續訂訂單的 subscriptionOrder 或是 order
$orderId = 3499;
$subscriptionOrder = wc_get_order(
    reset(
        wcs_get_subscriptions_for_order($orderId, ['order_type' => 'any'])
    )->get_parent_id()
);
  1. 比較暴力一點取得訂單所有的 meta 來看一下
$intSubscriptionID = 2945;
print_r(get_post_meta($intSubscriptionID));