civicrm/civicrm-core — pull request #4272 by eileenmcnaughton (2014-09-30 09:27:20+00:00)
Title: CRM-15296 fix membership processing to complete if trxn_id isset

This only affects the flow where a recurring contribution is created. If the payment processor returns trxn_id then the payment will be confirmed after being created
Impact existing processors
- Authorize.net = none - trxn_id not returned
- Paypal - initial flow does the same thing as IPN (should be no change)
- IATS - IATS has a hacky fix to handle this in-processor - but it doesn't handle recurring memberships correctly (as this does)
- eWay - same as Authorize.net
- others ? need to solicit opinions

4.5 or 4.6? - if we delay until 4.6 all the processors will have hacky half-fixes (IATS uses a post hook) by the time a core fix is out & it could be more disruptive. vs the fact that we don't have a way for extensions to support specific point releases & 4.5.1 behaviour might differ from 4.5.2 or 4.5.3. If it did go into 4.5 it would also go into the LTS

I can solicit feedback on this.

The bigger issue here is that the tests highlight that line items are not being created for pending recurring transactions - there is a hack here to make it pass but I think that in fact it should not be happening like this