' . '
' . sprintf( __( 'You have earned %s from this sale.', 'vendorverse' ), wc_price( $payout ) ) . '
' . '' . sprintf( __( 'New balance: %s', 'vendorverse' ), wc_price( VV_Helpers::get_vendor_balance( $vendor_id ) ) ) . '
'; $this->send( $user->user_email, sprintf( __( 'Order #%d Payout Received', 'vendorverse' ), $order_id ), $body ); } public function email_product_approved( $vendor_id, $product_id ) { $user = get_user_by( 'id', $vendor_id ); $product = get_the_title( $product_id ); if ( ! $user ) return; $body = '' . sprintf( __( '%s is now live in the store.', 'vendorverse' ), esc_html( $product ) ) . '
' . '' . __( 'View Product', 'vendorverse' ) . '
'; $this->send( $user->user_email, __( 'Product Approved', 'vendorverse' ), $body ); } public function email_product_rejected( $vendor_id, $product_id, $notes ) { $user = get_user_by( 'id', $vendor_id ); $product = get_the_title( $product_id ); if ( ! $user ) return; $body = '' . sprintf( __( 'Your product %s requires changes before it can be published.', 'vendorverse' ), esc_html( $product ) ) . '
' . '' . __( 'Admin notes:', 'vendorverse' ) . ' ' . esc_html( $notes ) . '
'; $this->send( $user->user_email, __( 'Product Revision Required', 'vendorverse' ), $body ); } public function email_withdrawal_approved( $vendor_id, $amount ) { $user = get_user_by( 'id', $vendor_id ); if ( ! $user ) return; $body = '' . sprintf( __( 'Your withdrawal of %s has been approved and is being processed.', 'vendorverse' ), wc_price( $amount ) ) . '
'; $this->send( $user->user_email, __( 'Withdrawal Approved', 'vendorverse' ), $body ); } public function email_withdrawal_rejected( $vendor_id, $note ) { $user = get_user_by( 'id', $vendor_id ); if ( ! $user ) return; $body = '' . __( 'Your withdrawal request has been rejected.', 'vendorverse' ) . '
' . ( $note ? '' . __( 'Reason:', 'vendorverse' ) . ' ' . esc_html( $note ) . '
' : '' ); $this->send( $user->user_email, __( 'Withdrawal Rejected', 'vendorverse' ), $body ); } public function email_new_message( $receiver_id, $sender_id, $message ) { $receiver = get_user_by( 'id', $receiver_id ); $sender = get_user_by( 'id', $sender_id ); if ( ! $receiver || ! $sender ) return; $body = '' . sprintf( __( 'You have a new message from %s:', 'vendorverse' ), esc_html( $sender->display_name ) ) . '
' . '' . esc_html( $message ) . ''; $this->send( $receiver->user_email, __( 'New Message Received', 'vendorverse' ), $body ); } public function email_low_stock( $vendor_id, $product_id, $qty ) { $user = get_user_by( 'id', $vendor_id ); $product = get_the_title( $product_id ); if ( ! $user ) return; $body = '
' . sprintf( __( 'Your product %s has only %d units left in stock.', 'vendorverse' ), esc_html( $product ), (int) $qty ) . '
'; $this->send( $user->user_email, __( 'Low Stock Warning', 'vendorverse' ), $body ); } }