Billhighway Cloud API

<back to all web services

SubscriptionCreateRq

The following routes are available for this service:
POST/signup/api/nat/{natID}/group/{groupID}/subscription
POST/signup/api/nat/{natID}/group/{groupID}/{userType}/user/{userID}/subscription
import Foundation
import ServiceStack

public class SubscriptionCreateRq : Codable
{
    public var natID:Int?
    public var groupID:Int?
    public var clientGroupID:String?
    public var userType:String?
    public var userID:String?
    public var formData:SubscriberFormData?
    public var subscriptionInfo:SubscriptionInformation?
    public var verificationInfo:ClientVerification?
    public var ccPaymentInfo:CcPaymentInformation?
    public var achPaymentInfo:AchPaymentInformation?
    public var billMeLater:BillMeLaterInformation?
    public var campaigns:[CampaignInformation] = []

    required public init(){}
}

public class SubscriberFormData : Codable
{
    public var formTemplateID:Int?
    public var signupTypeID:Int?
    public var formFields:[SubscriberFormField] = []

    required public init(){}
}

public class SubscriberFormField : Codable
{
    public var name:String?
    public var value:String?

    required public init(){}
}

public class SubscriptionInformation : Codable
{
    public var frequencyID:Int?
    public var subscriptionInvoiceID:Int?
    public var autoRenew:Bool?
    public var hasAgreedToTerms:Bool?
    public var clientSubscriberId:String?
    public var renewedMemberSubscriptionInvID:Int?

    required public init(){}
}

public class ClientVerification : Codable
{
    public var provider:String?
    public var verificationCode:String?

    required public init(){}
}

public class CcPaymentInformation : Codable
{
    public var cardNumber:String?
    public var cvv:String?
    public var expMonth:Int?
    public var expYear:Int?
    public var cardholderName:String?
    public var country:String?
    public var billingAddress:String?
    public var address1:String?
    public var address2:String?
    public var city:String?
    public var stateProvince:String?
    public var postalCode:String?

    required public init(){}
}

public class AchPaymentInformation : Codable
{
    public var accountHolderName:String?
    public var checkNumber:String?
    public var routingNumber:String?
    public var accountNumber:String?
    public var accountType:String?

    required public init(){}
}

public class BillMeLaterInformation : Codable
{
    public var isBillMeLaterPayment:Bool?
    public var isBillMeLaterSubscription:Bool?
    public var memberSubscriptionInvId:Int?
    public var campaigns:[CampaignInformation] = []

    required public init(){}
}

public class CampaignInformation : Codable
{
    public var campaignId:Int?
    public var campaignName:String?
    public var amount:Double?
    public var chapPayID:String?

    required public init(){}
}

public class SubscriptionCreateRs : Codable
{
    public var isSuccess:Bool?
    public var uniqueId:String?
    public var createdDateTime:Date?
    public var clientId:Int?
    public var billhighwayUserId:Int?
    public var confirmationNumber:String?
    public var paymentConfirmationNumber:Int?
    public var subscriptionConfirmationNumber:Int?
    public var errorCode:String?
    public var message:String?
    public var friendlyMessage:String?

    required public init(){}
}


Swift SubscriptionCreateRq DTOs

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

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /signup/api/nat/{natID}/group/{groupID}/subscription HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"NatID":0,"GroupID":0,"ClientGroupID":"String","UserType":"String","UserID":"String","FormData":{"FormTemplateID":0,"SignupTypeID":0,"FormFields":[{"FormTemplateFieldID":0,"Name":"String","Value":"String"}]},"SubscriptionInfo":{"FrequencyID":0,"SubscriptionInvoiceID":0,"AutoRenew":false,"HasAgreedToTerms":false,"ClientSubscriberId":"String","RenewedMemberSubscriptionInvID":0},"VerificationInfo":{"Provider":"String","VerificationCode":"String"},"CcPaymentInfo":{"CardNumber":"String","Cvv":"String","ExpMonth":0,"ExpYear":0,"CardholderName":"String","Country":"String","BillingAddress":"String","Address1":"String","Address2":"String","City":"String","StateProvince":"String","PostalCode":"String"},"AchPaymentInfo":{"AccountHolderName":"String","CheckNumber":"String","RoutingNumber":"String","AccountNumber":"String","AccountType":"String"},"BillMeLater":{"IsBillMeLaterPayment":false,"IsBillMeLaterSubscription":false,"MemberSubscriptionInvId":0,"Campaigns":[{"CampaignId":0,"CampaignName":"String","Amount":0,"ChapPayID":"String"}]},"Campaigns":[{"CampaignId":0,"CampaignName":"String","Amount":0,"ChapPayID":"String"}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"IsSuccess":false,"UniqueId":"String","CreatedDateTime":"0001-01-01T00:00:00.0000000","ClientId":0,"BillhighwayUserId":0,"ConfirmationNumber":"String","PaymentConfirmationNumber":0,"SubscriptionConfirmationNumber":0,"ErrorCode":"String","Message":"String","FriendlyMessage":"String"}