Since the memberships have to be approved by the board, we have implemented memberships with paypal payment as subscriptions with a "Free Trial" period that starts a few weeks after the user created the memberships. We have two use cases for this `HandleSubscriptionSignupNotificationUseCase` and `HandleSubscriptionPaymentNotificationUseCase`. The former books the payment and marks the membership as confirmed. The latter creates a followup membership and payment.
In this ticket, we can see if we want to keep the two use cases or consolidate them into one (handling the different success results (success/followup) from the book payment use case). Regardless how we do it, the membership use case(s) must use the unified `BookPaymentUseCase` as a dependency.
- Remove all payment-related checks from the use cases and `MembershipApplication::confirmSubscriptionCreated`
- Check success type if it matches the expected success type: `HandleSubscriptionSignupNotificationUseCase` should get a success result `HandleSubscriptionPaymentNotificationUseCase` should get a followup result
Don't worry about potential upcoming changes of which PayPal API we use (see {T304821}), those changes will be encapsulated in the payment domain and should not affect the membership domain much.