| POST | /create-customer |
|---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports sfgboxapi.ServiceModel
Imports ServiceStack.Stripe.Types
Imports ServiceStack.Stripe
Namespace Global
Namespace ServiceStack.Stripe
Public Partial Class StripeAddress
Public Overridable Property City As String
Public Overridable Property Country As String
Public Overridable Property Line1 As String
Public Overridable Property Line2 As String
Public Overridable Property PostalCode As String
Public Overridable Property State As String
End Class
End Namespace
Namespace ServiceStack.Stripe.Types
Public Partial Class StripeCard
Inherits StripeId
Public Overridable Property Brand As String
Public Overridable Property Number As String
Public Overridable Property Last4 As String
Public Overridable Property DynamicLast4 As String
Public Overridable Property ExpMonth As Integer
Public Overridable Property ExpYear As Integer
Public Overridable Property Cvc As String
Public Overridable Property Name As String
Public Overridable Property AddressCity As String
Public Overridable Property AddressCountry As String
Public Overridable Property AddressLine1 As String
Public Overridable Property AddressLine2 As String
Public Overridable Property AddressState As String
Public Overridable Property AddressZip As String
Public Overridable Property CvcCheck As Nullable(Of StripeCvcCheck)
Public Overridable Property AddressLine1Check As String
Public Overridable Property AddressZipCheck As String
Public Overridable Property Funding As String
Public Overridable Property Fingerprint As String
Public Overridable Property Customer As String
Public Overridable Property Country As String
End Class
Public Partial Class StripeCollection(Of T)
Inherits StripeId
Public Sub New()
Data = New List(Of T)
End Sub
Public Overridable Property Url As String
Public Overridable Property TotalCount As Integer
Public Overridable Property HasMore As Nullable(Of Boolean)
Public Overridable Property Data As List(Of T)
End Class
Public Partial Class StripeCoupon
Inherits StripeId
Public Sub New()
Metadata = New Dictionary(Of String, String)
End Sub
Public Overridable Property AmountOff As Nullable(Of Integer)
Public Overridable Property Created As Nullable(Of Date)
Public Overridable Property Currency As String
Public Overridable Property Duration As StripeCouponDuration
Public Overridable Property DurationInMonths As Nullable(Of Integer)
Public Overridable Property Livemode As Boolean
Public Overridable Property MaxRedemptions As Nullable(Of Integer)
Public Overridable Property Metadata As Dictionary(Of String, String)
Public Overridable Property PercentOff As Nullable(Of Integer)
Public Overridable Property RedeemBy As Nullable(Of Date)
Public Overridable Property TimesRedeemed As Integer
Public Overridable Property Valid As Boolean
End Class
Public Enum StripeCouponDuration
forever
once
repeating
End Enum
Public Partial Class StripeCustomer
Inherits StripeId
Public Sub New()
Metadata = New Dictionary(Of String, String)
End Sub
Public Overridable Property AccountBalance As Integer
Public Overridable Property BusinessVatId As String
Public Overridable Property Created As Nullable(Of Date)
Public Overridable Property DefaultSource As String
Public Overridable Property Delinquent As Nullable(Of Boolean)
Public Overridable Property Description As String
Public Overridable Property Discount As StripeDiscount
Public Overridable Property Email As String
Public Overridable Property InvoicePrefix As String
Public Overridable Property Livemode As Boolean
Public Overridable Property Metadata As Dictionary(Of String, String)
Public Overridable Property Shipping As StripeShipping
Public Overridable Property Sources As StripeCollection(Of StripeCard)
Public Overridable Property Subscriptions As StripeCollection(Of StripeSubscription)
Public Overridable Property Deleted As Boolean
Public Overridable Property Currency As String
End Class
Public Enum StripeCvcCheck
Unknown
Pass
Fail
Unchecked
End Enum
Public Partial Class StripeDiscount
Inherits StripeId
Public Overridable Property Customer As String
Public Overridable Property Coupon As StripeCoupon
Public Overridable Property Start As Nullable(Of Date)
Public Overridable Property [End] As Nullable(Of Date)
End Class
Public Partial Class StripeId
Inherits StripeObject
Public Overridable Property Id As String
End Class
Public Partial Class StripeObject
Public Overridable Property [Object] As Nullable(Of StripeType)
End Class
Public Partial Class StripePlan
Inherits StripeId
Public Sub New()
Metadata = New Dictionary(Of String, String)
End Sub
Public Overridable Property Amount As Integer
Public Overridable Property Created As Nullable(Of Date)
Public Overridable Property Currency As String
Public Overridable Property Interval As StripePlanInterval
Public Overridable Property IntervalCount As Nullable(Of Integer)
Public Overridable Property Livemode As Boolean
Public Overridable Property Metadata As Dictionary(Of String, String)
Public Overridable Property Nickname As String
Public Overridable Property Product As String
Public Overridable Property TrialPeriodDays As Nullable(Of Integer)
End Class
Public Enum StripePlanInterval
month
year
End Enum
Public Partial Class StripeShipping
Public Overridable Property Address As StripeAddress
Public Overridable Property Name As String
Public Overridable Property Phone As String
End Class
Public Partial Class StripeSubscription
Inherits StripeId
Public Overridable Property CurrentPeriodEnd As Nullable(Of Date)
Public Overridable Property Status As StripeSubscriptionStatus
Public Overridable Property Plan As StripePlan
Public Overridable Property CurrentPeriodStart As Nullable(Of Date)
Public Overridable Property Start As Nullable(Of Date)
Public Overridable Property TrialStart As Nullable(Of Date)
Public Overridable Property CancelAtPeriodEnd As Nullable(Of Boolean)
Public Overridable Property TrialEnd As Nullable(Of Date)
Public Overridable Property CanceledAt As Nullable(Of Date)
Public Overridable Property EndedAt As Nullable(Of Date)
Public Overridable Property Customer As String
Public Overridable Property Quantity As Integer
End Class
Public Enum StripeSubscriptionStatus
Unknown
Trialing
Active
PastDue
Canceled
Unpaid
End Enum
Public Enum StripeType
unknown
account
card
charge
coupon
customer
discount
dispute
event
invoiceitem
invoice
line_item
plan
subscription
token
transfer
list
product
End Enum
End Namespace
Namespace sfgboxapi.ServiceModel
Public Partial Class CreateSubscribeCustomer
Implements IPost
Public Overridable Property Email As String
End Class
End Namespace
End Namespace
VB.NET CreateSubscribeCustomer DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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: sfgboxapi.dev.scadsoftware.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
email: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
accountBalance: 0,
businessVatId: String,
created: 0001-01-01,
defaultSource: String,
delinquent: False,
description: String,
discount:
{
customer: String,
coupon:
{
amountOff: 0,
created: 0001-01-01,
currency: String,
duration: forever,
durationInMonths: 0,
livemode: False,
maxRedemptions: 0,
metadata:
{
String: String
},
percentOff: 0,
redeemBy: 0001-01-01,
timesRedeemed: 0,
valid: False,
id: String,
object: unknown
},
start: 0001-01-01,
end: 0001-01-01,
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: 0001-01-01,
status: Unknown,
plan:
{
amount: 0,
created: 0001-01-01,
currency: String,
interval: month,
intervalCount: 0,
livemode: False,
metadata:
{
String: String
},
nickname: String,
product: String,
trialPeriodDays: 0,
id: String,
object: unknown
},
currentPeriodStart: 0001-01-01,
start: 0001-01-01,
trialStart: 0001-01-01,
cancelAtPeriodEnd: False,
trialEnd: 0001-01-01,
canceledAt: 0001-01-01,
endedAt: 0001-01-01,
customer: String,
quantity: 0,
id: String,
object: unknown
}
],
id: String,
object: unknown
},
deleted: False,
currency: String,
id: String,
object: unknown
}