| Requires any of the roles: | Admin, TeamAdmin | Requires the permission: | ReadData |
| POST | /OrderOwnerCards/upgrade | Charge the delta, issue the target card (PricePaid = delta), revoke the source card, re-link future tickets — one transaction, idempotent |
|---|
namespace TicketUserServices.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type GeneralOrderResponse() =
member val StatusCode:Int32 = new Int32() with get,set
member val Message:String = null with get,set
member val Success:Boolean = new Boolean() with get,set
member val PaymentIsPending:Boolean = new Boolean() with get,set
member val OrderTokenId:String = null with get,set
[<AllowNullLiteral>]
type OwnerCards() =
member val ID:Int32 = new Int32() with get,set
member val OwnerId:Int32 = new Int32() with get,set
member val OwnerCardTypeId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val PhoneVerificationId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val InitialMaxTickets:Nullable<Int32> = new Nullable<Int32>() with get,set
member val CurrentAvailableTickets:Nullable<Int32> = new Nullable<Int32>() with get,set
member val TimeStampCreatedUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val TimeStampLastChangedUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val TimeStampBoughtUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val TimeStampOrderedUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CardValidFromUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CardValidToUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val HasStoreCredit:Boolean = new Boolean() with get,set
member val CardPrice:Decimal = new Decimal() with get,set
member val PricePaid:Decimal = new Decimal() with get,set
member val InitialStoreCredit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val CurrentStoreCredit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val PhoneFullVerificationNumber:String = null with get,set
member val HolderId:String = null with get,set
member val HolderName:String = null with get,set
member val HolderEmail:String = null with get,set
member val CardPriceCurrency:String = null with get,set
member val PricePaidCurrency:String = null with get,set
member val DeviceId:String = null with get,set
member val PaymentMethodId:String = null with get,set
member val PaymentReference:String = null with get,set
member val PhoneVerificationNumber:String = null with get,set
member val PaymentPhoneNumber:String = null with get,set
member val PaymentId:String = null with get,set
member val PaymentStatus:String = null with get,set
member val PaymentTokenId:String = null with get,set
member val MaxTicketsPerEvent:Nullable<Int32> = new Nullable<Int32>() with get,set
member val MultiplePaymentsId:String = null with get,set
member val ImageUrl:String = null with get,set
member val BackgroundImageUrl:String = null with get,set
member val OrderReference:String = null with get,set
member val UpgradedFromOwnerCardId:Nullable<Int32> = new Nullable<Int32>() with get,set
[<AllowNullLiteral>]
type OwnerCardsOrderResult() =
inherit GeneralOrderResponse()
member val Cards:ResizeArray<OwnerCards> = new ResizeArray<OwnerCards>() with get,set
member val OrderReference:String = null with get,set
member val IsSubscription:Boolean = new Boolean() with get,set
member val MonthlyPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val TransactionFee:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val Months:Nullable<Int32> = new Nullable<Int32>() with get,set
member val PaymentTokenId:String = null with get,set
member val SubscriptionTokenMissing:Boolean = new Boolean() with get,set
member val PriceTotal:Int32 = new Int32() with get,set
member val DiscountAmount:Int32 = new Int32() with get,set
member val GiftCardAmount:Int32 = new Int32() with get,set
member val DonationAmount:Int32 = new Int32() with get,set
member val ChargedAmount:Int32 = new Int32() with get,set
member val Reason:String = null with get,set
[<AllowNullLiteral>]
type OwnerCardsUpgradeResult() =
inherit OwnerCardsOrderResult()
member val SourceOwnerCardId:Int32 = new Int32() with get,set
member val SourceOwnerCardTypeId:Int32 = new Int32() with get,set
member val SourceTypeName:String = null with get,set
member val NewOwnerCardId:Int32 = new Int32() with get,set
member val TargetOwnerCardTypeId:Int32 = new Int32() with get,set
member val TargetTypeName:String = null with get,set
member val RelinkedTickets:Int32 = new Int32() with get,set
member val PaymentReference:String = null with get,set
member val RefundPending:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type Borgun3DFinalPaymentMethodInfo() =
member val PaymentType:String = null with get,set
member val Token:String = null with get,set
member val VirtualNumber:String = null with get,set
member val ExpYear:String = null with get,set
member val ExpMonth:String = null with get,set
member val PanLastFour:String = null with get,set
[<AllowNullLiteral>]
type Borgun3DFinal3DSecureInfo() =
member val DataType:String = null with get,set
member val MpiToken:String = null with get,set
[<AllowNullLiteral>]
type Borgun3DFinalRequest() =
member val TransactionType:String = null with get,set
member val Amount:Int32 = new Int32() with get,set
member val Currency:String = null with get,set
member val TransactionDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val OrderId:String = null with get,set
member val PaymentMethod:Borgun3DFinalPaymentMethodInfo = null with get,set
member val ThreeDSecure:Borgun3DFinal3DSecureInfo = null with get,set
[<AllowNullLiteral>]
type OrderTender() =
member val Kind:String = null with get,set
member val Code:String = null with get,set
member val AmountMinor:Nullable<Int32> = new Nullable<Int32>() with get,set
member val IdempotencyKey:String = null with get,set
member val HoldId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val AppliedMinor:Nullable<Int32> = new Nullable<Int32>() with get,set
[<AllowNullLiteral>]
type OwnerCardsUpgradeRequest() =
member val BuyerPhone:String = null with get,set
member val SourceOwnerCardId:Int32 = new Int32() with get,set
member val TargetOwnerCardTypeId:Int32 = new Int32() with get,set
member val IdempotencyKey:String = null with get,set
member val PaymentMethodId:String = null with get,set
member val Borgun3DFinalInfo:Borgun3DFinalRequest = null with get,set
member val Tenders:ResizeArray<OrderTender> = new ResizeArray<OrderTender>() with get,set
member val HolderName:String = null with get,set
member val HolderEmail:String = null with get,set
member val DeviceId:String = null with get,set
member val ReturnCards:Boolean = new Boolean() with get,set
F# OwnerCardsUpgradeRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /OrderOwnerCards/upgrade HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<OwnerCardsUpgradeRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
<Borgun3DFinalInfo xmlns:d2p1="http://schemas.datacontract.org/2004/07/BorgunRPGData">
<d2p1:Amount>0</d2p1:Amount>
<d2p1:Currency>String</d2p1:Currency>
<d2p1:OrderId>String</d2p1:OrderId>
<d2p1:PaymentMethod>
<d2p1:ExpMonth>String</d2p1:ExpMonth>
<d2p1:ExpYear>String</d2p1:ExpYear>
<d2p1:PanLastFour>String</d2p1:PanLastFour>
<d2p1:PaymentType>String</d2p1:PaymentType>
<d2p1:Token>String</d2p1:Token>
<d2p1:VirtualNumber>String</d2p1:VirtualNumber>
</d2p1:PaymentMethod>
<d2p1:ThreeDSecure>
<d2p1:DataType>String</d2p1:DataType>
<d2p1:MpiToken>String</d2p1:MpiToken>
</d2p1:ThreeDSecure>
<d2p1:TransactionDate>0001-01-01T00:00:00</d2p1:TransactionDate>
<d2p1:TransactionType>String</d2p1:TransactionType>
</Borgun3DFinalInfo>
<BuyerPhone>String</BuyerPhone>
<DeviceId>String</DeviceId>
<HolderEmail>String</HolderEmail>
<HolderName>String</HolderName>
<IdempotencyKey>String</IdempotencyKey>
<PaymentMethodId>String</PaymentMethodId>
<ReturnCards>false</ReturnCards>
<SourceOwnerCardId>0</SourceOwnerCardId>
<TargetOwnerCardTypeId>0</TargetOwnerCardTypeId>
<Tenders>
<OrderTender>
<AmountMinor>0</AmountMinor>
<AppliedMinor>0</AppliedMinor>
<Code>String</Code>
<HoldId>0</HoldId>
<IdempotencyKey>String</IdempotencyKey>
<Kind>String</Kind>
</OrderTender>
</Tenders>
</OwnerCardsUpgradeRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<OwnerCardsUpgradeResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
<Message>String</Message>
<OrderTokenId>String</OrderTokenId>
<PaymentIsPending>false</PaymentIsPending>
<StatusCode>0</StatusCode>
<Success>false</Success>
<Cards xmlns:d2p1="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel.Types">
<d2p1:OwnerCards>
<d2p1:BackgroundImageUrl>String</d2p1:BackgroundImageUrl>
<d2p1:CardPrice>0</d2p1:CardPrice>
<d2p1:CardPriceCurrency>String</d2p1:CardPriceCurrency>
<d2p1:CardValidFromUTC>0001-01-01T00:00:00</d2p1:CardValidFromUTC>
<d2p1:CardValidToUTC>0001-01-01T00:00:00</d2p1:CardValidToUTC>
<d2p1:CurrentAvailableTickets>0</d2p1:CurrentAvailableTickets>
<d2p1:CurrentStoreCredit>0</d2p1:CurrentStoreCredit>
<d2p1:DeviceId>String</d2p1:DeviceId>
<d2p1:HasStoreCredit>false</d2p1:HasStoreCredit>
<d2p1:HolderEmail>String</d2p1:HolderEmail>
<d2p1:HolderId>String</d2p1:HolderId>
<d2p1:HolderName>String</d2p1:HolderName>
<d2p1:ID>0</d2p1:ID>
<d2p1:ImageUrl>String</d2p1:ImageUrl>
<d2p1:InitialMaxTickets>0</d2p1:InitialMaxTickets>
<d2p1:InitialStoreCredit>0</d2p1:InitialStoreCredit>
<d2p1:MaxTicketsPerEvent>0</d2p1:MaxTicketsPerEvent>
<d2p1:MultiplePaymentsId>String</d2p1:MultiplePaymentsId>
<d2p1:OrderReference>String</d2p1:OrderReference>
<d2p1:OwnerCardTypeId>0</d2p1:OwnerCardTypeId>
<d2p1:OwnerId>0</d2p1:OwnerId>
<d2p1:PaymentId>String</d2p1:PaymentId>
<d2p1:PaymentMethodId>String</d2p1:PaymentMethodId>
<d2p1:PaymentPhoneNumber>String</d2p1:PaymentPhoneNumber>
<d2p1:PaymentReference>String</d2p1:PaymentReference>
<d2p1:PaymentStatus>String</d2p1:PaymentStatus>
<d2p1:PaymentTokenId>String</d2p1:PaymentTokenId>
<d2p1:PhoneFullVerificationNumber>String</d2p1:PhoneFullVerificationNumber>
<d2p1:PhoneVerificationId>0</d2p1:PhoneVerificationId>
<d2p1:PhoneVerificationNumber>String</d2p1:PhoneVerificationNumber>
<d2p1:PricePaid>0</d2p1:PricePaid>
<d2p1:PricePaidCurrency>String</d2p1:PricePaidCurrency>
<d2p1:TimeStampBoughtUTC>0001-01-01T00:00:00</d2p1:TimeStampBoughtUTC>
<d2p1:TimeStampCreatedUTC>0001-01-01T00:00:00</d2p1:TimeStampCreatedUTC>
<d2p1:TimeStampLastChangedUTC>0001-01-01T00:00:00</d2p1:TimeStampLastChangedUTC>
<d2p1:TimeStampOrderedUTC>0001-01-01T00:00:00</d2p1:TimeStampOrderedUTC>
<d2p1:UpgradedFromOwnerCardId>0</d2p1:UpgradedFromOwnerCardId>
</d2p1:OwnerCards>
</Cards>
<ChargedAmount>0</ChargedAmount>
<DiscountAmount>0</DiscountAmount>
<DonationAmount>0</DonationAmount>
<GiftCardAmount>0</GiftCardAmount>
<IsSubscription>false</IsSubscription>
<MonthlyPrice>0</MonthlyPrice>
<Months>0</Months>
<OrderReference>String</OrderReference>
<PaymentTokenId>String</PaymentTokenId>
<PriceTotal>0</PriceTotal>
<Reason>String</Reason>
<SubscriptionTokenMissing>false</SubscriptionTokenMissing>
<TransactionFee>0</TransactionFee>
<NewOwnerCardId>0</NewOwnerCardId>
<PaymentReference>String</PaymentReference>
<RefundPending>false</RefundPending>
<RelinkedTickets>0</RelinkedTickets>
<SourceOwnerCardId>0</SourceOwnerCardId>
<SourceOwnerCardTypeId>0</SourceOwnerCardTypeId>
<SourceTypeName>String</SourceTypeName>
<TargetOwnerCardTypeId>0</TargetOwnerCardTypeId>
<TargetTypeName>String</TargetTypeName>
</OwnerCardsUpgradeResult>