Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BH.CloudAPI.Common4.DTO.SOAP
Imports BH.CloudAPI.Common.DTO.SOAP
Imports BH.CloudAPI.Common
Namespace Global
Namespace BH.CloudAPI.Common
<DataContract(Namespace:="www.billhighway.com/api")>
Public Partial Class LegacyApiResponse
Implements IHaveErrorField
<DataMember>
Public Overridable Property amount As Nullable(Of Decimal)
<DataMember>
Public Overridable Property confirmationNumber As String
<DataMember>
Public Overridable Property responseCode As String
<DataMember>
Public Overridable Property responseDescription As String
<DataMember>
Public Overridable Property resultCode As ResultCode
End Class
Public Enum ResultCode
Success = 0
Duplicate = -7
NotAvailable = -6
NotFound = -5
GeneralError = -4
UnexpectedError = -3
CreditCardDeclined = -2
DataValidationFailure = -1
End Enum
End Namespace
Namespace BH.CloudAPI.Common.DTO.SOAP
<DataContract(Namespace:="www.billhighway.com/api")>
Public Partial Class ccPaymentByGroupResponse
Inherits LegacyApiResponse
<DataMember(Name:="ccPaymentByGroupResult")>
Public Overridable Property Results As SoapArrayList
End Class
Public Partial Class SoapArrayList
Inherits ArrayList
End Class
End Namespace
Namespace BH.CloudAPI.Common4.DTO.SOAP
Public Partial Class ccPaymentByGroup
Inherits ccPaymentByGroup
Implements ICanBeRecurring
End Class
End Namespace
End Namespace
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/ccPaymentByGroup HTTP/1.1
Host: devapi.billhighway.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
apiKey: String,
featureID: 0,
clientID: 0,
groupID: 0,
Amount: 0,
nameOnCard: String,
cardType: String,
cardNumber: String,
expMonth: String,
expYear: String,
cvv: String,
address: String,
city: String,
state: String,
postalCode: String,
email: String,
memo: String,
occurs: String,
numberOfOccurrences: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ccPaymentByGroupResult:
[
0,
0,
0,
String,
String,
0
],
amount: 0,
confirmationNumber: String,
responseCode: String,
responseDescription: String,
resultCode: 0
}