| Requires any of the roles: | Admin, TeamAdmin, MobileApp | Required permission: | Tickets.Add |
| POST | /GiftCard/Purchase |
|---|
namespace TicketUserServices.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type GiftCardIssueResult() =
member val Success:Boolean = new Boolean() with get,set
member val GiftCardId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Code:String = null with get,set
member val CodeLast4:String = null with get,set
member val Status:String = null with get,set
member val ExpiresAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val PaymentId:String = null with get,set
member val StatusCode:Int32 = new Int32() with get,set
member val Message:String = null 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 GiftCardPurchaseRequest() =
member val GiftCardTypeId:Int32 = new Int32() with get,set
member val AmountMinor:Int32 = new Int32() with get,set
member val PurchasePaymentReference:String = null with get,set
member val PurchaseOwnerId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val BuyerName:String = null with get,set
member val BuyerPhone:String = null with get,set
member val BuyerEmail:String = null with get,set
member val RecipientName:String = null with get,set
member val IdempotencyKey:String = null 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# GiftCardPurchaseRequest 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 /GiftCard/Purchase HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
giftCardTypeId: 0,
amountMinor: 0,
purchasePaymentReference: String,
purchaseOwnerId: 0,
buyerName: String,
buyerPhone: String,
buyerEmail: String,
recipientName: String,
idempotencyKey: String,
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,
giftCardId: 0,
code: String,
codeLast4: String,
status: String,
expiresAt: 0001-01-01,
paymentId: String,
statusCode: 0,
message: String
}