TicketUserServices

<back to all web services

OwnerCardsOrderRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileApp, Admin, TeamAdmin, MobileAppRequires any of the permissions:ReadData, ReadData
The following routes are available for this service:
POST/OrderOwnerCards
import Foundation
import ServiceStack

public class OwnerCardsOrderRequest : Codable
{
    public var ownerCardTypeIds:[Int] = []
    public var paymentMethodId:String?
    public var cardInfo:PaymentRequestCreditCard?
    public var applePayInfo:BorgunApplePayFinalInfo?
    public var borgun3DFinalInfo:Borgun3DFinalRequest?
    public var paymentPhoneNumber:String?
    public var appMetaData:String?
    public var holderId:String?
    public var holderName:String?
    public var holderEmail:String?
    public var returnCards:Bool?
    public var phoneVerificationNumber:String?
    public var deviceId:String?
    public var requestUnixUTCTimeStamp:Int?
    public var signature:RequestSignature?

    required public init(){}
}

public class PaymentRequestCreditCard : Codable
{
    public var paymentMethod:PaymentMethodCreditCardInfo?
    public var amount:Double?
    public var currency:String?
    public var orderId:String?
    public var transActionDate:Date?
    public var saveCardToToken:Bool?

    required public init(){}
}

public class PaymentMethodCreditCardInfo : Codable
{
    public var paymentType:String?
    public var token:String?
    public var pan:String?
    public var expYear:String?
    public var expMonth:String?
    public var cvc:String?

    required public init(){}
}

public class BorgunApplePayFinalInfo : Codable
{
    public var orderId:String?
    public var threeDSecure:BorgunApplePayThreeDSecureInfo?

    required public init(){}
}

public class BorgunApplePayThreeDSecureInfo : Codable
{
    public var dataType:String?
    public var securityLevelInd:String?
    public var cavv:String?
    public var ucaf:String?

    required public init(){}
}

public class Borgun3DFinalRequest : Codable
{
    public var transactionType:String?
    public var amount:Int?
    public var currency:String?
    public var transactionDate:Date?
    public var orderId:String?
    public var paymentMethod:Borgun3DFinalPaymentMethodInfo?
    public var threeDSecure:Borgun3DFinal3DSecureInfo?

    required public init(){}
}

public class Borgun3DFinalPaymentMethodInfo : Codable
{
    public var paymentType:String?
    public var token:String?

    required public init(){}
}

public class Borgun3DFinal3DSecureInfo : Codable
{
    public var dataType:String?
    public var mpiToken:String?

    required public init(){}
}

public class RequestSignature : Codable
{
    public var systemId:String?
    public var systemSecret:String?
    public var signature:String?

    required public init(){}
}

public class OwnerCardsOrderResult : GeneralOrderResponse
{
    public var cards:[OwnerCards] = []

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case cards
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        cards = try container.decodeIfPresent([OwnerCards].self, forKey: .cards) ?? []
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if cards.count > 0 { try container.encode(cards, forKey: .cards) }
    }
}

public class GeneralOrderResponse : Codable
{
    public var statusCode:Int?
    public var message:String?
    public var success:Bool?
    public var paymentIsPending:Bool?
    public var orderTokenId:String?

    required public init(){}
}

public class OwnerCards : Codable
{
    public var id:Int?
    public var ownerId:Int?
    public var ownerCardTypeId:Int?
    public var phoneVerificationId:Int?
    public var initialMaxTickets:Int?
    public var currentAvailableTickets:Int?
    public var timeStampCreatedUTC:Date?
    public var timeStampLastChangedUTC:Date?
    public var timeStampBoughtUTC:Date?
    public var timeStampOrderedUTC:Date?
    public var cardValidFromUTC:Date?
    public var cardValidToUTC:Date?
    public var hasStoreCredit:Bool?
    public var cardPrice:Double?
    public var pricePaid:Double?
    public var initialStoreCredit:Double?
    public var currentStoreCredit:Double?
    public var phoneFullVerificationNumber:String?
    public var holderId:String?
    public var holderName:String?
    public var holderEmail:String?
    public var cardPriceCurrency:String?
    public var pricePaidCurrency:String?
    public var deviceId:String?
    public var paymentMethodId:String?
    public var paymentReference:String?
    public var phoneVerificationNumber:String?
    public var paymentPhoneNumber:String?
    public var paymentId:String?
    public var paymentStatus:String?
    public var paymentTokenId:String?
    public var maxTicketsPerEvent:Int?
    public var multiplePaymentsId:String?
    public var imageUrl:String?
    public var backgroundImageUrl:String?

    required public init(){}
}


Swift OwnerCardsOrderRequest 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 /OrderOwnerCards HTTP/1.1 
Host: stubbur-autoupdates-live.smartnewapis.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ownerCardTypeIds: 
	[
		0
	],
	paymentMethodId: String,
	cardInfo: 
	{
		paymentMethod: 
		{
			paymentType: String,
			token: String,
			pan: String,
			expYear: String,
			expMonth: String,
			cvc: String
		},
		amount: 0,
		currency: String,
		orderId: String,
		transActionDate: 0001-01-01,
		saveCardToToken: False
	},
	applePayInfo: 
	{
		orderId: String,
		threeDSecure: 
		{
			dataType: String,
			securityLevelInd: String,
			cavv: String,
			ucaf: String
		}
	},
	borgun3DFinalInfo: 
	{
		transactionType: String,
		amount: 0,
		currency: String,
		transactionDate: 0001-01-01,
		orderId: String,
		paymentMethod: 
		{
			paymentType: String,
			token: String
		},
		threeDSecure: 
		{
			dataType: String,
			mpiToken: String
		}
	},
	paymentPhoneNumber: String,
	appMetaData: String,
	holderId: String,
	holderName: String,
	holderEmail: String,
	returnCards: False,
	phoneVerificationNumber: String,
	deviceId: String,
	requestUnixUTCTimeStamp: 0,
	signature: 
	{
		systemId: String,
		systemSecret: String,
		signature: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	cards: 
	[
		{
			id: 0,
			ownerId: 0,
			ownerCardTypeId: 0,
			phoneVerificationId: 0,
			initialMaxTickets: 0,
			currentAvailableTickets: 0,
			timeStampCreatedUTC: 0001-01-01,
			timeStampLastChangedUTC: 0001-01-01,
			timeStampBoughtUTC: 0001-01-01,
			timeStampOrderedUTC: 0001-01-01,
			cardValidFromUTC: 0001-01-01,
			cardValidToUTC: 0001-01-01,
			hasStoreCredit: False,
			cardPrice: 0,
			pricePaid: 0,
			initialStoreCredit: 0,
			currentStoreCredit: 0,
			phoneFullVerificationNumber: String,
			holderId: String,
			holderName: String,
			holderEmail: String,
			cardPriceCurrency: String,
			pricePaidCurrency: String,
			deviceId: String,
			paymentMethodId: String,
			paymentReference: String,
			phoneVerificationNumber: String,
			paymentPhoneNumber: String,
			paymentId: String,
			paymentStatus: String,
			paymentTokenId: String,
			maxTicketsPerEvent: 0,
			multiplePaymentsId: String,
			imageUrl: String,
			backgroundImageUrl: String
		}
	],
	statusCode: 0,
	message: String,
	success: False,
	paymentIsPending: False,
	orderTokenId: String
}