code: function (coupon, cb) {
  
  		Coupon.findOrCreate(coupon.id, coupon)
  	    .exec(function (err, foundCoupon){
  	      if (err) return cb(err);
  	      if (foundCoupon.lastStripeEvent > coupon.lastStripeEvent) return cb(null, foundCoupon);
  	      if (foundCoupon.lastStripeEvent == coupon.lastStripeEvent) return Coupon.afterStripeCouponCreated(foundCoupon, function(err, coupon){ return cb(err, coupon)});
  	      Coupon.update(foundCoupon.id, coupon)
  	      .exec(function(err, updatedCoupons){
  	      	if (err) return cb(err);
  	      	Coupon.afterStripeCouponCreated(updatedCoupons[0], function(err, coupon){
  	      		cb(err, coupon);
  	      	});
  	      });
  	    });
  	}
docs: Stripe Webhook coupon.created