All payment methods which support accepting credit card details directly (Stripe, Authorize.Net, and PayPal when in card mode) allow users to store their card details on file. This offers a number of benefits:
- When checking out in the future, the user will not have to enter their card details again.
- If the user purchases something with a renewal charge, that payment will be taken automatically when it is due. This can happen even if the renewal fee changes (for example, the user upgrades their package).
- Administrators can manually charge an invoice to a stored card.
PayPal (in the mode which redirects the user to the PayPal site rather than accepts card payments directly) handles recurring payments differently, using Billing Agreements. With Billing Agreements, rather then your community contacting the payment method when payment is due, PayPal saves the details of the recurring payment on it's end and charges the user automatically. This has some significant downsides:
- Purchases which are tied to a Billing Agreement cannot be edited in any way. The customer cannot upgrade them, and administrators cannot change the expiry date or renewal terms. To make any changes, the Billing Agreement has to be cancelled, and then the user can create a new Billing Agreement the next time their renewal is due.
- Because PayPal takes the payments in batches, it will not come exactly when it is expected, and if there is an issue with the payment (for example, the user's card details on their PayPal account are out of date) it may take payment significantly later than the purchase's expiry date and the customer having access to the purchase for longer than they should.
- If a customer buys two items at the same time which have different renewal terms (for example one renews every month and the other renews every year) a Billing Agreement cannot be created at all.
- There is no benefit provided to subsequent unrelated purchases. The user will have to create a new Billing Agreement for each purchase.
Because of these limitations, we strongly recommend using a payment method which supports storing card details for recurring payments. Learn more about the payment methods Commerce supports