=== VidVix ===
Contributors: zzraz
Donate link: https://www.paypal.com/donate/?hosted_button_id=4SMV5H3BFFJKQ
Tags: video, paywall, paypal, rental, streaming
Requires at least: 6.0
Tested up to: 7.0.3
Requires PHP: 7.4
Stable tag: 1.1.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Sell time-limited access to local or remote video files with PayPal and protected same-site playback.

== Description ==

VidVix helps site owners rent access to individual videos directly from WordPress. Add videos in the shortcode generator, set one fixed rental duration and price, then place the generated shortcode on any post or page.

Visitors see a rental button first. After they click the button, PayPal checkout buttons are shown. Once payment is captured, VidVix grants time-limited access and serves playback through a protected same-site stream URL.

Features include:

* PayPal checkout integration.
* Fixed rental price and duration for all videos.
* Local server file or remote HTTPS video URL support.
* Shortcode generator and saved shortcode list.
* Downloadable rental access log in the WordPress admin.
* Protected same-site playback URLs for unlocked rentals.
* Upgrade link for learning about the PRO version on The App Mill website.

== Tutorial ==

https://www.youtube.com/watch?v=eU_RVB3OXMU

Watch on YouTube:

[https://www.youtube.com/watch?v=eU_RVB3OXMU](https://www.youtube.com/watch?v=eU_RVB3OXMU)

== External services ==

VidVix uses external services only for payment processing and optional support or upgrade links.

= PayPal =

VidVix connects to PayPal to display PayPal checkout buttons and to create, verify, and capture video rental payments. The PayPal JavaScript SDK is loaded from `https://www.paypal.com/sdk/js` on pages where a VidVix shortcode is displayed and a PayPal Client ID has been saved. VidVix also sends server-side API requests to PayPal when creating and capturing checkout orders.

Data sent to PayPal may include the PayPal Client ID, payment amount, currency, video rental reference, order ID, and other payment details required by PayPal to process the transaction. PayPal may return transaction identifiers and payer information such as payer email, which VidVix stores in the WordPress database as part of the rental log.

PayPal is provided by PayPal, Inc.

PayPal Terms of Service:
https://www.paypal.com/us/legalhub/paypal/useragreement-full

PayPal Privacy Policy:
https://www.paypal.com/us/legalhub/privacy-full

PayPal Developer Documentation:
https://developer.paypal.com/

= The App Mill =

The plugin includes an "Upgrade to PRO" admin menu link to The App Mill website:
https://www.theappmill.com/vidvix/index.html

This link is only opened when clicked by the user. No data is sent to The App Mill by the plugin unless the user chooses to open the link in their browser.

== Installation ==

1. Upload the plugin files or install the plugin ZIP through the WordPress Plugins screen.
2. Activate VidVix from the Plugins screen.
3. Go to VidVix > Settings.
4. Enter your PayPal Client ID, PayPal Secret, and PayPal API Base URL.
5. Set the fixed rental duration, currency, and price.
6. Go to VidVix > Shortcodes.
7. Add a video ID and a local file path or HTTPS video URL.
8. Save the shortcode.
9. Copy the generated shortcode into a post or page.

== Frequently Asked Questions ==

= What shortcode does the plugin use? =

Use the generated shortcode from the Shortcode List. It looks like this:

`[vidvix video_id="12345"]`

= Can each video have a different price? =

No. This version uses one fixed rental price and duration for every video.

= Is the video file hidden before payment? =

Yes. Each video is displayed using a video ID instead of exposing the saved file or URL in the shortcode.

= Is the original video URL exposed after payment? =

No. Playback is served through a protected same-site stream URL instead of exposing the saved file path or remote URL directly.

= Does this work with PayPal sandbox? =

Yes. Use `https://api-m.sandbox.paypal.com` as the PayPal API Base URL for sandbox testing.

= Where are rentals stored? =

Rental access records are stored in the WordPress database.

= Can I use remote video files? =

Yes. The catalog supports full HTTPS video URLs as well as local server paths.

= Do visitors need to refresh the page after payment? =

No. After a successful PayPal payment, VidVix unlocks and loads the video automatically.

= Does the plugin send data to third-party services? =

Yes. When PayPal payments are enabled, payment-related information is sent to PayPal in order to process transactions.

= What does the PRO version add? =

The PRO version adds:

* Per-video pricing
* Per-video rental duration
* Button customization
* Additional configuration options

== Privacy ==

VidVix stores rental records in the WordPress database.

When PayPal is enabled, payment information required to process transactions is transmitted to PayPal.

== Screenshots ==

1. Shortcode generator and shortcode list.
2. PayPal and rental settings.
3. Rental access log.
4. Rental button displayed before purchase.
5. PayPal and credit card buttons.
6. Video unlocked after successful payment.


== Changelog ==

= 1.1.1 =
* Completely suppressed notices from other plugins on VidVix admin screens.
* Added protection against notices injected after page load.

= 1.1.0 =
* Added a video tutorial to the plugin readme.
* Confirmed compatibility with WordPress 7.0.3.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.1.1 =
Keeps VidVix admin screens free from notices generated by other plugins.

= 1.1.0 =
Adds the video tutorial and confirms compatibility with WordPress 7.0.3.

= 1.0.0 =
Initial release.
