Our application requirements, defined under Chapter 4, Requirement Specification for Modular Web Shop App, do not really say anything about the type of payment method we need to implement. Thus, for the purpose of this chapter, we will develop two payment methods: a card payment and a check money payment. In regards to the credit card payment, we will not be connecting to a real payment processor, but everything else will be done as if we are working with a credit card.
Ideally, we want this done by an interface, similar to the following:
namespace Foggyline\SalesBundle\Interface; interface Payment { function authorize(); function capture(); function cancel(); }
This would then impose the requirement of having the SalesBundle
module, which we still haven't developed. We will therefore proceed with our payment methods using a simple Symfony controller
class that provides its own way to address the following features:
function
authorize();
function
capture();
function
cancel...