public virtual async Task<IEnumerable<Plan>> List(StripeListOptions listOptions = null)
		{
			var url = Urls.Plans;
			url = this.ApplyAllParameters(listOptions, url, true);

			var response = await Requestor.Get(url);

			return Mapper<Plan>.MapCollectionFromJson(response);
		}
		public virtual async Task<IEnumerable<Refund>> List(string chargeId, StripeListOptions options = null)
		{
			var url = string.Format("{0}/{1}/refunds", Urls.Charges, chargeId);
			url = this.ApplyAllParameters(options, url, true);

			var response = await Requestor.Get(url);

			return Mapper<Refund>.MapCollectionFromJson(response);
		}
		public virtual async Task<IEnumerable<Card>> List(string customerOrRecipientId, StripeListOptions options = null, bool isRecipient = false)
		{
			var url = this.SetupUrl(customerOrRecipientId, isRecipient);
			url = this.ApplyAllParameters(options, url, true);

			var response = await Requestor.Get(url);

			return Mapper<Card>.MapCollectionFromJson(response);
		}
		public virtual async Task<IEnumerable<Subscription>> List(string customerId, StripeListOptions listOptions = null)
		{
			var url = string.Format(Urls.Subscriptions, customerId);
			url = this.ApplyAllParameters(listOptions, url, true);

			var response = await Requestor.Get(url);

			return Mapper<Subscription>.MapCollectionFromJson(response);
		}