BroadleafCommerce/BroadleafCommerce#485 - Initial commit of Payment Refactoring - decoupling Payment Modules from the framework. Only dependency now will be on common. The middleware layer is facilitated by the new DTO objects defined here.
#485 - First draft at a scorched-earth approach to the payment refactoring from the framework domain side. Represents work in progress and later revisions might be undo some of this invasiveness. This is a very large commit so read on for more detail
- PaymentInfo has been renamed to OrderPayment
- PaymentInfoDetail has been renamed to PaymentTransaction
- Payment workflows have completely gone away and thus the application of payments to an order has been decoupled from invoking checkout
- Better javadocs across all of the payment domain (although by no means are complete)
- Deprecate/remove any baked-in dependency on anything that implements Referenced. Use of entities implementing this interface should be treated as an edge-case rather than the common case
- Move the Referenced entity into their own packages
#485 - Remove unnecessary methods that are unused now that payment modules have gone away
#485 - Remove already-commented out AOP xml config, move the AOP transaction config for blSecurePU down to @Transactional annotations
#485 - Add a rawResponse to PaymentTransaction
#485 - Update some comments in the common payment DTOs, add stub implementation of blPaymentGatewayGatewayCheckoutService
#485 #408 - Allow payments and payment transactions to be soft-deleted
#485 - Remove the PaymentResponseItem entity. Functionality should actually be eclipse by that of the PaymentTransaction
#485 - Complete most of the stubbing for converting a payment response DTO into a payment and transaction to add to the order
#485 - Refactor the payment checkout service to return primitives to not have to deal with nulls, add a new configuration to deal with payment gateways supporting multiple payments with the same payment type in an order, enhance some docs across some payment services
#485 - Update docs for payment checkout service, implement looking up an order by id from a payment response in the framework payment gateway service
#485 - Move some of the payment type enums into common so that they can be referenced by payment gateways
#485 - Add the concept of a payment gateway type and store it on the order payment
#485 - From the checkout payment service, throw an illegal argument exception if the config service is null
- mark all payments in an order as invalid if the gateway does not support multiple payments
- return the payment id once the payment has successfully been added to the order
#485 - Add a new method to the payment configuration service for the gateway type
BroadleafCommerce/BroadleafCommerce#485 - Continue refactoring DTOs in order to accommodate issues found when integrating with Framework (checkout service, etc…)
BroadleafCommerce/BroadleafCommerce#485 - adding outer try catch as applyPayment now throws an IllegalArgumentException
#485 - make response map on DTO <String, Serializable>
#485 - adding couple more attributes to the Response DTO in order to facilitate the checkout workflow
#485 - Fix some compilation problems on a few tests, minor updates to docs in a few places