Billhighway Cloud API

<back to all web services

MemberSubscriptionPaymentRq

The following routes are available for this service:
GET/signup/api/memberSubscriptionInvoice/{memberSubscriptionInvoiceID}

export class MemberSubscriptionPaymentRq implements IApiRequest
{
    public MemberSubscriptionInvoiceId?: number;

    public constructor(init?: Partial<MemberSubscriptionPaymentRq>) { (Object as any).assign(this, init); }
}

export class ApiParameter
{
    public Name?: string;
    public Value?: string;

    public constructor(init?: Partial<ApiParameter>) { (Object as any).assign(this, init); }
}

export class CountryInfo
{
    public CountryID?: number;
    public Abbr?: string;
    public FullName?: string;
    public IsoA2?: string;
    public IsoNum?: number;

    public constructor(init?: Partial<CountryInfo>) { (Object as any).assign(this, init); }
}

export class StateInfo
{
    public CountryID?: number;
    public StateID?: number;
    public Abbr?: string;
    public FullName?: string;

    public constructor(init?: Partial<StateInfo>) { (Object as any).assign(this, init); }
}

export class GroupBrandingInfo
{
    public Items?: ApiParameter[];
    public Countries?: CountryInfo[];
    public States?: StateInfo[];

    public constructor(init?: Partial<GroupBrandingInfo>) { (Object as any).assign(this, init); }
}

export class SubscriptionFrequency
{
    public ID?: number;
    public Description?: string;
    public FriendlyDescription?: string;
    public TotalAmount?: number;
    public InstallmentAmount?: number;
    public NumInstallments?: number;

    public constructor(init?: Partial<SubscriptionFrequency>) { (Object as any).assign(this, init); }
}

export class GroupSubscriptionInvoiceItem
{
    public ID?: number;
    public Description?: string;
    public Amount?: number;
    public Frequencies?: SubscriptionFrequency[];

    public constructor(init?: Partial<GroupSubscriptionInvoiceItem>) { (Object as any).assign(this, init); }
}

export class GroupSubscriptionInvoice
{
    public ID?: number;
    public LineageID?: number;
    public TypeID?: number;
    public Description?: string;
    public InvoiceItems?: GroupSubscriptionInvoiceItem[];
    public FrequencyTotals?: SubscriptionFrequency[];
    public ClientSubscriptionTypeID?: string;

    public constructor(init?: Partial<GroupSubscriptionInvoice>) { (Object as any).assign(this, init); }
}

export class GroupSubscriptionInvoiceType
{
    public ID?: number;
    public Name?: string;
    public SubscriptionInvoices?: GroupSubscriptionInvoice[];
    public SubscriptionInvTemplateTypeID?: number;
    public TemplateTypeName?: string;

    public constructor(init?: Partial<GroupSubscriptionInvoiceType>) { (Object as any).assign(this, init); }
}

export class SubscriberFormField
{
    public Name?: string;
    public Value?: string;

    public constructor(init?: Partial<SubscriberFormField>) { (Object as any).assign(this, init); }
}

export class SubscriberForm
{
    public ID?: number;
    public FormTempateID?: number;
    public SubscriptionInvoiceID?: number;
    public SignupTypeID?: number;
    public Fields?: SubscriberFormField[];

    public constructor(init?: Partial<SubscriberForm>) { (Object as any).assign(this, init); }
}

export class CampaignThemeImage
{
    public BackgroundImage?: string;
    public Icon?: string;

    public constructor(init?: Partial<CampaignThemeImage>) { (Object as any).assign(this, init); }
}

export class CampaignTheme
{
    public Id?: number;
    public Name?: string;
    public MainColor?: string;
    public SecondaryColor?: string;
    public iPhone?: CampaignThemeImage;
    public iPhoneRetina?: CampaignThemeImage;

    public constructor(init?: Partial<CampaignTheme>) { (Object as any).assign(this, init); }
}

export class CampaignGoal
{
    public Target?: number;
    public Actual?: number;

    public constructor(init?: Partial<CampaignGoal>) { (Object as any).assign(this, init); }
}

export class Signup
{
    public ShowOnNewMembership?: boolean;
    public ShowOnSignupRenewal?: boolean;
    public ShowOtherAmount?: boolean;

    public constructor(init?: Partial<Signup>) { (Object as any).assign(this, init); }
}

export class CampaignItem
{
    public Id?: number;
    public Name?: string;
    public SubTitle?: string;
    public Description?: string;
    public HasGoal?: boolean;
    public DetailUri?: string;
    public Theme?: CampaignTheme;
    public Goal?: CampaignGoal;
    public Levels?: CampaignLevel[];
    public LogoUrl?: string;
    public HighResolutionLogoUrl?: string;
    public Signup?: Signup;

    public constructor(init?: Partial<CampaignItem>) { (Object as any).assign(this, init); }
}

export class GroupSubscriptionInfo
{
    public BrandingInfo?: GroupBrandingInfo;
    public Subscriptions?: GroupSubscriptionInvoiceType[];
    public FormInfo?: SubscriberForm;
    public Campaigns?: CampaignItem[];

    public constructor(init?: Partial<GroupSubscriptionInfo>) { (Object as any).assign(this, init); }
}

export class Link
{
    public Rel?: string;
    public Url?: string;

    public constructor(init?: Partial<Link>) { (Object as any).assign(this, init); }
}

export class GroupSubscriptionInfoGetRs implements IApiResponse
{
    public SignupInfo?: GroupSubscriptionInfo;
    public Links?: Link[];

    public constructor(init?: Partial<GroupSubscriptionInfoGetRs>) { (Object as any).assign(this, init); }
}

export class CampaignLevel
{
    public Sequence?: number;
    public Amount?: number;
    public Description?: string;

    public constructor(init?: Partial<CampaignLevel>) { (Object as any).assign(this, init); }
}

TypeScript MemberSubscriptionPaymentRq 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.

GET /signup/api/memberSubscriptionInvoice/{memberSubscriptionInvoiceID} HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	SignupInfo: 
	{
		BrandingInfo: 
		{
			Items: 
			[
				{
					Name: String,
					Value: String
				}
			]
		},
		FormInfo: 
		{
			ID: 0,
			FormTempateID: 0,
			SubscriptionInvoiceID: 0,
			SignupTypeID: 0,
			Fields: 
			[
				{
					FormTemplateFieldID: 0,
					Name: String,
					Value: String
				}
			]
		}
	},
	Links: 
	[
		{
			Rel: String,
			Url: String
		}
	]
}