- Added configuration info for Braintree and Optimal endpoints (both dev and prod)
- Added unit tests for TCustomerCreditCardHelper, BrainTree and Optimal
- Moved all the business logic for dealing with the payment gateways and updating tables to TCustomerCreditCardHelper
- Billing address is now sent to the payment gateway when adding or updating a card
- Modified Nmr\Utilities\CreditCardUtility to return labels for credit cards and their IDs (used in the checkout form)
- CustomerCreditCards controller now takes a billing_address_id only. If a new address has to be added then it will have to be added through CustomerAddresses.
- TCreditCardHelper now inserts a row into the transactions table after Optimal returns its results (the transactions table is used during checkout process to see if a token exists or not)
- TransactionsTable now over-writes insert()