TicketUserServices

<back to all web services

RecurringPaymentCreateRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin
The following routes are available for this service:
POST/recurringPayments
import Foundation
import ServiceStack

public class RecurringPaymentCreateRequest : Codable
{
    public var phoneVerificationNumber:String?
    public var token:String?
    public var panLastFour:String?
    public var expYear:String?
    public var expMonth:String?
    public var deviceId:String?
    public var monthlyPrice:Int?
    public var subscriptionLength:Int?
    public var chargeFirstMonth:Bool?
    public var ownerId:Int?
    public var ownerCardTypeId:Int?
    public var paymentTokenId:String?
    public var transactionFee:Double?
    public var currency:String?
    public var mode:String?
    public var startDate:Date?
    public var lastPayment:Date?
    public var nextPayment:Date?
    public var jsonResponse:String?
    public var termsVersion:String?
    public var termsAcceptedAt:Date?

    required public init(){}
}

public class RecurringPaymentGetResult : Codable
{
    public var item:RecurringPayment?
    public var alreadyExisted:Bool?
    public var statusCode:Int?
    public var message:String?

    required public init(){}
}

public class RecurringPayment : Codable
{
    public var id:Int?
    public var status:String?
    public var phoneVerificationNumber:String?
    public var deviceId:String?
    public var panLastFour:String?
    public var expYear:String?
    public var expMonth:String?
    public var token:String?
    public var monthlyPrice:Int?
    public var subscriptionLength:Int?
    public var monthsPaid:Int?
    public var chargeFirstMonth:Bool?
    // @References(typeof(EventOwner))
    public var ownerId:Int?

    public var ownerCardTypeId:Int?
    // @StringLength(Int32.max)
    public var jsonResponse:String?

    public var startDate:Date?
    public var lastPayment:Date?
    public var nextPayment:Date?
    public var paymentTokenId:String?
    public var declinedCounter:Int?
    public var transactionFee:Double?
    public var termsVersion:String?
    public var termsAcceptedAt:Date?
    public var currency:String?
    public var mode:String?
    public var lastDeclineReason:String?
    public var lastDeclineDate:Date?
    public var lastDunningStage:UInt8?
    public var lastDunningNotifiedAt:Date?

    required public init(){}
}


Swift RecurringPaymentCreateRequest 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 /recurringPayments HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	phoneVerificationNumber: String,
	token: String,
	panLastFour: String,
	expYear: String,
	expMonth: String,
	deviceId: String,
	monthlyPrice: 0,
	subscriptionLength: 0,
	chargeFirstMonth: False,
	ownerId: 0,
	ownerCardTypeId: 0,
	paymentTokenId: String,
	transactionFee: 0,
	currency: String,
	mode: String,
	startDate: 0001-01-01,
	lastPayment: 0001-01-01,
	nextPayment: 0001-01-01,
	jsonResponse: String,
	termsVersion: String,
	termsAcceptedAt: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	item: 
	{
		id: 0,
		status: String,
		phoneVerificationNumber: String,
		deviceId: String,
		panLastFour: String,
		expYear: String,
		expMonth: String,
		token: String,
		monthlyPrice: 0,
		subscriptionLength: 0,
		monthsPaid: 0,
		chargeFirstMonth: False,
		ownerId: 0,
		ownerCardTypeId: 0,
		jsonResponse: String,
		startDate: 0001-01-01,
		lastPayment: 0001-01-01,
		nextPayment: 0001-01-01,
		paymentTokenId: String,
		declinedCounter: 0,
		transactionFee: 0,
		termsVersion: String,
		termsAcceptedAt: 0001-01-01,
		currency: String,
		mode: String,
		lastDeclineReason: String,
		lastDeclineDate: 0001-01-01,
		lastDunningStage: 0,
		lastDunningNotifiedAt: 0001-01-01
	},
	alreadyExisted: False,
	statusCode: 0,
	message: String
}