Requires any of the roles: | Admin, TeamAdmin, MobileApp, Admin, TeamAdmin, MobileApp | Requires any of the permissions: | ReadData, ReadData |
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
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 }