Posted: November 11, 2020 at 7:39 pm
Hi, we have a fairly complex problem. We’ve set our site with two payment methods:
Payment 1. Checks for the customer’s location and then uses country limits settings to only sell the course to people from certain countries.
Payment 2. For the other payment setting, we are asking for address info but using a different set of questions so these courses are available to everyone and not limited.
We now need a third payment setting that charges the appropriate GST/PST/HST based on where the customer is from, but to Canadians only. I’ve tried the default tax settings but there are different tax amounts for each province and it adds them all on if I click “this ticket is taxable” so I’m guessing we need some code written to determine where they are from and apply the appropriate tax.
We did get some code written as a plugin earlier that limited everyone except Canada, but I’d need it instead to just allow certain countries or limit certain countries, and just apply to the first payment method, and then a second plugin to add to our third payment method to apply the tax settings based on their location but let anyone register from anywhere, and change the questions back to collect everyone’s address as it would normally work.
This is a little too complicated for me, so is it possible for you guys to do this using the support tokens, and how much would it cost? Or if it isn’t possible we will investigate using another system for these events.
We don’t currently have an option for this within Event Espresso, however Josh has previously created a snippet that can add additional taxes based on the user address information here:
Now, the problem with that is you event set up doesn’t request the EE address questions (which would be required for the above to work) so you would either need to use the above setup with different ticket types, or set your events to require the EE address information group to capture the Country and State fields from that.
Is the latter no good for your event set up?
We currently have two sets of events, let’s call them “A events” and “B events”.
A-events have to be limited to certain countries and don’t charge taxes. We can’t sell to some countries due to partner agreements.
B-events don’t need limits on countries but need to charge taxes, for Canadians only.
Each has it’s own payment method. The first uses the address question to limit countries shown in the dropdown.
The second doesn’t use the address question because we don’t want those to be available worldwide.
We could use the snippet you sent for B events if we turn the address question back on, but then those would be limited by country too.
So what I’m wondering is if we could pay you to write a code snippet we could add to Payment method A to limit the countries there only (I’d have to give you the countries), so then we could turn the address question back on and use the other tax code snippet for B events to use the code for taxes.
If that’s not possible we thought maybe we could put an extra page in before any of the registration happens sending people from the un-sellable countries for A events to a different website, but they can still slip through sometimes. It is an option if necessary because getting the taxes working is probably more important.
I did try to test out the tax code earlier – I made a child theme and copied the php page in but the instructions said to add it after the address function. Not being a php coder I wasn’t quite sure where to put it. So I’d need some help with that – if you could give me the line number where it would go that would be great, or a little video or something. Then I’d have to add the address question in on B registration and turn off those country limits I’d set earlier.
Oops, I made a mistake above. The B events DO need to be available worldwide, which is why we have the address off on that registration.