1. Updated the refund journeys so that they use the payment Gateway Factory.
2. Improved request data going in and out of the session.
3. Show error message when Stripe SCA journey fails.
4. Update migration.
1. Removed dependencies on $gateway->id in the database which made the codebase fairly brittle in places. Use the name field of payment_gatway instead.
2. Refactored Event Checkout so that in theory it should be a lot easier to add other Omnipay gateways.
3. Removed Paypal Express as a gateway supported by default.
4. Payment Gateways are now configurable by specifying an admin and checkout template in the database directly.
5. Broke each payment option out into its own template instead of trying to handle all payment gateways in one form with funny if conditions.
6. Account settings for Payment Gateways is now dynamic based on what is in the database.
7. Added migration and updated Seeder to make sure the payment_gateways is correct on in stall and when upgrading.
> Verifiers SHALL require subscriber-chosen memorized secrets to be at least 8 characters in length. Verifiers SHOULD permit subscriber-chosen memorized secrets at least 64 characters in length. All printing ASCII [RFC 20] characters as well as the space character SHOULD be acceptable in memorized secrets. Unicode [ISO/ISC 10646] characters SHOULD be accepted as well. To make allowances for likely mistyping, verifiers MAY replace multiple consecutive space characters with a single space character prior to verification, provided that the result is at least 8 characters in length. Truncation of the secret SHALL NOT be performed. For purposes of the above length requirements, each Unicode code point SHALL be counted as a single character.
https://pages.nist.gov/800-63-3/sp800-63b.html#-5112-memorized-secret-verifiers
1) Omnipay doesn't accept decimals with more than a precision of 2.
2) Once order is created organiser_booking_fee is the correct value to use else use total_booking_fee
3) Controller makes use of OrderService instead of Order Model
1) Surfaced more logic from from views into service.
2) If charge_tax is set in database tax is charged.
3) Made the name of the Order service OrderService so its not confused with the Order Eloquent Model.
4) Move order totalling logic in to Service and call service where necessary.