Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BH.CloudAPI.Common4.DTO
Imports BH.CloudAPI.Common.DTO
Imports BH.CloudAPI.Common4.DTO.SalesForce
Imports BH.CloudAPI.Common4.DTO.Subscriptions
Namespace Global
Namespace BH.CloudAPI.Common.DTO
Public Partial Class ApiClientHeader
Public Overridable Property ClientId As Integer
Public Overridable Property Referrer As String
Public Overridable Property IpAddress As String
Public Overridable Property LoggedInUserId As Integer
Public Overridable Property GroupId As Integer
Public Overridable Property Task As String
Public Overridable Property Machine As String
Public Overridable Property Location As String
Public Overridable Property CreatedBy As Integer
Public Overridable Property CampaignId As Integer
Public Overridable Property ReCaptchaScore As Nullable(Of Decimal)
End Class
Public Partial Class BillMeCloudServiceResponse
Public Overridable Property IsDuplicate As Boolean
Public Overridable Property IsSuccessful As Boolean
Public Overridable Property ErrorCode As String
Public Overridable Property Message As String
Public Overridable Property IsError As Boolean
End Class
Public Partial Class BillMePaymentResult
Inherits BillMeCloudServiceResponse
Public Overridable Property TransactionRecordID As Long
End Class
End Namespace
Namespace BH.CloudAPI.Common4.DTO
Public Partial Class BillMeLaterSubscription
Public Sub New()
CampaignInfo = New List(Of CampaignInformation)
End Sub
Public Overridable Property Header As ApiClientHeader
Public Overridable Property SubscriptionInfo As SubscriptionParameters
Public Overridable Property CampaignInfo As List(Of CampaignInformation)
End Class
End Namespace
Namespace BH.CloudAPI.Common4.DTO.SalesForce
Public Partial Class SubscriberFormField
Public Overridable Property Name As String
Public Overridable Property Value As String
End Class
Public Partial Class SubscriptionParameters
Public Sub New()
Fields = New List(Of SubscriberFormField)
End Sub
Public Overridable Property FormTemplateID As Integer
Public Overridable Property SubscriptionInvoiceID As Integer
Public Overridable Property ClientSubscriberId As String
Public Overridable Property SignupTypeID As Integer
Public Overridable Property FrequencyID As Integer
Public Overridable Property AutoRenew As Boolean
Public Overridable Property CompanyID As Long
Public Overridable Property UserID As Integer
Public Overridable Property ChapMemPayID As Long
Public Overridable Property MemberSubscriptionInvID As Long
Public Overridable Property Fields As List(Of SubscriberFormField)
Public Overridable Property CreatedBy As Integer
Public Overridable Property UpdatedBy As Integer
Public Overridable Property AptifyUpdateType As Integer
Public Overridable Property RenewedMemberSubscriptionInvID As Long
Public Overridable Property ChapId As Integer
End Class
End Namespace
Namespace BH.CloudAPI.Common4.DTO.Subscriptions
Public Partial Class CampaignInformation
Public Overridable Property CampaignId As Integer
Public Overridable Property CampaignName As String
Public Overridable Property Amount As Decimal
Public Overridable Property ChapPayID As String
End Class
End Namespace
End Namespace
VB.NET BillMeLaterSubscription DTOs
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 /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
}