Believe only way to do that is using a promotion. The below for example should get you started.
Basic
Promotion Calculation
Promotion Type: Applies to all purchases
The promotion is: A percentage of the item price
Discount Rate in PERCENT (%): 50
Basic Promotion Conditions
Maximum uses in total (0=unlimited): 0
Maximum uses per customer (0=unlimited): 1
To which plans this promotion applies: SELECT_YOUR_PLAN_HERE
Advanced
Promotion applies to
Applies to renewals: No
For Autorecurring payments subscriptions only: Second and following auto-recurring payments amounts: No
Now there is 2 ways to limit how this is applied. 1 option is to just set publish up and publish down dates as follows.
Start date of validity of this promotion: SELECT_JULY_1ST_HERE
End date of validity of this promotion: SELECT_DECEMBER_31ST_HERE
The other options is to use conditions to dynamically compare the order date against the first of the year that has been incremented. Example as follows.
Conditions
First condition: This condition:
Date A, Field A or Value A: Order Date of the order wanting to use this promotion
Date B, Field B or Value B: Constant Value or String (CB substitutions can be used)
Value B: [cb:date format="Y" /]-01-01
Condition 1 (> for Dates): For dates: Date A > Date B + 6 months (Date A must be later than 6 months after Date
What the above should do is run "[cb:date format="Y" /]-01-01" through substitutions. The date substitution will always give out the current year in this usage. So you'd have 2020-01-01 for SQL formatted January 1st of the current year. The condition should add 6 months to this making it 2020-07-01. Now it should check if "Date A, Field A or Value A" which is the date they're trying to make the purchase is greater than that. If it is the condition passes and the 50% promotion applies otherwise it shouldn't. The idea here is it's automatic and you don't need to update the publish up and down dates every year.
This should also only apply to new purchases. It won't apply to renewals or recurring payments.