Billhighway Cloud API

<back to all web services

BillMeLaterSubscription

using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BH.CloudAPI.Common4.DTO;
using BH.CloudAPI.Common.DTO;
using BH.CloudAPI.Common4.DTO.SalesForce;
using BH.CloudAPI.Common4.DTO.Subscriptions;

namespace BH.CloudAPI.Common.DTO
{
    public partial class ApiClientHeader
    {
        public virtual int ClientId { get; set; }
        public virtual string Referrer { get; set; }
        public virtual string IpAddress { get; set; }
        public virtual int LoggedInUserId { get; set; }
        public virtual int GroupId { get; set; }
        public virtual string Task { get; set; }
        public virtual string Machine { get; set; }
        public virtual string Location { get; set; }
        public virtual int CreatedBy { get; set; }
        public virtual int CampaignId { get; set; }
        public virtual decimal? ReCaptchaScore { get; set; }
    }

    public partial class BillMeCloudServiceResponse
    {
        public virtual bool IsDuplicate { get; set; }
        public virtual bool IsSuccessful { get; set; }
        public virtual string ErrorCode { get; set; }
        public virtual string Message { get; set; }
        public virtual bool IsError { get; set; }
    }

    public partial class BillMePaymentResult
        : BillMeCloudServiceResponse
    {
        public virtual long TransactionRecordID { get; set; }
    }

}

namespace BH.CloudAPI.Common4.DTO
{
    public partial class BillMeLaterSubscription
    {
        public BillMeLaterSubscription()
        {
            CampaignInfo = new List<CampaignInformation>{};
        }

        public virtual ApiClientHeader Header { get; set; }
        public virtual SubscriptionParameters SubscriptionInfo { get; set; }
        public virtual List<CampaignInformation> CampaignInfo { get; set; }
    }

}

namespace BH.CloudAPI.Common4.DTO.SalesForce
{
    public partial class SubscriberFormField
    {
        public virtual string Name { get; set; }
        public virtual string Value { get; set; }
    }

    public partial class SubscriptionParameters
    {
        public SubscriptionParameters()
        {
            Fields = new List<SubscriberFormField>{};
        }

        public virtual int FormTemplateID { get; set; }
        public virtual int SubscriptionInvoiceID { get; set; }
        public virtual string ClientSubscriberId { get; set; }
        public virtual int SignupTypeID { get; set; }
        public virtual int FrequencyID { get; set; }
        public virtual bool AutoRenew { get; set; }
        public virtual long CompanyID { get; set; }
        public virtual int UserID { get; set; }
        public virtual long ChapMemPayID { get; set; }
        public virtual long MemberSubscriptionInvID { get; set; }
        public virtual List<SubscriberFormField> Fields { get; set; }
        public virtual int CreatedBy { get; set; }
        public virtual int UpdatedBy { get; set; }
        public virtual int AptifyUpdateType { get; set; }
        public virtual long RenewedMemberSubscriptionInvID { get; set; }
        public virtual int ChapId { get; set; }
    }

}

namespace BH.CloudAPI.Common4.DTO.Subscriptions
{
    public partial class CampaignInformation
    {
        public virtual int CampaignId { get; set; }
        public virtual string CampaignName { get; set; }
        public virtual decimal Amount { get; set; }
        public virtual string ChapPayID { get; set; }
    }

}

C# BillMeLaterSubscription 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 /jsv/reply/BillMeLaterSubscription HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Header: 
	{
		ClientId: 0,
		Referrer: String,
		IpAddress: String,
		LoggedInUserId: 0,
		GroupId: 0,
		Task: String,
		Machine: String,
		Location: String,
		CreatedBy: 0,
		CampaignId: 0,
		ReCaptchaScore: 0
	},
	SubscriptionInfo: 
	{
		FormTemplateID: 0,
		SubscriptionInvoiceID: 0,
		ClientSubscriberId: String,
		SignupTypeID: 0,
		FrequencyID: 0,
		AutoRenew: False,
		CompanyID: 0,
		UserID: 0,
		ChapMemPayID: 0,
		MemberSubscriptionInvID: 0,
		Fields: 
		[
			{
				Name: String,
				Value: String
			}
		],
		CreatedBy: 0,
		UpdatedBy: 0,
		AptifyUpdateType: 0,
		RenewedMemberSubscriptionInvID: 0,
		ChapId: 0
	},
	CampaignInfo: 
	[
		{
			CampaignId: 0,
			CampaignName: String,
			Amount: 0,
			ChapPayID: String
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	TransactionRecordID: 0,
	IsDuplicate: False,
	IsSuccessful: False,
	ErrorCode: String,
	Message: String,
	IsError: False
}