Naively, I’d want/expect to:
- pay a one-time yearly (or maybe 6 month) fee outright
- get a link (or code)
- ask the person to click the link, which would ask them to set up an account.
That account would then have the $X subscription credit applied which doesn’t renew automatically.
If they get value, they can add payment information before expiry.