This update adds two minor features kindly developed by @NixFifty, plus a number of bug fixes.
Thank you @NixFifty.
- Users with permission can view a list of users who have downloaded each version of a product by clicking the download count on the "Version History" tab
- When creating adding a new version, you can mark it as "Unsupported". Unsupported versions are downloadable but the most recent supported version is selected by default when downloading (similar to unsupported XF releases)
- Various bug fixes
This update is quite significant, but primarily only contains bug fixes. One or two of them, however, are pretty important:
This version resolves a race condition which could see a purchaser return from PayPal before the transaction is processed and allow them to edit or empty their cart. This issue would mean that once the transaction is processed, the cart no longer exists and the user's licenses would not be created.
To solve this issue, the purchase initialisation now happens in the controller and prior to redirecting to PayPal, the cart status is changed to "Pending".
Note: If you have any add-ons which add different payment providers, they may need some work before functioning correctly with this version.
Another major change revolves around chargebacks. One annoying aspect of previous versions was that chargebacks would effectively delete the cart and the license, making it difficult to track down which user actually triggered the chargeback.
In this version, licenses are now set to the state of "revoked" and the cart is "expired". Revoked licenses appear on the "View All Licenses" page and you can filter this page by license state to only show you the Revoked licenses.
Also there is a new "View All Outstanding Carts" page which lists all carts which are in either "active" or "pending" state. This can be filtered. Active carts are those that the user has put items into but not yet purchased. This could be useful as a manual way of identifying prospective buyer's and proactively contacting them to offer pre-sales advice. The most useful thing here is seeing the carts in "pending" state. These will most likely be the ones that a user may well have already paid for, but the IPN hasn't been received yet.
From the View All Outstanding Carts page you can "Convert Cart" or "Expire Cart". Convert Cart allows you to instantly convert a cart to licenses. You would do this in the cases where PayPal hasn't yet sent the IPN but you know you've received the payment. This sets the cart state to purchased. The payment processor code will not attempt to create licenses for a cart unless it is in "pending" state (so if the cart has already been set to purchased, the payment processor will not duplicate the licenses).
Also changed in this version is the following:
- The list of change logs now has an Edit link
- If you have PayPal add VAT onto your purchases, cost validation will no longer fail
- A "ghost image" will no longer display for products which had a thumbnail which has since been deleted
- The attachment browser now uses the correct phrase and link in several places
This release addresses a couple of issues:
- Prevents soft deleted products from being viewed without permission
- Check the user state and banned status of a user before sending email to them
- Rebuild the product cache to ensure the navigation tab item count stays correct after deleting/undeleting a product
There was a mistake when packaging the updates for versions 1.2.3, 1.2.4 and 1.2.5. These versions mistakenly did not include the product_callback.php file.
If you purchased Xen Product Manager since Sep 6, 2015, you will need to update to 1.2.6. If you are an existing customer you are unlikely to have been affected by this issue.
- Re-added product_callback.php file