                                 account_id     : @account_id
                                 coupon_history : coupon_history
                                 cb             : cb
-                (cb) =>
-                    dbg("Update the subscription.")
-                    changes =
-                        quantity : mesg.quantity
-                        plan     : mesg.plan
-                        coupon   : mesg.coupon_id
-                    @_stripe.customers.updateSubscription(customer_id, subscription_id, changes, cb)
-                (cb) =>
-                    @database.stripe_update_customer(account_id : @account_id, stripe : @_stripe, customer_id : customer_id, cb: cb)
             ], (err) =>
                 if err
                     @stripe_error_to_client(id:mesg.id, error:err)

                                options.tax_percent = Math.round(tax_rate*100*100)/100
                            cb(err)
                (cb) =>
                    if options.coupon
                        dbg("add coupon to customer history")
                        @validate_coupon options.coupon, (err, coupon, coupon_history) =>
                            if err
                                cb(err)
                                return
                            coupon_history[coupon.id] += 1
                            @database.update_coupon_history
                                account_id     : @account_id
                                coupon_history : coupon_history
                                cb             : cb
                    else
                        cb()
                (cb) =>
                    dbg("add customer subscription to stripe")
                    @_stripe.customers.createSubscription customer_id, options, (err, s) =>
                        if err

            subscription = undefined
            async.series([
                (cb) =>
                    dbg("Update the subscription.")
                    changes =
                        quantity : mesg.quantity
                        plan     : mesg.plan
                        coupon   : mesg.coupon_id
                    @_stripe.customers.updateSubscription(customer_id, subscription_id, changes, cb)
                (cb) =>
                    @database.stripe_update_customer(account_id : @account_id, stripe : @_stripe, customer_id : customer_id, cb: cb)
                (cb) =>
                    if mesg.coupon_id
                        @validate_coupon mesg.coupon_id, (err, coupon, coupon_history) =>
                            if err
