Total Posts: 788
Customer signs up on your website and subscribes to your services.
Customer completes their purchase by selecting a payment method that they wish to use. They select PayPal.
You initiate the creation of a billing agreement with PayPal, then redirect the end customer to PayPal’s site to accept the billing agreement. Once the billing agreement is accepted, the customer is directed back to your website to complete the purchase.
The customer’s acceptance of the billing agreement creates a billing agreement ID (BAID) that gets stored in Magento as a payment method.
The BAID can be used to process payments for the current order and future orders. You can submit a payment through Magento to charge the customer’s PayPal account for the initial payment on that customer’s subscription.
Next month (or on the next billing day), you can charge the customer for their next recurring subscription fee using the stored BAID in their Magento customer account, without the customer having to log into PayPal again.
so technically you have only BAID stored in your db, then you make a call to paypal with this BAID, and paypal checks all data and funds available and acts accordingly.