| Requires any of the roles: | Admin, TeamAdmin, MobileApp | Required permission: | Tickets.Add |
| POST | /Webshop/Order/Purchase |
|---|
namespace TicketUserServices.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type LocalizedMessage() =
member val Is:String = null with get,set
member val En:String = null with get,set
[<AllowNullLiteral>]
type WebshopOrderLineSummary() =
member val ID:Int32 = new Int32() with get,set
member val ProductId:Int32 = new Int32() with get,set
member val VariantId:Int32 = new Int32() with get,set
member val ProductName:String = null with get,set
member val Size:String = null with get,set
member val Color:String = null with get,set
member val UnitPriceMinor:Int32 = new Int32() with get,set
member val Quantity:Int32 = new Int32() with get,set
member val LineTotalMinor:Int32 = new Int32() with get,set
member val Status:String = null with get,set
member val PayoutInfoId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val PayoutTag:String = null with get,set
[<AllowNullLiteral>]
type WebshopOrderSummary() =
member val ID:Int32 = new Int32() with get,set
member val OrderReference:String = null with get,set
member val OwnerId:Int32 = new Int32() with get,set
member val Status:String = null with get,set
member val TotalMinor:Int32 = new Int32() with get,set
member val DeliveryFeeMinor:Int32 = new Int32() with get,set
member val TotalDiscountMinor:Int32 = new Int32() with get,set
member val Currency:String = null with get,set
member val BuyerName:String = null with get,set
member val BuyerEmail:String = null with get,set
member val BuyerPhone:String = null with get,set
member val Address:String = null with get,set
member val City:String = null with get,set
member val ZipCode:String = null with get,set
member val Country:String = null with get,set
member val DeliveryType:String = null with get,set
member val DroppOrderId:String = null with get,set
member val DroppLocationId:String = null with get,set
member val NeedsDeliveryAttention:Boolean = new Boolean() with get,set
member val PaymentMethodId:String = null with get,set
member val PaymentId:String = null with get,set
member val PaymentReference:String = null with get,set
member val DiscountCode:String = null with get,set
member val GiftPaidMinor:Int32 = new Int32() with get,set
member val CreatedAt:DateTime = new DateTime() with get,set
member val UpdatedAt:DateTime = new DateTime() with get,set
member val Lines:ResizeArray<WebshopOrderLineSummary> = new ResizeArray<WebshopOrderLineSummary>() with get,set
[<AllowNullLiteral>]
type WebshopOrderResult() =
member val Success:Boolean = new Boolean() with get,set
member val Reason:String = null with get,set
member val Message:LocalizedMessage = null with get,set
member val OrderReference:String = null with get,set
member val Order:WebshopOrderSummary = null with get,set
member val StatusCode:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type WebshopPurchaseLine() =
member val VariantId:Int32 = new Int32() with get,set
member val Quantity:Int32 = new Int32() 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 PaymentMethodCreditCardInfo() =
member val PaymentType:String = null with get,set
member val Token:String = null with get,set
member val PAN:String = null with get,set
member val ExpYear:String = null with get,set
member val ExpMonth:String = null with get,set
member val CVC:String = null with get,set
[<AllowNullLiteral>]
type PaymentRequestCreditCard() =
member val PaymentMethod:PaymentMethodCreditCardInfo = null with get,set
member val Amount:Decimal = new Decimal() with get,set
member val Currency:String = null with get,set
member val OrderId:String = null with get,set
member val TransActionDate:DateTime = new DateTime() with get,set
member val SaveCardToToken: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 BorgunApplePayThreeDSecureInfo() =
member val DataType:String = null with get,set
member val SecurityLevelInd:String = null with get,set
member val CAVV:String = null with get,set
member val UCAF:String = null with get,set
[<AllowNullLiteral>]
type BorgunApplePayFinalInfo() =
member val OrderId:String = null with get,set
member val ThreeDSecure:BorgunApplePayThreeDSecureInfo = null with get,set
[<AllowNullLiteral>]
type WebshopOrderPurchaseRequest() =
member val OwnerId:Int32 = new Int32() with get,set
member val ExternalId:String = null with get,set
member val Lines:ResizeArray<WebshopPurchaseLine> = new ResizeArray<WebshopPurchaseLine>() with get,set
member val BuyerName:String = null with get,set
member val BuyerEmail:String = null with get,set
member val BuyerPhone:String = null with get,set
member val DeliveryType:String = null with get,set
member val DroppLocationId:String = null with get,set
member val Address:String = null with get,set
member val City:String = null with get,set
member val ZipCode:String = null with get,set
member val Country:String = null with get,set
member val IdempotencyKey:String = null with get,set
member val DiscountCode:String = null with get,set
member val Tenders:ResizeArray<OrderTender> = new ResizeArray<OrderTender>() with get,set
member val PaymentMethodId:String = null with get,set
member val PaymentId:String = null with get,set
member val CardInfo:PaymentRequestCreditCard = null with get,set
member val Borgun3DFinalInfo:Borgun3DFinalRequest = null with get,set
member val ApplePayInfo:BorgunApplePayFinalInfo = null with get,set
F# WebshopOrderPurchaseRequest 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 /Webshop/Order/Purchase HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ownerId: 0,
externalId: String,
lines:
[
{
variantId: 0,
quantity: 0
}
],
buyerName: String,
buyerEmail: String,
buyerPhone: String,
deliveryType: String,
droppLocationId: String,
address: String,
city: String,
zipCode: String,
country: String,
idempotencyKey: String,
discountCode: String,
tenders:
[
{
kind: String,
code: String,
amountMinor: 0,
idempotencyKey: String,
holdId: 0,
appliedMinor: 0
}
],
paymentMethodId: String,
paymentId: 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
},
borgun3DFinalInfo:
{
transactionType: String,
amount: 0,
currency: String,
transactionDate: 0001-01-01,
orderId: String,
paymentMethod:
{
paymentType: String,
token: String,
virtualNumber: String,
expYear: String,
expMonth: String,
panLastFour: String
},
threeDSecure:
{
dataType: String,
mpiToken: String
}
},
applePayInfo:
{
orderId: String,
threeDSecure:
{
dataType: String,
securityLevelInd: String,
cavv: String,
ucaf: String
}
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
success: False,
reason: String,
message:
{
is: String,
en: String
},
orderReference: String,
order:
{
id: 0,
orderReference: String,
ownerId: 0,
status: String,
totalMinor: 0,
deliveryFeeMinor: 0,
totalDiscountMinor: 0,
currency: String,
buyerName: String,
buyerEmail: String,
buyerPhone: String,
address: String,
city: String,
zipCode: String,
country: String,
deliveryType: String,
droppOrderId: String,
droppLocationId: String,
needsDeliveryAttention: False,
paymentMethodId: String,
paymentId: String,
paymentReference: String,
discountCode: String,
giftPaidMinor: 0,
createdAt: 0001-01-01,
updatedAt: 0001-01-01,
lines:
[
{
id: 0,
productId: 0,
variantId: 0,
productName: String,
size: String,
color: String,
unitPriceMinor: 0,
quantity: 0,
lineTotalMinor: 0,
status: String,
payoutInfoId: 0,
payoutTag: String
}
]
},
statusCode: 0
}