Verificar se existem campos em Business::CPI::Gateway::$gateway que deveriam estar em Business::CPI::Cart. Exemplo: url de retorno.
Verificar campos de gateways bastante completas como PayPal, se eles definem mais opções que podem ser armazenadas em Cart.
Além disso, podemos implementar métodos que padronizem determinados elementos, como frete, ou que calculem o valor total.
Poderíamos ter métodos que:
separa todos os produtos com quantidade maior que 1, e divide-os utilizando shipping para o primeiro, e shipping_additional para os demais;
ao invés de definir frete, cria um outro produto com o valor total de frete já calculado;
calcula o valor total e retorna-o, apenas para consulta;
Verificar se existem campos em Business::CPI::Gateway::$gateway que deveriam estar em Business::CPI::Cart. Exemplo: url de retorno. Verificar campos de gateways bastante completas como PayPal, se eles definem mais opções que podem ser armazenadas em Cart.
Além disso, podemos implementar métodos que padronizem determinados elementos, como frete, ou que calculem o valor total.
Poderíamos ter métodos que: