title: Error: Meteor code must always run within a Fiber
body: <p>I am using stripe for payments in my app, I want to create a receipt document in my own database after a succesful transaction</p>
  
  <p>My code:</p>
  
  <pre><code>Meteor.methods({
    makePurchase: function(tabId, token) {
      check(tabId, String);
      tab = Tabs.findOne(tabId);
  
      Stripe.charges.create({
        amount: tab.price,
        currency: "USD",
        card: token.id
      }, function (error, result) {
        console.log(result);
        if (error) {
          console.log('makePurchaseError: ' + error);
          return error;
        }
  
        Purchases.insert({
          sellerId: tab.userId,
          tabId: tab._id,
          price: tab.price
        }, function(error, result) {
          if (error) {
            console.log('InsertionError: ' + error);
            return error;
          }
        });
      });
    }
  });
  </code></pre>
  
  <p>However this code returns an error:</p>
  
  <pre><code>Error: Meteor code must always run within a Fiber. Try wrapping callbacks that you pass to non-Meteor libraries with Meteor.bindEnvironment.
  </code></pre>
  
  <p>I am not familiar with Fibers, any idea as to why this is?</p>