I asked these questions in PayPal's forum but I did not receive any answers. Hopefully, I'll get them here :)
So as I understand if I want to integrate subscriptions I can do it 2 ways
First one is to integrate subscription button using a form, something like this:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<!-- Identify your business so that you can collect the payments. -->
<input type="hidden" name="business" value="businessEmail">
<!-- Specify a Subscribe button. -->
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<!-- Identify the subscription. -->
<input type="hidden" name="item_name" value="Alice's Weekly Digest">
<input type="hidden" name="item_number" value="DIG Weekly">
<!-- Set the terms of the regular subscription. -->
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="a3" value="5.00">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="notify_url" value="notify url">
<!-- Set recurring payments until canceled. -->
<input type="hidden" name="src" value="1">
<!-- Display the payment button. -->
<input type="image" name="submit"
src="https://www.paypalobjects.com/en_US/i/btn/btn_subscribe_LG.gif"
alt="Subscribe">
<img alt="" width="1" height="1"
src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" >
I guess this approach has more drawbacks than benefits, it allows me to create a subscription without creating a product and a plan for the subscription..? But on the other hand, a user that created a subscription in this way cannot change subscription, only cancellation is possible? Furthermore, I cannot change 'notify_url' if I for example change my website?
The second way to create subscriptions is to use subscriptions API. Create Product and a Plan, as I understand this gives us much more control and removes the drawbacks of the HTML form subscription.
Thank you!
Everything you said is correct, the only thing I would add is that there is also a generator you can use for the old HTML 'Subscribe' and new JS 'PayPal Subscribe' buttons at: https://www.paypal.com/buttons
If you want the old generator to create editable code, you should uncheck the Step 2 option to Save the button at PayPal, then after generating the button click the link above to remove code protection.