Is it possible to create a 3 month membership instead of a subscription using Charge 2 for Craft CMS?
You could have them make a one-time payment, then generate a gift code that can be redeemed when a user fills out the subscription payment form.

I did that by creating a plugin and utilizing the charge.onCharge event, it makes sure it was a gift code purchase, then generates a code that is stored in the charge's coupon code table and you can either have it send an email with the code to person who is to redeem it or just display it on the screen.