Abstract interface for preparing orders and processing payments
Prepare orders and receive payments. Concept and exploration. We'll see where it will lead us.
Order lifecycle events:
- Partially refunded,
- Fully refunded.
Subscription lifecycle events:
- Successful rebill,
- Failed rebill,
When gateway listens to notifications from the gateway service, it should use
to dispatch events so application can react to these order and/or subscription changes.
ActiveCollab\Payments\Address\AddressInterface describe an address. It can be used to define an address of an organization, or of an individual. In case of organizations, we can also keep track of tax ID, for invoicing purposes.
ActiveCollab\Payments\Address\AddressesInterface is used to handle situations where addressible object can have more than one address. For example, a merchant can have multiple locations, or it can change primary location at some point in time. Not having other addresses, or lossing info about previous addresses may not be acceptible, so we have to keep track about all addresses associated with the object.
Addresses interface can be combined with of following interfaces, when we want to specify a default address:
ActiveCollab\Payments\Address\OptionalDefaultAddressInterfacewhen default address is optional,
ActiveCollab\Payments\Address\RequiredDefaultAddressInterfacewhen default address is required.
- Subscription change should have the new total and new items.