Allow Failed -> Completed status for contributions
Example workflow / use-case:
- Contribution is created in pending (eg. Recurring contribution using Stripe via contribution page and card number: 4000000000000341 - see https://stripe.com/docs/testing#cards-responses).
- IPN returns "Failed" and API3 Contribution.create is called with status=Failed.
- Later an IPN returns "Success" and API3 Payment.create is called with status=Completed.
Currently, step 3 fails because Failed->Completed is not allowed for contributions.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information