ServiceStack Home (Live)

<back to all web services

PurchaseSubscription

The following routes are available for this service:
POST/PurchaseSubscription
import Foundation
import ServiceStack

public class PurchaseSubscription : ICardInfo, IAddress, Codable
{
    public var code:String
    public var coupon:String
    public var renewalRef:String
    public var upgradeRef:String
    public var quantity:Int
    public var userAuthId:String
    public var skuId:Int
    public var isSmallCompany:Bool?
    public var isNonProfit:Bool?
    public var agreeTerms:Bool
    public var firstName:String
    public var lastName:String
    public var email:String
    public var password:String
    public var company:String
    public var phoneNumber:String
    public var addressLine1:String
    public var addressLine2:String
    public var addressCity:String
    public var addressZip:String
    public var addressState:String
    public var addressCountry:String
    public var licenseName:String
    public var licenseEmail:String
    public var licenseAddress:String
    public var cardNumber:String
    public var cvc:String
    public var expMonth:Int
    public var expYear:Int
    public var notes:String

    required public init(){}
}

public class Subscriptions : Codable
{
    public var section:String
    public var success:Bool
    public var activated:Bool
    public var purchasedOrderId:Int?

    required public init(){}
}


Swift PurchaseSubscription DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /PurchaseSubscription HTTP/1.1 
Host: account.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	code: String,
	coupon: String,
	renewalRef: String,
	upgradeRef: String,
	quantity: 0,
	userAuthId: String,
	skuId: 0,
	isSmallCompany: False,
	isNonProfit: False,
	agreeTerms: False,
	firstName: String,
	lastName: String,
	email: String,
	password: String,
	company: String,
	phoneNumber: String,
	addressLine1: String,
	addressLine2: String,
	addressCity: String,
	addressZip: String,
	addressState: String,
	addressCountry: String,
	licenseName: String,
	licenseEmail: String,
	licenseAddress: String,
	cardNumber: String,
	cvc: String,
	expMonth: 0,
	expYear: 0,
	notes: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	section: String,
	success: False,
	activated: False,
	purchasedOrderId: 0
}