       subscription    : String # Recurly UUID for subscription
       active          : Boolean
 
-  @makePayment = secure (client, data, callback)->
-    @initialize client, data, (err, { group, account, plan })=>
-      if err then return callback { message: 'Unable to access payment backend, please try again later.' }
+  @makePayment = secure (client, data, callback) ->
+    @initialize client, data, (err, { group, account, plan }) =>
+      if err then return callback new KodingError 'Unable to access payment backend, please try again later.'
 
       data.quantity ?= 1  # Default quantity is 1
       data.multiple ?= no # Don't allow multiple subscriptions by default

  @createAccount = (account, callback) ->
    account.fetchUser (err, user) ->
      return callback err  if err
      {nickname, firstName, lastName} = account.profile
      data = {email: user.email, nickname, firstName, lastName}
      recurly.setAccountDetailsByPaymentMethodId "user_#{account.getId()}", data, callback

  # Create group account on Recurly

    account = client.connection.delegate
    slug    = client.context.group

    JGroup.one { slug }, (err, group) =>
      return callback err  if err
      @createAccount account, (err) =>
        return callback err  if err
