| POST | /create-customer |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using sfgboxapi.ServiceModel;
using ServiceStack.Stripe.Types;
using ServiceStack.Stripe;
namespace ServiceStack.Stripe
{
public partial class StripeAddress
{
public virtual string City { get; set; }
public virtual string Country { get; set; }
public virtual string Line1 { get; set; }
public virtual string Line2 { get; set; }
public virtual string PostalCode { get; set; }
public virtual string State { get; set; }
}
}
namespace ServiceStack.Stripe.Types
{
public partial class StripeCard
: StripeId
{
public virtual string Brand { get; set; }
public virtual string Number { get; set; }
public virtual string Last4 { get; set; }
public virtual string DynamicLast4 { get; set; }
public virtual int ExpMonth { get; set; }
public virtual int ExpYear { get; set; }
public virtual string Cvc { get; set; }
public virtual string Name { get; set; }
public virtual string AddressCity { get; set; }
public virtual string AddressCountry { get; set; }
public virtual string AddressLine1 { get; set; }
public virtual string AddressLine2 { get; set; }
public virtual string AddressState { get; set; }
public virtual string AddressZip { get; set; }
public virtual StripeCvcCheck? CvcCheck { get; set; }
public virtual string AddressLine1Check { get; set; }
public virtual string AddressZipCheck { get; set; }
public virtual string Funding { get; set; }
public virtual string Fingerprint { get; set; }
public virtual string Customer { get; set; }
public virtual string Country { get; set; }
}
public partial class StripeCollection<T>
: StripeId
{
public StripeCollection()
{
Data = new List<T>{};
}
public virtual string Url { get; set; }
public virtual int TotalCount { get; set; }
public virtual bool? HasMore { get; set; }
public virtual List<T> Data { get; set; }
}
public partial class StripeCoupon
: StripeId
{
public StripeCoupon()
{
Metadata = new Dictionary<string, string>{};
}
public virtual int? AmountOff { get; set; }
public virtual DateTime? Created { get; set; }
public virtual string Currency { get; set; }
public virtual StripeCouponDuration Duration { get; set; }
public virtual int? DurationInMonths { get; set; }
public virtual bool Livemode { get; set; }
public virtual int? MaxRedemptions { get; set; }
public virtual Dictionary<string, string> Metadata { get; set; }
public virtual int? PercentOff { get; set; }
public virtual DateTime? RedeemBy { get; set; }
public virtual int TimesRedeemed { get; set; }
public virtual bool Valid { get; set; }
}
public enum StripeCouponDuration
{
forever,
once,
repeating,
}
public partial class StripeCustomer
: StripeId
{
public StripeCustomer()
{
Metadata = new Dictionary<string, string>{};
}
public virtual int AccountBalance { get; set; }
public virtual string BusinessVatId { get; set; }
public virtual DateTime? Created { get; set; }
public virtual string DefaultSource { get; set; }
public virtual bool? Delinquent { get; set; }
public virtual string Description { get; set; }
public virtual StripeDiscount Discount { get; set; }
public virtual string Email { get; set; }
public virtual string InvoicePrefix { get; set; }
public virtual bool Livemode { get; set; }
public virtual Dictionary<string, string> Metadata { get; set; }
public virtual StripeShipping Shipping { get; set; }
public virtual StripeCollection<StripeCard> Sources { get; set; }
public virtual StripeCollection<StripeSubscription> Subscriptions { get; set; }
public virtual bool Deleted { get; set; }
public virtual string Currency { get; set; }
}
public enum StripeCvcCheck
{
Unknown,
Pass,
Fail,
Unchecked,
}
public partial class StripeDiscount
: StripeId
{
public virtual string Customer { get; set; }
public virtual StripeCoupon Coupon { get; set; }
public virtual DateTime? Start { get; set; }
public virtual DateTime? End { get; set; }
}
public partial class StripeId
: StripeObject
{
public virtual string Id { get; set; }
}
public partial class StripeObject
{
public virtual StripeType? Object { get; set; }
}
public partial class StripePlan
: StripeId
{
public StripePlan()
{
Metadata = new Dictionary<string, string>{};
}
public virtual int Amount { get; set; }
public virtual DateTime? Created { get; set; }
public virtual string Currency { get; set; }
public virtual StripePlanInterval Interval { get; set; }
public virtual int? IntervalCount { get; set; }
public virtual bool Livemode { get; set; }
public virtual Dictionary<string, string> Metadata { get; set; }
public virtual string Nickname { get; set; }
public virtual string Product { get; set; }
public virtual int? TrialPeriodDays { get; set; }
}
public enum StripePlanInterval
{
month,
year,
}
public partial class StripeShipping
{
public virtual StripeAddress Address { get; set; }
public virtual string Name { get; set; }
public virtual string Phone { get; set; }
}
public partial class StripeSubscription
: StripeId
{
public virtual DateTime? CurrentPeriodEnd { get; set; }
public virtual StripeSubscriptionStatus Status { get; set; }
public virtual StripePlan Plan { get; set; }
public virtual DateTime? CurrentPeriodStart { get; set; }
public virtual DateTime? Start { get; set; }
public virtual DateTime? TrialStart { get; set; }
public virtual bool? CancelAtPeriodEnd { get; set; }
public virtual DateTime? TrialEnd { get; set; }
public virtual DateTime? CanceledAt { get; set; }
public virtual DateTime? EndedAt { get; set; }
public virtual string Customer { get; set; }
public virtual int Quantity { get; set; }
}
public enum StripeSubscriptionStatus
{
Unknown,
Trialing,
Active,
PastDue,
Canceled,
Unpaid,
}
public enum StripeType
{
unknown,
account,
card,
charge,
coupon,
customer,
discount,
dispute,
event,
invoiceitem,
invoice,
line_item,
plan,
subscription,
token,
transfer,
list,
product,
}
}
namespace sfgboxapi.ServiceModel
{
public partial class CreateSubscribeCustomer
: IPost
{
public virtual string Email { get; set; }
}
}
C# CreateSubscribeCustomer DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /create-customer HTTP/1.1
Host: api.sfgtec.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"email":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"accountBalance":0,"businessVatId":"String","created":"\/Date(-62135596800000-0000)\/","defaultSource":"String","delinquent":false,"description":"String","discount":{"customer":"String","coupon":{"amountOff":0,"created":"\/Date(-62135596800000-0000)\/","currency":"String","duration":"forever","durationInMonths":0,"livemode":false,"maxRedemptions":0,"metadata":{"String":"String"},"percentOff":0,"redeemBy":"\/Date(-62135596800000-0000)\/","timesRedeemed":0,"valid":false,"id":"String","object":"unknown"},"start":"\/Date(-62135596800000-0000)\/","end":"\/Date(-62135596800000-0000)\/","id":"String","object":"unknown"},"email":"String","invoicePrefix":"String","livemode":false,"metadata":{"String":"String"},"shipping":{"address":{"city":"String","country":"String","line1":"String","line2":"String","postalCode":"String","state":"String"},"name":"String","phone":"String"},"sources":{"url":"String","totalCount":0,"hasMore":false,"data":[{"brand":"String","number":"String","last4":"String","dynamicLast4":"String","expMonth":0,"expYear":0,"cvc":"String","name":"String","addressCity":"String","addressCountry":"String","addressLine1":"String","addressLine2":"String","addressState":"String","addressZip":"String","cvcCheck":"Unknown","addressLine1Check":"String","addressZipCheck":"String","funding":"String","fingerprint":"String","customer":"String","country":"String","id":"String","object":"unknown"}],"id":"String","object":"unknown"},"subscriptions":{"url":"String","totalCount":0,"hasMore":false,"data":[{"currentPeriodEnd":"\/Date(-62135596800000-0000)\/","status":"Unknown","plan":{"amount":0,"created":"\/Date(-62135596800000-0000)\/","currency":"String","interval":"month","intervalCount":0,"livemode":false,"metadata":{"String":"String"},"nickname":"String","product":"String","trialPeriodDays":0,"id":"String","object":"unknown"},"currentPeriodStart":"\/Date(-62135596800000-0000)\/","start":"\/Date(-62135596800000-0000)\/","trialStart":"\/Date(-62135596800000-0000)\/","cancelAtPeriodEnd":false,"trialEnd":"\/Date(-62135596800000-0000)\/","canceledAt":"\/Date(-62135596800000-0000)\/","endedAt":"\/Date(-62135596800000-0000)\/","customer":"String","quantity":0,"id":"String","object":"unknown"}],"id":"String","object":"unknown"},"deleted":false,"currency":"String","id":"String","object":"unknown"}