I've created two plans. A free one, and one with a one week trial and then monthly recurring. That works well. I assigned a menu item with no plan and no group (I'm not using groups) with an alias of "subscribe" - that works, too.
So when I go to https://www.thechipwitch.com/subscribe
I'm presented with the two plans.
I select the free one, and it shows me a screen where the price is free and a button to register, as I'm not logged in when I'm doing this. I click the button and am presented with my registration screen.
I register, am redirected to the "thankyou" layout, and the email to confirm my new account arrives. Looking in the backend, the user has been created, is awaiting activation, and is in PayPlans as well with the free plan assigned.
So far, all works as expected.
Now I go back to /subscribe, am presented with the two plans, and pick the free one again. Note that I've not yet confirmed my account, nor have I logged in. I'm still a guest!
Instead of being taken to the registration screen, I'm taken to checkout! It directs me to https://www.thechipwitch.com/subscribe/checkout/352R7N12R7Y3?skipInvoice=1
and that's the invoice number on my previous time through! And this time, instead of being the "free" page, it's giving the output for billing details!
Is the invoice number being stored in an uncleared session variable, perhaps? Because at this point, the system shouldn't treat me any differently than a fresh user. It should have no way of knowing the invoice number previously assigned.
This is very confusing!
(Note, if you use the links above, I've skinned the theme myself (using overrides in my template). No core code modified, of course.