WP Manifestindependent plugin directory
manifest / ecommerce / tipping-addons-woocommerce

Paper Tipping Addons

Tipping addons for Woocommerce

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/xianmalik/tipping-addons-woocommerce/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Paper Tipping Addons

By: PaperHouse Agency

Version PHP WooCommerce

A music artist marketplace and tipping system for WordPress — built on WooCommerce, JetEngine, and Elementor.

Repo Size Stars


Requirements

Dependency Purpose
WordPress Core platform
WooCommerce Cart, orders, product management
JetEngine Dynamic content / meta fields
Elementor Page builder (tip widget)

Installation

# 1) Copy or symlink the plugin folder into your WordPress install
cp -r paper-tipping-addons /path/to/wp-content/plugins/

# 2) Activate from WordPress Admin → Plugins

# On activation the plugin automatically creates:
#   - The music_artist_vendor user role
#   - The wp_song_tips database table
#   - All required WooCommerce account rewrite endpoints

Features

For Artists

  • Registration — dedicated form via [artist_registration_form] shortcode; users assigned the music_artist_vendor role
  • Song Management — upload up to 5 songs per artist (cover image, preview clip, full MP3, full WAV)
  • Artist Profile — bio and profile picture editable from the My Account dashboard
  • My Tips — earnings summary per song with total tips received
  • Withdrawals — withdraw earnings to a PayPal account (minimum $10); full withdrawal history shown

For Fans / Customers

  • Tip Widget — Elementor widget placed on any song page; fans pick an amount and add it to the WooCommerce cart
  • Sticky Cart — floating cart icon via [paperhouse_cart_icon] shortcode that updates live on tip addition
  • Song Downloads — purchased/tipped songs available under My Account → Song Downloads

For Admins

  • Song Tips panel — WP Admin → Song Tips shows every tip with song, amount, customer, and date
  • PayPal Settings — Admin → Song Tips → PayPal Settings to configure OAuth credentials and sandbox mode

Shortcodes

Shortcode Description
[artist_registration_form] Renders the artist registration form
[paperhouse_cart_icon] Renders the sticky floating cart icon

WooCommerce Endpoints

Endpoint Description
/my-account/artist-profile/ Artist profile settings
/my-account/artist-sales/ Tips summary + withdrawal
/my-account/manage-songs/ Song list with edit/delete
/my-account/add-song/ Upload a new song
/my-account/edit-song/ Edit an existing song
/my-account/delete-song/ Delete confirmation
/my-account/artist-withdrawal/ Withdrawal form
/my-account/song-downloads/ Customer download history

Project Structure

paper-tipping-addons.php        # Plugin entry point — constants, boot, activation hook
includes/
  core/
    class-artist-query.php      # Static DB/query utility (earnings, song count, tipped songs)
    class-upload-handler.php    # Static file upload utility (audio + image with MIME validation)
  admin/
    admin-panel.php             # WP Admin menu: tips table + PayPal settings
    performance-fixes.php       # Admin-side performance tweaks
  artist/
    artist-vendor.php           # Main artist orchestrator (endpoints, menus, registration, profile)
    dashboard.php               # My Account dashboard (artist vs customer view)
    withdrawal.php              # Withdrawal form + AJAX processing
    songs/
      add.php                   # Add song handler
      edit.php                  # Edit song handler
      delete.php                # Delete song handler
      manage.php                # Song list handler
  frontend/
    sticky-cart.php             # Floating cart icon shortcode
    tip-widget.php              # Elementor tip widget
  woocommerce/
    cart-integration.php        # Add-to-cart AJAX, order processing, download email
    cart-filters.php            # Price hooks, cart item meta, order item labels
  integrations/
    paypal.php                  # PayPal OAuth2 + Payouts API
templates/                      # PHP partials — logic files set vars then include these
assets/
  css/                          # Scoped stylesheets (artist, frontend, woocommerce)
  js/                           # Vanilla JS (artist, frontend)
  images/
    cart-icon.png               # Sticky cart icon
    logo.webp                   # Site logo used in login form

Database

Table: wp_song_tips

Column Type Description
id bigint Primary key
song_id bigint WooCommerce product ID of the tipped song
tip_amount decimal Amount tipped
customer_name varchar Buyer's billing name
customer_id bigint WP user ID (0 = guest)
order_id bigint WooCommerce order ID
song_mp3 varchar MP3 download URL
song_wav varchar WAV download URL
created_at datetime Tip timestamp

WordPress Options

Option key Description
tipping_paypal_client_id PayPal app Client ID
tipping_paypal_client_secret PayPal app Client Secret
tipping_paypal_sandbox '1' = sandbox, '0' = live

Development Notes

  • No build system — pure PHP/CSS/JS, no npm or composer
  • Path constants PAPER_TIPPING_PATH and PAPER_TIPPING_URL defined in the main file and used everywhere
  • All HTML lives in templates/ — logic files only set variables then include the template
  • Reusable queries go through ArtistQuery, file uploads through UploadHandler
  • Artists are capped at 5 songs — enforced in both add.php and the AJAX handler
  • Withdrawal minimum is $10 — enforced server-side in withdrawal.php

License

This project is open source and available under the MIT License.

Author

Malik Zubayer Ul Haider
Website • GitHub • LinkedIn