 
   creditCard
 
-  remove, hasCreditCard
-  REMOVE, HAS_CARD
+  remove, hasCreditCard, authorize
+  REMOVE, HAS_CARD, AUTHORIZE
 }
 


REMOVE = reduxHelper.expandActionType withNamespace 'REMOVE'
HAS_CARD = reduxHelper.expandActionType withNamespace 'HAS_CARD'

reducer = (state = null, action) ->


    payment: (service) -> service.hasCreditCard()
  }

authorize = ({ source, email }) ->
  return {
    types: [ AUTHORIZE.BEGIN, AUTHORIZE.SUCCESS, AUTHORIZE.FAIL ]
    payment: (service) -> service.authorize { source, email }
  }


creditCard = (state) -> state.creditCard

