This one for completed initial subscription payments and subscription renewals.
function payment_made($subscription){ // How do I get the order details? } add_action("woocommerce_subscription_payment_complete", "payment_made");
And this one for when a status is changed, so I can handle manual and system changes either manual overrides or failed/pending/active/whatever status based of payments or switches.
function status_update($subscription, $old_status, $new_status){ // How do I get the order details? } add_action("woocommerce_subscription_status_updated", "status_updated");
Advertisement
Answer
To get the Order details from the WC_Subscription
Object, you will need first to get the parent ID (which is the order ID) using get_parent_id()
method:
$order_id = $subscription->get_parent_id();
Then you will get the WC_Order Object from the order Id using:
$order = wc_get_order( $order_id );
Then to get order details: How to get WooCommerce order details
Related: