| Requires any of the roles: | Admin, TeamAdmin, MobileApp | Required permission: | Tickets.Add |
| POST | /Webshop/Order/Purchase |
|---|
export class LocalizedMessage
{
public is?: string;
public en?: string;
public constructor(init?: Partial<LocalizedMessage>) { (Object as any).assign(this, init); }
}
export class WebshopOrderLineSummary
{
public id?: number;
public productId?: number;
public variantId?: number;
public productName?: string;
public size?: string;
public color?: string;
public unitPriceMinor?: number;
public quantity?: number;
public lineTotalMinor?: number;
public status?: string;
public payoutInfoId?: number;
public payoutTag?: string;
public constructor(init?: Partial<WebshopOrderLineSummary>) { (Object as any).assign(this, init); }
}
export class WebshopOrderSummary
{
public id?: number;
public orderReference?: string;
public ownerId?: number;
public status?: string;
public totalMinor?: number;
public deliveryFeeMinor?: number;
public totalDiscountMinor?: number;
public currency?: string;
public buyerName?: string;
public buyerEmail?: string;
public buyerPhone?: string;
public address?: string;
public city?: string;
public zipCode?: string;
public country?: string;
public deliveryType?: string;
public droppOrderId?: string;
public droppLocationId?: string;
public needsDeliveryAttention?: boolean;
public paymentMethodId?: string;
public paymentId?: string;
public paymentReference?: string;
public discountCode?: string;
public giftPaidMinor?: number;
public createdAt?: string;
public updatedAt?: string;
public lines?: WebshopOrderLineSummary[];
public constructor(init?: Partial<WebshopOrderSummary>) { (Object as any).assign(this, init); }
}
export class WebshopOrderResult
{
public success?: boolean;
public reason?: string;
public message?: LocalizedMessage;
public orderReference?: string;
public order?: WebshopOrderSummary;
public statusCode?: number;
public constructor(init?: Partial<WebshopOrderResult>) { (Object as any).assign(this, init); }
}
export class WebshopPurchaseLine
{
public variantId?: number;
public quantity?: number;
public constructor(init?: Partial<WebshopPurchaseLine>) { (Object as any).assign(this, init); }
}
export class OrderTender
{
public kind?: string;
public code?: string;
public amountMinor?: number;
public idempotencyKey?: string;
public holdId?: number;
public appliedMinor?: number;
public constructor(init?: Partial<OrderTender>) { (Object as any).assign(this, init); }
}
export class PaymentMethodCreditCardInfo
{
public paymentType?: string;
public token?: string;
public pan?: string;
public expYear?: string;
public expMonth?: string;
public cvc?: string;
public constructor(init?: Partial<PaymentMethodCreditCardInfo>) { (Object as any).assign(this, init); }
}
export class PaymentRequestCreditCard
{
public paymentMethod?: PaymentMethodCreditCardInfo;
public amount?: number;
public currency?: string;
public orderId?: string;
public transActionDate?: string;
public saveCardToToken?: boolean;
public constructor(init?: Partial<PaymentRequestCreditCard>) { (Object as any).assign(this, init); }
}
export class Borgun3DFinalPaymentMethodInfo
{
public paymentType?: string;
public token?: string;
public virtualNumber?: string;
public expYear?: string;
public expMonth?: string;
public panLastFour?: string;
public constructor(init?: Partial<Borgun3DFinalPaymentMethodInfo>) { (Object as any).assign(this, init); }
}
export class Borgun3DFinal3DSecureInfo
{
public dataType?: string;
public mpiToken?: string;
public constructor(init?: Partial<Borgun3DFinal3DSecureInfo>) { (Object as any).assign(this, init); }
}
export class Borgun3DFinalRequest
{
public transactionType?: string;
public amount?: number;
public currency?: string;
public transactionDate?: string;
public orderId?: string;
public paymentMethod?: Borgun3DFinalPaymentMethodInfo;
public threeDSecure?: Borgun3DFinal3DSecureInfo;
public constructor(init?: Partial<Borgun3DFinalRequest>) { (Object as any).assign(this, init); }
}
export class BorgunApplePayThreeDSecureInfo
{
public dataType?: string;
public securityLevelInd?: string;
public cavv?: string;
public ucaf?: string;
public constructor(init?: Partial<BorgunApplePayThreeDSecureInfo>) { (Object as any).assign(this, init); }
}
export class BorgunApplePayFinalInfo
{
public orderId?: string;
public threeDSecure?: BorgunApplePayThreeDSecureInfo;
public constructor(init?: Partial<BorgunApplePayFinalInfo>) { (Object as any).assign(this, init); }
}
export class WebshopOrderPurchaseRequest
{
public ownerId?: number;
public externalId?: string;
public lines?: WebshopPurchaseLine[];
public buyerName?: string;
public buyerEmail?: string;
public buyerPhone?: string;
public deliveryType?: string;
public droppLocationId?: string;
public address?: string;
public city?: string;
public zipCode?: string;
public country?: string;
public idempotencyKey?: string;
public discountCode?: string;
public tenders?: OrderTender[];
public paymentMethodId?: string;
public paymentId?: string;
public cardInfo?: PaymentRequestCreditCard;
public borgun3DFinalInfo?: Borgun3DFinalRequest;
public applePayInfo?: BorgunApplePayFinalInfo;
public constructor(init?: Partial<WebshopOrderPurchaseRequest>) { (Object as any).assign(this, init); }
}
TypeScript 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
}