| POST | /signup/api/nat/{natID}/group/{groupID}/subscription | ||
|---|---|---|---|
| POST | /signup/api/nat/{natID}/group/{groupID}/{userType}/user/{userID}/subscription |
namespace BH.CloudAPI.Common4.DTO.SalesForce
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type SubscriberFormField() =
member val Name:String = null with get,set
member val Value:String = null with get,set
[<AllowNullLiteral>]
type SubscriberFormData() =
member val FormTemplateID:Int32 = new Int32() with get,set
member val SignupTypeID:Int32 = new Int32() with get,set
member val FormFields:ResizeArray<SubscriberFormField> = new ResizeArray<SubscriberFormField>() with get,set
[<AllowNullLiteral>]
type SubscriptionInformation() =
member val FrequencyID:Int32 = new Int32() with get,set
member val SubscriptionInvoiceID:Int32 = new Int32() with get,set
member val AutoRenew:Boolean = new Boolean() with get,set
member val HasAgreedToTerms:Boolean = new Boolean() with get,set
member val ClientSubscriberId:String = null with get,set
member val RenewedMemberSubscriptionInvID:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type ClientVerification() =
member val Provider:String = null with get,set
member val VerificationCode:String = null with get,set
[<AllowNullLiteral>]
type CcPaymentInformation() =
member val CardNumber:String = null with get,set
member val Cvv:String = null with get,set
member val ExpMonth:Int32 = new Int32() with get,set
member val ExpYear:Int32 = new Int32() with get,set
member val CardholderName:String = null with get,set
member val Country:String = null with get,set
member val BillingAddress:String = null with get,set
member val Address1:String = null with get,set
member val Address2:String = null with get,set
member val City:String = null with get,set
member val StateProvince:String = null with get,set
member val PostalCode:String = null with get,set
[<AllowNullLiteral>]
type AchPaymentInformation() =
member val AccountHolderName:String = null with get,set
member val CheckNumber:String = null with get,set
member val RoutingNumber:String = null with get,set
member val AccountNumber:String = null with get,set
member val AccountType:String = null with get,set
[<AllowNullLiteral>]
type CampaignInformation() =
member val CampaignId:Int32 = new Int32() with get,set
member val CampaignName:String = null with get,set
member val Amount:Decimal = new Decimal() with get,set
member val ChapPayID:String = null with get,set
[<AllowNullLiteral>]
type BillMeLaterInformation() =
member val IsBillMeLaterPayment:Boolean = new Boolean() with get,set
member val IsBillMeLaterSubscription:Boolean = new Boolean() with get,set
member val MemberSubscriptionInvId:Int32 = new Int32() with get,set
member val Campaigns:ResizeArray<CampaignInformation> = new ResizeArray<CampaignInformation>() with get,set
[<AllowNullLiteral>]
type SubscriptionCreateRq() =
member val NatID:Int32 = new Int32() with get,set
member val GroupID:Int32 = new Int32() with get,set
member val ClientGroupID:String = null with get,set
member val UserType:String = null with get,set
member val UserID:String = null with get,set
member val FormData:SubscriberFormData = null with get,set
member val SubscriptionInfo:SubscriptionInformation = null with get,set
member val VerificationInfo:ClientVerification = null with get,set
member val CcPaymentInfo:CcPaymentInformation = null with get,set
member val AchPaymentInfo:AchPaymentInformation = null with get,set
member val BillMeLater:BillMeLaterInformation = null with get,set
member val Campaigns:ResizeArray<CampaignInformation> = new ResizeArray<CampaignInformation>() with get,set
[<AllowNullLiteral>]
type SubscriptionCreateRs() =
member val IsSuccess:Boolean = new Boolean() with get,set
member val UniqueId:String = null with get,set
member val CreatedDateTime:DateTime = new DateTime() with get,set
member val ClientId:Int32 = new Int32() with get,set
member val BillhighwayUserId:Int32 = new Int32() with get,set
member val ConfirmationNumber:String = null with get,set
member val PaymentConfirmationNumber:Int64 = new Int64() with get,set
member val SubscriptionConfirmationNumber:Int64 = new Int64() with get,set
member val ErrorCode:String = null with get,set
member val Message:String = null with get,set
member val FriendlyMessage:String = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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/jsv
Content-Type: text/jsv
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/jsv
Content-Length: length
{
IsSuccess: False,
UniqueId: String,
CreatedDateTime: 0001-01-01,
ClientId: 0,
BillhighwayUserId: 0,
ConfirmationNumber: String,
PaymentConfirmationNumber: 0,
SubscriptionConfirmationNumber: 0,
ErrorCode: String,
Message: String,
FriendlyMessage: String
}