get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}vv_withdrawals WHERE id=%d", $wid ) ); if ( $row && $action === 'approve' && $row->status === 'pending' ) { $wpdb->update( "{$wpdb->prefix}vv_withdrawals", [ 'status' => 'approved', 'admin_note' => $note, 'processed_at' => current_time( 'mysql' ), ], [ 'id' => $wid ] ); do_action( 'vv_withdrawal_approved', $row->vendor_id, $row->amount ); echo '
Withdrawal approved.
Withdrawal rejected and amount refunded to vendor.
| ID | Vendor | Amount | Method | Status | Date | Bank Details | Actions |
|---|---|---|---|---|---|---|---|
| ' . esc_html( $w->id ) . ' | '; echo '' . esc_html( $w->display_name ) . ' ' . esc_html( $w->user_email ) . ' | ';
echo '' . wc_price( $w->amount ) . ' | '; echo '' . esc_html( $w->method ) . ' | '; $badge = [ 'pending' => '#f0c040', 'approved' => '#00a32a', 'rejected' => '#d63638' ][ $w->status ] ?? '#666'; echo '' . esc_html( $w->status ) . ' | '; echo '' . esc_html( date( 'Y-m-d', strtotime( $w->created_at ) ) ) . ' | '; echo '';
if ( ! empty( $bank ) ) {
foreach ( $bank as $k => $v ) echo esc_html( ucfirst( str_replace( '_', ' ', $k ) ) . ': ' . $v ) . ' '; } else { // Fallback to user meta $uid = $w->vendor_id; $fields = [ 'vv_bank_account_name' => 'Name', 'vv_bank_account' => 'Account', 'vv_name_of_bank' => 'Bank', 'vv_ifsc_code' => 'IFSC' ]; foreach ( $fields as $meta => $label ) { $val = get_user_meta( $uid, $meta, true ); if ( $val ) echo esc_html( $label . ': ' . $val ) . ' '; } } echo ' | ';
echo ''; if ( $w->status === 'pending' ) { echo ''; } else { echo '' . esc_html( $w->admin_note ) . ''; } echo ' |