public StripeObject CreateCustomer(ICreditCard card = null, string coupon = null, string email = null, string description = null, string plan = null, DateTimeOffset? trialEnd = null, int? accountBalance = default(int), IDictionary<string, string> metaData = null, int? quantity = null, decimal? taxPercent = null) { if (card != null) card.Validate(); var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers"; if (coupon.HasValue()) request.AddParameter("coupon", coupon); if (email.HasValue()) request.AddParameter("email", email); if (description.HasValue()) request.AddParameter("description", description); if (plan.HasValue()) request.AddParameter("plan", plan); if (trialEnd.HasValue) request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch()); if (metaData != null) request.AddParameter("metadata", metaData); if (accountBalance.HasValue) request.AddParameter("account_balance", accountBalance); if (quantity > 1) request.AddParameter("quantity", quantity); if (taxPercent.HasValue) request.AddParameter("tax_percent", taxPercent); if (card != null) card.AddParametersToRequest(request); return ExecuteObject(request); }
public StripeObject CreateCharge(decimal amount, string currency, ICreditCard card, string description = null) { Require.Argument("amount", amount); Require.Argument("currency", currency); Require.Argument("card", card); card.Validate(); if (amount < 0.5M) { throw new ArgumentOutOfRangeException("amount", amount, "Amount must be at least 50 cents"); } var request = new RestRequest(); request.Method = Method.POST; request.Resource = "charges"; request.AddParameter("amount", Convert.ToInt32(amount * 100M)); request.AddParameter("currency", currency); card.AddParametersToRequest(request); if (description.HasValue()) { request.AddParameter("description", description); } return(ExecuteObject(request)); }
public StripeCustomer UpdateCustomer(string customerId, ICreditCard card = null, string coupon = null, string email = null, string description = null) { if (card != null) { card.Validate(); } var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers/{customerId}"; request.AddUrlSegment("customerId", customerId); if (card != null) { card.AddParametersToRequest(request); } if (coupon.HasValue()) { request.AddParameter("coupon", coupon); } if (email.HasValue()) { request.AddParameter("email", email); } if (description.HasValue()) { request.AddParameter("description", description); } return(Execute <StripeCustomer>(request)); }
public StripeObject CreateCustomer(ICreditCard card = null, string coupon = null, string email = null, string description = null, string plan = null, DateTimeOffset?trialEnd = null, int?accountBalance = default(int), IDictionary <string, string> metaData = null, int?quantity = null, decimal?taxPercent = null) { if (card != null) { card.Validate(); } var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers"; if (coupon.HasValue()) { request.AddParameter("coupon", coupon); } if (email.HasValue()) { request.AddParameter("email", email); } if (description.HasValue()) { request.AddParameter("description", description); } if (plan.HasValue()) { request.AddParameter("plan", plan); } if (trialEnd.HasValue) { request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch()); } if (metaData != null) { request.AddParameter("metadata", metaData); } if (accountBalance.HasValue) { request.AddParameter("account_balance", accountBalance); } if (quantity > 1) { request.AddParameter("quantity", quantity); } if (taxPercent.HasValue) { request.AddParameter("tax_percent", taxPercent); } if (card != null) { card.AddParametersToRequest(request); } return(ExecuteObject(request)); }
public StripeObject UpdateCustomer(string customerId, ICreditCard card = null, string coupon = null, string email = null, string description = null, int?accountBalance = null, string defaultCard = null, string defaultSource = null, IDictionary <string, string> metaData = null) { Require.Argument("customerId", customerId); if (card != null) { card.Validate(); } var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers/{customerId}"; request.AddUrlSegment("customerId", customerId); if (card != null) { card.AddParametersToRequest(request); } if (coupon.HasValue()) { request.AddParameter("coupon", coupon); } if (email.HasValue()) { request.AddParameter("email", email); } if (description.HasValue()) { request.AddParameter("description", description); } if (accountBalance.HasValue) { request.AddParameter("account_balance", accountBalance.Value); } if (defaultCard.HasValue()) { request.AddParameter("default_card", defaultCard); } if (defaultSource.HasValue()) { request.AddParameter("default_source", defaultSource); } if (metaData != null) { request.AddParameter("metadata", metaData); } return(ExecuteObject(request)); }
public StripeCustomer UpdateCustomer(string customerId, ICreditCard card = null, string coupon = null, string email = null, string description = null) { if (card != null) card.Validate(); var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers/{customerId}"; request.AddUrlSegment("customerId", customerId); if (card != null) card.AddParametersToRequest(request); if (coupon.HasValue()) request.AddParameter("coupon", coupon); if (email.HasValue()) request.AddParameter("email", email); if (description.HasValue()) request.AddParameter("description", description); return Execute<StripeCustomer>(request); }
public StripeCustomer CreateCustomer(ICreditCard card = null, string coupon = null, string email = null, string description = null, string plan = null, DateTimeOffset? trialEnd = null) { if (card != null) card.Validate(); var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers"; if (card != null) card.AddParametersToRequest(request); if (coupon.HasValue()) request.AddParameter("coupon", coupon); if (email.HasValue()) request.AddParameter("email", email); if (description.HasValue()) request.AddParameter("description", description); if (plan.HasValue()) request.AddParameter("plan", plan); if (trialEnd.HasValue) request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch()); return Execute<StripeCustomer>(request); }
/// <summary> /// Creates a charge using a customer id and an optional source (Credit Card) object /// </summary> /// <param name="amount">Amount to be charged</param> /// <param name="currency">3-letter ISO currency code</param> /// <param name="source"></param> /// <param name="description">Description displayed on the Stripe web interface</param> /// <param name="metadata"></param> /// <param name="capture">Whether or not to immediately capture the charge. When false, the charge issues an authorization (or pre-authorization), and will need to be captured later.</param> /// <param name="statementDescriptor">An arbitrary string to be displayed on your customer's credit card statement</param> /// <param name="receiptEmail">The email address to send this charge's receipt to. The receipt will not be sent until the charge is paid.</param> /// <param name="destination">An account to make the charge on behalf of</param> /// <param name="applicationFee">Fixed amount to charge for our service to the receiver. Comes out of total amount charged</param> /// <param name="shipping">Shipping information for the charge. Helps prevent fraud on charges for physical goods.</param> /// <returns>Stripe Charge Object</returns> public StripeObject CreateCharge(decimal amount, string currency, ICreditCard source, string description = null, IDictionary <object, object> metadata = null, bool capture = true, string statementDescriptor = null, string receiptEmail = null, string destination = null, decimal?applicationFee = null, IDictionary <object, object> shipping = null) { Require.Argument("amount", amount); Require.Argument("currency", currency); Require.Argument("card", source); var request = GetCreateChargeRequest(amount, currency, null, description, metadata, capture, statementDescriptor, receiptEmail, destination, applicationFee, shipping); source.Validate(); source.AddParametersToRequest(request); return(ExecuteObject(request)); }
public StripeObject UpdateCustomer(string customerId, ICreditCard card = null, string coupon = null, string email = null, string description = null, int? accountBalance = null, string defaultCard = null) { if (card != null) card.Validate(); var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers/{customerId}"; request.AddUrlSegment("customerId", customerId); if (card != null) card.AddParametersToRequest(request); if (coupon.HasValue()) request.AddParameter("coupon", coupon); if (email.HasValue()) request.AddParameter("email", email); if (description.HasValue()) request.AddParameter("description", description); if (accountBalance.HasValue) request.AddParameter("account_balance", accountBalance.Value); if (defaultCard.HasValue()) request.AddParameter("default_card", defaultCard); return ExecuteObject(request); }
public StripeObject CreateCard(string customerOrRecipientId, ICreditCard card, bool isRecipient = false) { Require.Argument("customerOrRecipientId", customerOrRecipientId); Require.Argument("card", card); if (card != null) { card.Validate(); } var request = new RestRequest(); request.Method = Method.POST; request.Resource = string.Format("{0}/{customerOrRecipientId}/cards", isRecipient ? "recipients" : "customers"); request.AddUrlSegment("customerOrRecipientId", customerOrRecipientId); card.AddParametersToRequest(request); return(ExecuteObject(request)); }
public StripeObject UpdateCustomersSubscription(string customerId, string planId, string coupon = null, bool? prorate = null, DateTimeOffset? trialEnd = null, ICreditCard card = null) { Require.Argument("customerId", customerId); Require.Argument("planId", planId); if (card != null) card.Validate(); var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers/{customerId}/subscription"; request.AddUrlSegment("customerId", customerId); request.AddParameter("plan", planId); if (coupon.HasValue()) request.AddParameter("coupon", coupon); if (prorate.HasValue) request.AddParameter("prorate", prorate.Value); if (trialEnd.HasValue) request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch()); if (card != null) card.AddParametersToRequest(request); return ExecuteObject(request); }
public StripeObject CreateCharge(decimal amount, string currency, ICreditCard card, string description = null) { Require.Argument("amount", amount); Require.Argument("currency", currency); Require.Argument("card", card); card.Validate(); if (amount < 0.5M) throw new ArgumentOutOfRangeException("amount", amount, "Amount must be at least 50 cents"); var request = new RestRequest(); request.Method = Method.POST; request.Resource = "charges"; request.AddParameter("amount", Convert.ToInt32(amount * 100M)); request.AddParameter("currency", currency); card.AddParametersToRequest(request); if (description.HasValue()) request.AddParameter("description", description); return ExecuteObject(request); }
public StripeObject CreateCard(string customerOrRecipientId, ICreditCard card, bool isRecipient = false) { Require.Argument("customerOrRecipientId", customerOrRecipientId); Require.Argument("card", card); if (card != null) { card.Validate(); } var request = new RestRequest(); request.Method = Method.POST; request.Resource = string.Format("{0}/{{customerOrRecipientId}}/cards", isRecipient ? "recipients" : "customers"); request.AddUrlSegment("customerOrRecipientId", customerOrRecipientId); card.AddParametersToRequest(request); return ExecuteObject(request); }
public StripeObject CreateCustomer(ICreditCard card = null, string coupon = null, string email = null, string description = null, string plan = null, DateTimeOffset?trialEnd = null) { if (card != null) { card.Validate(); } var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers"; if (card != null) { card.AddParametersToRequest(request); } if (coupon.HasValue()) { request.AddParameter("coupon", coupon); } if (email.HasValue()) { request.AddParameter("email", email); } if (description.HasValue()) { request.AddParameter("description", description); } if (plan.HasValue()) { request.AddParameter("plan", plan); } if (trialEnd.HasValue) { request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch()); } return(ExecuteObject(request)); }
public StripeObject UpdateCustomersSubscription(string customerId, string planId, string coupon = null, bool?prorate = null, DateTimeOffset?trialEnd = null, ICreditCard card = null) { Require.Argument("customerId", customerId); Require.Argument("planId", planId); if (card != null) { card.Validate(); } var request = new RestRequest(); request.Method = Method.POST; request.Resource = "customers/{customerId}/subscription"; request.AddUrlSegment("customerId", customerId); request.AddParameter("plan", planId); if (coupon.HasValue()) { request.AddParameter("coupon", coupon); } if (prorate.HasValue) { request.AddParameter("prorate", prorate.Value); } if (trialEnd.HasValue) { request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch()); } if (card != null) { card.AddParametersToRequest(request); } return(ExecuteObject(request)); }