     JPayment.invalidateCacheAndLoad this, selector, {forceRefresh, forceInterval}, callback
 
   @updateCache = (selector, callback)->
-    console.log { selector }
     JPayment.updateCache
       constructor   : this
       selector      : { paymentMethodId: selector.paymentMethodId }

      keyField      : 'uuid'
      message       : 'user subscriptions'
      forEach       : (uuid, cached, sub, stackCb)=>
        {plan, quantity, status, datetime, expires, renew, amount} = sub
        cached.setData extend cached.getData(), {
          userCode, plan, quantity, status, datetime, expires, renew, amount
        }
        cached.lastUpdate = Date.now()
        cached.save stackCb

    JPaymentPlan.fetchPlanByCode @planCode, (err, plan) =>
      return callback err  if err
      payment.addUserCharge @userCode,
        amount: -1 * plan.feeMonthly * percent / 100
      , callback

  calculateRefund: (callback)->
