I need a situation in which the vendors are charged a minimal fee for listing under a package. But I do not want them to be able to select that package again should they exhaust the number of listings allowed for that package.
This would be possible if there is an option to allow or disallow multiple paid packages for each paid packages just as it is for free packages. Kindly provide a snippet that would make this possible thank you.
Why I need this is because I’m trying to get around the unavailability of KYC verification with your themes/plugins. So if I could charge a vendor a small fee at the point of registration or listing, I could get their account details and use that to track them in cases of serious dispute.
Unfortunately, there’s no simple snippet for this — it requires a custom implementation.
As a possible workaround, you can create a single package with a very large limit (for example, 1,000,000) so vendors effectively only need to buy it once when they register and will not be required to purchase again. Then hide the package limit using CSS or a code snippet. Then the package selection page will never appear in the Add Listing form.
This will not give me what I want. If I make the limit to be that large, that means the vendors would never exhaust their limits to buy the other packages that I’m actually offering as paid.
Can you provide a snippet that can restrict the free package to only existing vendors, that is vendors that have previously bought a package on the site? With this I can provide a discount for first time users on the site with one of the packages, and give them access to the free package after their first listing or during their subsequent purchase. This will force them to enter their bank details before actually providing services or products on the site.
Please share more details about the required result, if I understand correctly you want all vendors to go through checkout even if they select the default free package, for KYC purposes?
If so, blocking vendors from re-purchasing the package would require some reasearch with customizations, a possible workaround for KYC is adding the required fields as custom vendor attributes so all vendors will have to fill them on registration. To prevent duplicating these details in the checkout form, there may be a simple snippet to sync these details with the WooCommerce fields.
Yes, I want all vendors to go through checkout even if they select the default free package before their first listing, or before they could even submit/save their profile to become a Vendor.
I have already added an attribute to get their phone numbers and ID, but this wouldn’t be enough as they could give me fake ones and I can’t do live/instant verification to confirm it actually belong to them, due to lack of KYC integration.
But since they have already verified their KYC with the banks, the best work around would be to get their bank details from payment, instead of asking them to input it by themselves.
It doesn’t actually matter if their checkout details is later duplicated on subsequent purchases, I’m more concerned with their KYC verification to protect my users.
Thanks for the details. Unfortunately there’s no simple code snippet for this, this would require further research. If you’re familiar with coding, I recommend checking the hivepress/v1/models/user_listing_package/create hook. A possible approach is setting the “default” field to “true” when the package is created (if this is the package that’s considered “fee” and shouldn’t be re-selected). This “default” field prevents the package from being deleted when the limit is exceeded so it can’t be reselected hivepress-paid-listings/includes/components/class-listing-package.php at 607390d8d51c8e2a45cf719a86af39a209b02ecd · hivepress/hivepress-paid-listings · GitHub
Thank you for your suggestion, but I’m not that good at coding. How about giving me a snippet that would make the free package to be only available to vendors that have already listed their services/products through a paid package?
That way, I could give a significant discount with one of the packages, while the free package remains hidden until they’ve bought and listed a service with one of the paid package, which I assume would be the discounted package. So with this I could get their bank details without scaring them away from the price, and even use the benefit of getting the free package as a marketing strategy.