Affiliate Program

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
1 month 3 weeks ago #370261

-- HikaShop version -- : 6.3
-- Joomla version -- : 6.02
-- PHP version -- : 8.4
-- Browser(s) name and version -- : chrome latest

Hello, is there a way to use Hikashop 6.3 & Joomla! 6 to create a store with the following features? The principle is multi-level marketing, there will be dealers who will have customers under them, and the CEO will be able to see which dealer each customer who has made a purchase belongs to. Accordingly, the dealer must be able to use discounts because they are a partner after all.
My Question is: How can the store owner see which customer belongs to which dealer?

Please Log in or Create an account to join the conversation.

  • Posts: 85357
  • Thank you received: 13943
  • MODERATOR
1 month 3 weeks ago #370262

Hi,

With the affiliate system in HikaShop, each affiliate of a partner will be linked to that partner. When you edit a customer in HikaShop's backend, you'll have a setting "partner" with the partner user selected, so you can see "which customer belons to which dealer".
Also, with a mass action you can output a list / CSV of the users of a partner with a filter on the column user_partner_id and an action "Display the results" or "export CSV file".

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
1 month 3 weeks ago #370272

The idea is, is there a way for each distributor to send a unique link to customers or something similar?

Please Log in or Create an account to join the conversation.

  • Posts: 85357
  • Thank you received: 13943
  • MODERATOR
1 month 3 weeks ago #370275

Hi,

Yes, it is possible. You can configure banners in HikaShop to setup links you want to advertise to partners so that they can share their unique link with their customers. This way, the customers will be linked to them automatically.
www.hikashop.com/support/documentation/i...hop-banner-form.html
You can see an example of partner affiliate program page with some banners configured for our own website:
www.hikashop.com/my-account/affiliate-program.html

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
1 month 1 week ago #370499

Hello, tell me, is there a way for customers to accumulate points through their purchases and, accordingly, for each order from the customer to also accumulate points for their dealer?

Please Log in or Create an account to join the conversation.

  • Posts: 85357
  • Thank you received: 13943
  • MODERATOR
1 month 1 week ago #370500

Hi,

It's possible for users to accumulate points with the user points system:
www.hikashop.com/support/documentation/257-using-points.html
Then, you can configure the "Provide points instead of fees" setting, under the Features tab of the HikaShop configuration for partners to gain points instead of fees.

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
2 weeks 3 days ago #370782

Hello, I want to ask a question about user points. I created a payment method Pay with Points in which I use Hikashop user points for the point system, and for a custom field for the price of a product in points I use a custom field "User Points" in differrent tables user nad product. In the product I indicate the points, which are for the respective product, for example 7, and when the customer buys the product and has the status Confirmed Order, he receives the points - 7. I have the following questions:
1. How can the points be doubled or tripled if the customer orders two or three pieces of the product?
2. How can I make it so that the customer can use the accumulated points to buy a given product, and if the points are not enough, to pay the corresponding amount? Accordingly, if there are many points, then pay only with points?
3. Tell me how to make customers earn points and use them for partial or full discounts, if they have a lot of points?
p.s. I did the following: I created a product that accumulates 7 points if the customer buys it. And the price is 39 euros. Accordingly, the opposite can be done with 7 user points to buy the same product. I am confused, please help me! I also tried the moment when when the customer has more points it tells him that he will generate a coupon to buy the product with points, but the following confusion occurs, the coupon is generated and the workflow process returns you to the previous step, writing that the points have been taken and the customer has to remember that he took it back a step and repeat the step again and already in the order he notices that there is a coupon. Also if he deletes the coupon from the trash and cancels the order, the points are irrevocably taken and practically the customer, there are neither points in the form of a coupon, nor a discount, but the points disappear!

Please Log in or Create an account to join the conversation.

  • Posts: 85357
  • Thank you received: 13943
  • MODERATOR
2 weeks 2 days ago #370785

Hi,

Let me address your questions one by one.

1. Points multiplied by quantity

This is the default behavior. When a customer buys 3 pieces of a product that gives 7 points, the points plugin will give 3 x 7 = 21 points. You don't need to configure anything special for that. If you're not seeing this behavior, make sure the points plugin's "Give points when using some" setting is set to "Give on full price" (which it is in your screenshot).

2. Paying with points (partial or full)

In your "Pay with Points" payment method configuration, you have "Partial payment" set to "No" and "Minimum (percent)" set to 100%. This means the customer must pay the full amount in points or not at all. To allow partial payment (points + money), set "Partial payment" to "Yes" and lower the minimum percentage. For example, setting the minimum to 0% would allow the customer to use whatever points they have and pay the rest with another payment method.

However, there is an important thing to understand: the "Pay with Points" payment method works as a standalone payment method. When partial payment is enabled, the remaining amount after deducting the points value will need to be paid with a second payment method during checkout. The customer would first select "Pay with Points", which deducts what it can, and then a second payment step is presented for the remainder.

3. Exchange rate configuration

Looking at your screenshots, there is an inconsistency in your exchange rates. In the "Pay with Points" payment method, you have 1 point = 0.25 EUR. But in the points plugin, you have 1 EUR = 1 point. This means the customer earns 1 point per EUR spent but each point is only worth 0.25 EUR when redeeming. Make sure this is intentional. If you want points to have a 1:1 value with EUR, set both to the same rate.

Also, you have the product custom field "userpoints" set to 7 for a product priced at 39 EUR. If you're using the custom field to define a fixed point cost for products, this means the product costs 7 points (= 1.75 EUR at your current 0.25 rate). If you want 7 points to cover the full 39 EUR, you would need to set the rate to approximately 1 point = 5.57 EUR. Alternatively, if you want each product to define its own point price independently from the EUR exchange rate, you can use the "Custom field for price in points" setting, which overrides the exchange rate calculation for that product.

4. Coupon workflow issue

The issue you described with the coupon being generated and the checkout going back a step is related to the "Virtual coupon" setting, which is set to "No" in your configuration. When it's set to "No", the system generates a real coupon code that the customer needs to apply manually, which causes the confusing workflow you described. If you set "Virtual coupon" to "Yes", the point discount will be applied automatically without generating a visible coupon, and the checkout flow will be smoother.

Regarding the points disappearing when a coupon is deleted: if "Return points on cancel" is set to "Yes" (which it is), the points should be returned when the order is cancelled. But if the customer just deletes the coupon without cancelling the order, the points may not be returned. This is expected because the coupon deletion is not the same as an order cancellation.

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
2 weeks 1 day ago #370800

Hello,

I encountered two issues with the HikaShop User Points / Pay with Points workflow during checkout.

1. Points are lost if the generated coupon is deleted and the order is abandoned

When a customer selects Pay with Points, the system generates a coupon from the customer’s points.

However, if the customer deletes the generated coupon (using the trash icon) and then abandons the order, the points are already deducted and are not restored to the customer account.

Example scenario:

Customer has 30 points

Customer selects Pay with Points

The system generates a coupon worth 7.50 €

Customer deletes the coupon using the trash icon

Customer leaves checkout / abandons the order

Result:

The coupon is gone

The order is not completed

The 30 points remain deducted and are not restored

Expected behavior:
Points should not be permanently deducted if the order is not completed. They should either:

be deducted only after the order is finalized, or

be restored automatically if the generated coupon is removed or the order is abandoned.

2. Coupon is generated on "Finalize order" instead of "Next step"

Another issue is related to when the coupon is generated.

Currently the coupon is generated only after clicking “Finalize order”, which causes the checkout to refresh and return to the previous step. Only then does the coupon and discount appear.

Workflow example:

Customer selects Pay with Points

Customer clicks Finalize order

Checkout reloads and returns to the previous step

The coupon and discount appear only after that

This creates a confusing checkout experience because the discount is not visible before final confirmation.

Expected behavior:
The coupon should be generated when moving to the next checkout step, so the discount is visible before the final confirmation step.

Could you please clarify:

whether this behavior is expected

if there is a way to generate the coupon earlier in the checkout process

how points should be restored if a coupon created from points is removed and the order is not completed

Thank you.

Last edit: 2 weeks 1 day ago by Taurus76.

Please Log in or Create an account to join the conversation.

  • Posts: 85357
  • Thank you received: 13943
  • MODERATOR
2 weeks 11 hours ago #370803

Hi,

Both issues you describe are caused by having the "Virtual coupon" setting set to "No" in your Pay with Points payment method.

When this setting is set to "No", the plugin needs to create a real coupon code to apply the discount. This can only happen at the "Finalize order" step, which is why the checkout goes back to the previous step to show the coupon. And if the customer deletes that coupon and leaves checkout, the points cannot be automatically restored because the system has no way to know that the deleted coupon was linked to a point deduction.

The solution is to set "Virtual coupon" to "Yes". In this mode:
- No real coupon is created. The point discount is applied automatically as a line on the cart.
- Points are only deducted when the order is actually confirmed.
- The discount is visible before the final confirmation step.
- If the customer leaves checkout without completing the order, no points are lost.

Note that when "Virtual coupon" is set to "Yes", you also need to enable "Partial payment" and make sure it is not set to "No". The virtual coupon mode requires partial payment to be enabled.

Regarding your exchange rates: with your current configuration (1 point = 0.25 EUR in the payment method, and "userpoints" custom field set to 7 on the product), the product costs 7 points regardless of its EUR price. The custom field overrides the exchange rate calculation for that product. So a customer needs exactly 7 points to buy this product with points. If 7 points is not enough to cover the full 39 EUR price and you want the customer to pay the difference, you need to enable partial payment.

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
1 week 6 days ago #370833

Hello,

I think there is still a misunderstanding.

My issue is specifically this:

When I set Virtual coupon = Yes, the discount is not shown as a line in the cart/order summary, even though your message says:

“The point discount is applied automatically as a line on the cart”

“The discount is visible before the final confirmation step”

In my case, this discount line does not appear.

Also, when Virtual coupon = Yes, the Pay with Points payment method disappears, so the customer cannot explicitly choose to use points.

So currently, with Virtual coupon = Yes:

no real coupon is created

the Pay with Points method disappears

but the discount line is also not shown in the cart

This is exactly the issue I am trying to solve.

Could you please clarify:

Under which exact conditions should the virtual coupon discount line appear in the cart?

Does Virtual coupon = Yes require points to be used automatically in order for the discount line to appear?

Is it possible in standard HikaShop configuration to have all of the following at the same time:

customer chooses whether to use points

no real coupon is generated

discount is shown as a line in the cart before final confirmation

If yes, which exact settings are required?

If not, please confirm clearly that this workflow is not possible without customization.

At the moment, with Virtual coupon = Yes, I do not get the visible discount line that you described.

Thank you.

Please Log in or Create an account to join the conversation.

  • Posts: 85357
  • Thank you received: 13943
  • MODERATOR
1 week 5 days ago #370836

Hi,

Thank you for the detailed description. The issue is clear now.

Virtual coupon mode requires "Partial payment" to be set to "Yes". This is mentioned in the warning message that appears when you save the payment method with Virtual coupon = Yes and Partial payment = No: "The Virtual coupon mode cannot be used for partial payment with points."

Here is why: in virtual coupon mode, the plugin automatically calculates how many points the customer can use and shows the discount as a line in the cart. This is by definition a partial payment (points cover part or all of the order, with any remainder paid by another method). If partial payment is disabled, the plugin has no way to apply the points.

To get the workflow you want, set these settings on your "Pay with Points" payment method:

- Virtual coupon: Yes
- Partial payment: Yes
- Minimum (percent): 0% (allows any amount of points to be used)

With these settings:
- The customer does NOT need to select "Pay with Points" as a payment method (it won't appear in the payment list, which is expected)
- The point discount is automatically calculated and shown as a line in the cart/order summary
- If the points cover the full order, no additional payment is needed
- If the points only cover part of the order, the customer pays the remainder with another payment method

If you want the customer to be able to choose whether or not to use their points, you can configure the "Checkout step" option in the HikaShop user points plugin settings (under System > Plugins, the "points" plugin, not the payment method). When enabled, a step is added to the checkout where the customer can choose to use their points or not.

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
5 days 21 hours ago #370985

I'm sorry for the delay, but the client and I discussed the strategy for his store. And She change the plan...

Question 1 – Distributors
Each registered distributor should be able, as such, to send a link to an end customer, through which the customer can shop under the distributor. Every purchase by the distributor and the customers should be visible in the distributor’s profile through the frontend. The distributor must earn points from their own purchases and those of their customers, while at the same time the customer must not accumulate points.

Question 2 – Random customer
Each random customer, after purchases for a certain amount, should receive a certain discount. These random customers will not be under any distributor.
For example:

When a random customer reaches a turnover of 100 euros, they move to a level where they will receive 5% on the next purchase.
When a random customer reaches a turnover of 101–200 euros, they move to a level where they will receive 10% on the next purchase.
When a random customer reaches a turnover of 201–1000 euros, they move to a level where they will receive 15% on the next purchase.

Last edit: 5 days 21 hours ago by Taurus76.

Please Log in or Create an account to join the conversation.

  • Posts: 85357
  • Thank you received: 13943
  • MODERATOR
5 days 8 hours ago #370994

Hi,

Question 1 - Distributors with affiliate links:
This is the standard affiliate system in HikaShop Business. Here's how to set it up:

1. Go to HikaShop > Configuration > Features and enable the affiliate system. Configure the partner commission (percentage or fixed amount per order). You can enable "Provide points instead of fees" so partners receive user points instead of money. Full configuration details here: www.hikashop.com/support/documentation/5...l#features_affiliate

2. Each distributor registers as a partner and gets a unique affiliate link. You can create banners (Marketing > Banners) with links to your shop pages. The partner's tracking parameter is automatically added to the URL. See the banners documentation: www.hikashop.com/support/documentation/2...-banner-listing.html

3. When a customer clicks the link and purchases, the order is linked to the distributor. The distributor earns the commission/points. The customer does NOT earn points (unless you also configure the user points plugin for all users, which you shouldn't in this case).

4. The distributor can see their affiliated customers and commissions in the frontend control panel. You can see an example of the partner interface on our own site: www.hikashop.com/my-account/affiliate-program.html

For the user points configuration (for the distributors only): www.hikashop.com/support/documentation/257-using-points.html

Question 2 - Tiered discounts based on cumulative turnover:

There is no built-in automatic "tiered discount by turnover" feature in HikaShop. However, you can achieve this with a combination of:

1. Create Joomla user groups for each tier (e.g. "Bronze - 5%", "Silver - 10%", "Gold - 15%")

2. Create HikaShop discounts linked to each group with the corresponding percentage. See: www.hikashop.com/support/documentation/2...iscount-listing.html

3. The built-in mass action filters and actions for users don't include a "cumulative order total" condition, so it's not possible to automate the group assignment of users based on their purchases. It would need to be done either manually by checking each customer's order history in the backend, or via a small custom plugin that queries order totals and updates user groups periodically. If you need help developing such a plugin, feel free to ask and we can provide guidance or a quote.

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
5 days 5 hours ago #370996

Ok please give me both - your offer and guidance for the plugin!
Thanks

Please Log in or Create an account to join the conversation.

  • Posts: 85357
  • Thank you received: 13943
  • MODERATOR
5 days 1 hour ago #370997

Hi,

Guidance for developing the plugin yourself:
You can create a small HikaShop system plugin that hooks into the cron to automatically update user groups based on order totals. Here's the approach:

1. Create Joomla user groups for each tier (Bronze/Silver/Gold) and HikaShop discounts linked to each group

2. Create a system plugin (group "hikashop") that implements the `onHikashopCronTrigger` event. This event is called every time the HikaShop cron runs. In your plugin, run a SQL query like:

function onHikashopCronTrigger(&$messages) {
    // Define your tiers: group_id => minimum turnover
    $tiers = array(
        5 => 1000,  // Gold group: 1000+ EUR
        4 => 200,   // Silver group: 200+ EUR
        3 => 100,   // Bronze group: 100+ EUR
    );
    
    $db = JFactory::getDBO();
    
    // Get cumulative order totals per user
    $db->setQuery('SELECT order_user_id, SUM(order_full_price) as total 
        FROM #__hikashop_order 
        WHERE order_type = "sale" 
        AND order_status IN ("confirmed","shipped","delivered") 
        GROUP BY order_user_id');
    $users = $db->loadObjectList();
    
    foreach($users as $user) {
        // Find the matching tier
        foreach($tiers as $groupId => $minAmount) {
            if($user->total >= $minAmount) {
                // Get the Joomla user ID from the HikaShop user
                $db->setQuery('SELECT user_cms_id FROM #__hikashop_user WHERE user_id = ' . (int)$user->order_user_id);
                $cmsId = $db->loadResult();
                if(!empty($cmsId)) {
                    // Add user to the tier group (if not already in it)
                    $db->setQuery('INSERT IGNORE INTO #__user_usergroup_map (user_id, group_id) VALUES (' . (int)$cmsId . ', ' . (int)$groupId . ')');
                    $db->execute();
                }
                break; // Assign only the highest matching tier
            }
        }
    }
    
    return true;
}
The code can be adapted of course. That's just a simple example to get you started if you're a developer.

3. You'll also want to remove users from higher tier groups if they don't qualify anymore (e.g. if you want tiers to be exclusive).

4. For the discounts, go to HikaShop > Marketing > Discounts and create one discount per tier with the percentage and the access level restriction set to the corresponding Joomla group. See: www.hikashop.com/support/documentation/2...iscount-listing.html

You can refer to the HikaShop developer documentation for creating plugins:
www.hikashop.com/support/documentation/6...r-documentation.html

If you'd prefer us to develop this for you instead, please contact us via the contact form on our website ( www.hikashop.com/support/contact-us.html ) with the details of your thresholds, discount percentages and other details. For example: Do you want the tier discount to activate immediately after a purchase (the cron solution is simpler, but will incur some delay) ? what are order statuses to be taken into account ? is there a time limit to take orders into account ? Should this be limited to only non distributor customers or all users ? etc
And we'll provide you with a quote.

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
3 days 2 hours ago #371027

Replay only for question 1 of previus post.

This is the standard affiliate system in HikaShop Business. Here's how to set it up:

1. Go to HikaShop > Configuration > Features and enable the affiliate system. Configure the partner commission (percentage or fixed amount per order). You can enable "Provide points instead of fees" so partners receive user points instead of money. Full configuration details here: www.hikashop.com/support/documentation/5...l#features_affiliate

2. Each distributor registers as a partner and gets a unique affiliate link. You can create banners (Marketing > Banners) with links to your shop pages. The partner's tracking parameter is automatically added to the URL. See the banners documentation: www.hikashop.com/support/documentation/2...-banner-listing.html

3. When a customer clicks the link and purchases, the order is linked to the distributor. The distributor earns the commission/points. The customer does NOT earn points (unless you also configure the user points plugin for all users, which you shouldn't in this case).

4. The distributor can see their affiliated customers and commissions in the frontend control panel. You can see an example of the partner interface on our own site: www.hikashop.com/my-account/affiliate-program.html

For the user points configuration (for the distributors only): www.hikashop.com/support/documentation/257-using-points.html




I am completely confused with your affiliate program. I cannot configure the distributor to receive specific points defined as user points and set as a value in a given product. Different kinds of points are being generated, but not the ones specified in the additional field “user points”.

I cannot figure out where the problem is coming from. I need help because I am trying to understand the logic and I can’t.

The distributor is in a different user group – distributor, and the client is in the user group – clients. I wanted the client to accumulate user points and not earn anything. This is achieved, but the distributor is receiving some incorrect points which do not reflect the exact value set in the additional field in the product.

For example, the points are set to 4, but the distributor receives 30, or receives 6, etc.

Also, in the frontend the distributor cannot see which customers are assigned under them.

I would like to give you access to the test website for assistance. Is that possible?

Last edit: 3 days 2 hours ago by Taurus76.

Please Log in or Create an account to join the conversation.

  • Posts: 20
  • Thank you received: 2
  • Hikashop Business
3 days 2 hours ago #371028

This message contains confidential information

Last edit: 3 days 2 hours ago by Taurus76.

Please Log in or Create an account to join the conversation.

  • Posts: 85357
  • Thank you received: 13943
  • MODERATOR
2 days 10 hours ago #371037

Hi,

I checked your configuration. The issue is that the affiliate fee settings are currently all at 0 (both the global percentage and flat fee, and the custom fee on the distributor user). With "Provide points instead of fees" enabled, the system converts the affiliate fee amount into points for the partner. Since the fee is 0, the partner gets 0 points from their customers' orders.

The custom product field "userpoints" only controls how many points the buyer earns when purchasing a product. It has no effect on partner/distributor points. Partner points are always calculated from the affiliate fee (percentage of order price + flat fee).

Here is what you need to configure to achieve your goals:

1. Distributor earns points when their customers buy:
In HikaShop > Configuration > Affiliate section:
- Set "Percentage fee on sales" to the desired value (e.g. 10 means the partner earns points equal to 10% of the order price)
- Or set "Flat fee on sales" if you prefer a fixed amount per order
- Keep "Provide points instead of fees" enabled
For example, if a customer buys a product at 30 EUR and the percent fee is 10%, the distributor will receive round(30 * 10 / 100) = 3 points.

2. Only distributor customers earn buyer points, not regular customers:
There is no built-in setting to automatically give buyer points only to customers linked to a distributor. The access level setting on the user points plugin controls which user groups can earn buyer points, but it does not check whether the customer is linked to a partner.
Two possible approaches:
- Create a dedicated Joomla user group for distributor customers. Manually assign customers to that group (or automate it with a custom plugin). Then restrict the user points plugin to that group.
- Develop a small custom plugin that checks if the buyer has a partner (user_partner_id) before allowing points to be earned.
Note that the user points plugin does not affect partner points from the affiliate system. Partners will still receive their points from "Provide points instead of fees" regardless of the plugin access level.

Please Log in or Create an account to join the conversation.

Time to create page: 0.093 seconds
Powered by Kunena Forum