Web
Fixed the new PayPal API gateway. We did not implement the gateway properly, and assumed it would work similar to Stripe.
Thanks to Ethorbit for figuring this out and kindly providing us with a fixed example of the payment flow code.
If you have already set up the new PayPal API gateway you need to configure a few more webhook event types. You should now have the following types:
- Checkout -> Checkout order approved
- Payments & Payouts -> Payment capture completed
- Customer dispute -> Customer dispute created
Modified files
Web
- inc/functions.php
- paypal.php
Web
Introduced PayPal API as a long awaited replacement for PayPal IPN.
As of right now it only supports single purchases, just like Stripe. We will add subscriptions in the future, but for some reason PayPal's new server SDK does not support them yet.
Modified files
Web
- inc/functions.php
- composer.json
- composer.lock
- vendor/*
- compiled/*
- mix-manifest.json
- paypal.php
- store.php
- inc/classes/gateways.class.php
- inc/classes/lang.class.php
- inc/classes/paypal.class.php
- inc/admin_sidebar.php
- admin/gen/nav.php
- admin/gen/paypal-ipn.php
- admin/gen/paypal.php
Important for NGINX users: Please delete your ipn_errors.log, stripe_errors.log and paymentwall.txt files or apply the following directive in your nginx config:
Web
- Deleted any log files from the root directory, and stopped writing to them. Read the regular php error log instead.
Modified files
Web
- inc/functions.php
- .htaccess
Web
- Fixed miscellaneous PHP error notices and deprecations.
- Several code improvements across the board.
- Editing a theme now works again.
- Theme editor icon now displays correctly.
- Editing or creating a theme no longer changes the active theme to the theme you are currently editing.
- Fixed dashboard graph labels (they no longer say "undefined").
- Made sure files in the install folder cannot be reached directly, this also applies to a lot of other files that are normally protected by htaccess (when using apache) or the nginx config too.
- The "updates" area no longer throws an internal server error.
Important notice: If you have any custom standalone pages they must now set the ABSPATH constant before including functions.php or any other file that should be access protected.
Modified files
Web
- Pretty much all files have been touched because of the ABSPATH change
Web
- Fixed a few notices and strange behaviour that could happen directly after installation on some systems
Modified files
Web
- inc/functions.php
- inc/classes/update.class.php
- install/validation.php
- pages/admin/dashboard.php
Web
- Replaced the TinyMCE editor with a self hosted version, in order for it to work again
- Updated the build chain
Modified files
Web
- inc/functions.php
- inc/footer.php
- compiled/*
Changelog
Web
- Fixed a display issue where a selected custom action/console command run type option would not show the currently selected option, causing a reset of this option every time you save.
Lua
- Fixed an issue where the console would spew errors about an invalid SQL syntax on MySQL versions 8 or newer. We used a no longer existent shorthand version of
ORDER BY <columns> DESC.
Modified files
Web
- inc/functions.php
- inc/classes/options.class.php
Lua
- lua/prometheus/database.lua
This update contains some PayPal security fixes. Update ASAP!
Web
- Save Stripe customers for later use
- Custom jobs code now works properly
- PayPal security fixes
Modified files
Web
- inc/functions.php
- inc/classes/stripe.class.php
- inc/classes/update.class.php
- stripe.php
- pages/store/customjob.php
- inc/classes/verification.class.php
- ipn.php
Fixed a critical vulnerability to do with credit purchases where packages cost greater than 1000 credits. Update ASAP.
Web
- Fixed a critical vulnerability to do with credit purchases where packages cost greater than 1000 credits. Update ASAP.
- Fixed transferring credits to other users.
- Fixed an issue where redirecting to Stripe may not work if the ID returned from Prometheus has a space at the beginning.
Modified files
Web
- inc/credits.php
- inc/functions.php
- inc/classes/verification.class.php
- profile.php
- store.php
- pages/store/purchase.php
WARNING: If you are using Stripe you must update your API version in Stripe's dashboard for Stripe to work with this version of Prometheus. You can do so here: https://dashboard.stripe.com/developers
Web
- Modernized several parts of the code (PHP 7.4 now required).
- Stripe orders now have metadata set on them. You can search for things like product id, product type, user id and user receiver id.
- Fixed a problem in the installer where the Stripe keys would not be saved properly.
- Updated Stripe to the latest API version
- Fixed styling and text issues on the custom job creation page.
- Removed all usages of `get_magic_quotes_gpc`
Modified files
Web
- vendor/*
- inc/classes/actions.class.php
- inc/classes/customjob.class.php
- inc/classes/stripe.class.php
- inc/classes/steamLogin.class.php
- pages/store/customjob.php
- inc/functions.php
- stripe.php
- ipnlistener.php
- a bunch more files, but they are not required
Changelog
- Fixed an edge case where purchasing with credits would return a blank page if only credits is disabled and no custom price is set.
- Fixed PHP warnings in phpfastcache and in the credits purchase flow.
- Updated all our composer dependencies, this should fix some Stripe checkout errors.
Modified files
Web
- vendor/*
- inc/classes/coupon.class.php
- inc/classes/packages.class.php
- inc/credits.php
- cache/drivers/files.php
- cache/drivers/sqlite.php
- cache/drivers/abstract.php
- cache/drivers/phpfastcache.php
Changelog
- Fixed a bug where a free package would be given twice if credits are enabled while "only use credits" is disabled.
- Fixed a bug where assigning a non-permanent package would throw an error and not assign the package.
- Fixed a display bug in the dashboard.
- Added sAdmin support.
- Fixed QueryS error on the Lua side.
Modified files
Web
- inc/credits.php
- inc/functions.php
- pages/admin/dashboard.php
- admin/pkg/_actions.php
Lua
- lua/prometheus/actions.lua
- lua/prometheus/database.lua