autoship_update_scheduled_orders_on_processing (function)
(src/orders.php) Updates the WooCommerce Order's payment gateway metadata when the Order is updated via QPilot after processing payment. Takes the (WooCommerce) $order as its parameter.
Function
/** * Updates the order payment gateway meta data when updated via QPilot. * @uses autoship_create_scheduled_orders() * * @param WC_Order|int $order A WC Order object or order id. */ function autoship_update_scheduled_orders_on_processing( $order_id ) { // Get the wc order $order = wc_get_order( $order_id ); $processing_id = autoship_get_scheduled_order_processing_id( $order ); $payment_meta = autoship_get_scheduled_order_payment_response( $order ); $payment_object = autoship_get_scheduled_order_payment_method( $order ); // We only care for QPilot orders that have payment meta if ( is_checkout() || empty( $processing_id ) || empty( $payment_meta ) ) return; // Check if there is a payment method associated with it and fire the action $payment_method = get_post_meta( $order_id, '_payment_method', true ); $action = empty( $payment_method )? 'general' : $payment_method; do_action('autoship_update_scheduled_orders_on_processing_' . $action . '_gateway', $payment_meta, $order, $payment_object ); }