TicketUserServices

<back to all web services

GiftCardPurchaseRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequired permission:Tickets.Add
The following routes are available for this service:
POST/GiftCard/Purchase
import Foundation
import ServiceStack

public class GiftCardPurchaseRequest : Codable
{
    public var giftCardTypeId:Int?
    public var amountMinor:Int?
    public var purchasePaymentReference:String?
    public var purchaseOwnerId:Int?
    public var buyerName:String?
    public var buyerPhone:String?
    public var buyerEmail:String?
    public var recipientName:String?
    public var idempotencyKey:String?
    public var paymentMethodId:String?
    public var paymentId:String?
    public var cardInfo:PaymentRequestCreditCard?
    public var borgun3DFinalInfo:Borgun3DFinalRequest?
    public var applePayInfo:BorgunApplePayFinalInfo?

    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 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?
    public var virtualNumber:String?
    public var expYear:String?
    public var expMonth:String?
    public var panLastFour:String?

    required public init(){}
}

public class Borgun3DFinal3DSecureInfo : Codable
{
    public var dataType:String?
    public var mpiToken: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 GiftCardIssueResult : Codable
{
    public var success:Bool?
    public var giftCardId:Int?
    public var code:String?
    public var codeLast4:String?
    public var status:String?
    public var expiresAt:Date?
    public var paymentId:String?
    public var statusCode:Int?
    public var message:String?

    required public init(){}
}


Swift GiftCardPurchaseRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
}