sfgboxapi

<back to all web services

CreateSubscribeCustomer

Requires Authentication
The following routes are available for this service:
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

HTTP + 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"}